Regelmäßiges N-Eck?
Optionen
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Direktlink dieser Nachricht
- Anstößigen Inhalt melden
am 2003-09-19 09:03 AM
2003-09-19
09:03 AM
Hallo,
wie kann ich denn ein regelmäßiges, sagen wir 8-Eck zeichnen (reine 2D-Linien genügen)? In unserem bisherigen Programm gab's da so einen schicken Befehl, wo ich nur noch die Anzahl der Ecken angeben musste, und päng...Geht sowas auch mit AC?
wie kann ich denn ein regelmäßiges, sagen wir 8-Eck zeichnen (reine 2D-Linien genügen)? In unserem bisherigen Programm gab's da so einen schicken Befehl, wo ich nur noch die Anzahl der Ecken angeben musste, und päng...Geht sowas auch mit AC?
Statt zu klagen, dass wir nicht alles haben, was wir wollen, sollten wir lieber dankbar sein, dass wir nicht alles bekommen, was wir verdienen. (Dieter Hildebrandt)
24 ANTWORTEN 24
Anonymous
Nicht anwendbar
Optionen
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Direktlink dieser Nachricht
- Anstößigen Inhalt melden
am 2003-09-22 01:07 PM
2003-09-22
01:07 PM
Und weils so schön ist:
Mit Schraffur:
3 zusätzliche Parameter erzeugen:
Name,Typ,Beschreibung:
Schraffur,fill,"Hintergrundschraffur"
StiftS,pen,"Schraffurstift"
StiftH,pen,"Hintergrundstift"
Und dann den Code im Masterskript ändern:
</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Code:</font><hr /><pre style="font-size:x-small; font-family: monospace;">n=max(n,3)
parameters b=a
b=a
if GLOB_CONTEXT=5 then lock "b"
if Schraffur then fill Schraffur
w=360/n
v=(180-w)/2
l=sin(w)*a/2/sin(v)
hotspot2 0,0
hotspot2 -a/2,0
add2 a/2,0
rot2 180-v
for i=1 to n
if StiftS and Schraffur then
poly2_B 3,1+2+4, StiftS,StiftH, a/2*cos(v),a/2*sin(v),0, 0,0,1, l,0,0
else
line2 0,0,l,0
endif
hotspot2 0,0
add2 l,0
rot2 w
next i
Mit Schraffur:
3 zusätzliche Parameter erzeugen:
Name,Typ,Beschreibung:
Schraffur,fill,"Hintergrundschraffur"
StiftS,pen,"Schraffurstift"
StiftH,pen,"Hintergrundstift"
Und dann den Code im Masterskript ändern:
</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Code:</font><hr /><pre style="font-size:x-small; font-family: monospace;">n=max(n,3)
parameters b=a
b=a
if GLOB_CONTEXT=5 then lock "b"
if Schraffur then fill Schraffur
w=360/n
v=(180-w)/2
l=sin(w)*a/2/sin(v)
hotspot2 0,0
hotspot2 -a/2,0
add2 a/2,0
rot2 180-v
for i=1 to n
if StiftS and Schraffur then
poly2_B 3,1+2+4, StiftS,StiftH, a/2*cos(v),a/2*sin(v),0, 0,0,1, l,0,0
else
line2 0,0,l,0
endif
hotspot2 0,0
add2 l,0
rot2 w
next i
Optionen
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Direktlink dieser Nachricht
- Anstößigen Inhalt melden
am 2003-09-22 03:11 PM
2003-09-22
03:11 PM
hi ove,
lese gerade begeistert die gdl programmierung von dem n-eck,
aber jetzt fehlt noch dass ich die schraffur ein oder ausschalten kann, und dass ich mir die art der schraffur wählen kann
surb;-)
lese gerade begeistert die gdl programmierung von dem n-eck,
aber jetzt fehlt noch dass ich die schraffur ein oder ausschalten kann, und dass ich mir die art der schraffur wählen kann
surb;-)
Optionen
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Direktlink dieser Nachricht
- Anstößigen Inhalt melden
am 2003-09-22 03:26 PM
2003-09-22
03:26 PM
so, hier ist noch einer:
... mein erster fastgleichgeklappter put versuch (stolzstrahlend)
</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Code:</font><hr /><pre style="font-size:x-small; font-family: monospace;">n=max(n,3)
parameters b=a
b=a
if GLOB_CONTEXT=5 then lock "b"
w=360/n
wn = 0
for i = 1 to n
put cos(wn)*a,sin(wn)*a,1
wn = wn+w
next i
put cos(0)*a,sin(0)*a,-1
fill schraffur ! schraffur ist ein Parameter Schraffurfüllmuster
!!pen stiftu ! stiftu = Stift für die Umrandung (kann man weglassen)
poly2_B n+1, 3, stifts, stifth, !stifts = Schraffurlinienstift, stifth = Hintergrundfarbe
get (nsp)
hotspot2 0,0
hotspot2 a,0
:winken: :winken: :winken:
grad noch bisschen verbessert
[ 22. September 2003, 15:35: Beitrag editiert von: zzyzx ]
... mein erster fastgleichgeklappter put versuch (stolzstrahlend)
</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Code:</font><hr /><pre style="font-size:x-small; font-family: monospace;">n=max(n,3)
parameters b=a
b=a
if GLOB_CONTEXT=5 then lock "b"
w=360/n
wn = 0
for i = 1 to n
put cos(wn)*a,sin(wn)*a,1
wn = wn+w
next i
put cos(0)*a,sin(0)*a,-1
fill schraffur ! schraffur ist ein Parameter Schraffurfüllmuster
!!pen stiftu ! stiftu = Stift für die Umrandung (kann man weglassen)
poly2_B n+1, 3, stifts, stifth, !stifts = Schraffurlinienstift, stifth = Hintergrundfarbe
get (nsp)
hotspot2 0,0
hotspot2 a,0
:winken: :winken: :winken:
grad noch bisschen verbessert
[ 22. September 2003, 15:35: Beitrag editiert von: zzyzx ]
Optionen
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Direktlink dieser Nachricht
- Anstößigen Inhalt melden
am 2003-09-22 03:33 PM
2003-09-22
03:33 PM
@ surb:
du musst noch - zusätzlich zu n - drei weitere parameter einbauen:
schraffur (ist das Schraffurmuster)
stifts (ist der Stift für die Schraffurlinien)
stifth (ist die Hintergrundfarbe)
😛
du musst noch - zusätzlich zu n - drei weitere parameter einbauen:
schraffur (ist das Schraffurmuster)
stifts (ist der Stift für die Schraffurlinien)
stifth (ist die Hintergrundfarbe)
😛
Optionen
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Direktlink dieser Nachricht
- Anstößigen Inhalt melden
am 2003-09-22 03:51 PM
2003-09-22
03:51 PM
jetzt noch das Ganze mit Fangpunkten:
</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Code:</font><hr /><pre style="font-size:x-small; font-family: monospace;">n=max(n,3)
parameters b=a
b=a
if GLOB_CONTEXT=5 then lock "b"
w=360/n
wn = 0
for i = 1 to n
put cos(wn)*a,sin(wn)*a,1
wn = wn+w
next i
put cos(0)*a,sin(0)*a,-1
fill schraffur ! schraffur ist das Schraffurfüllmuster
if stiftu = 0 then stiftu = 1
pen stiftu ! stiftu = Stift für die Umrandung (kann man weglassen)
poly2_B n+1, 3, stifts, stifth, !stifts = Schraffurlinienstift, stifth = Hintergrundfarbe
use (nsp)
hotspot2 0,0
hotspot2 a,0
for ii = 1 to 3
trash = get (1)
next ii
for iii = 2 to n
hotspot2 get (2)
trash = get (1)
next iii
da man die ganzen mühsam errechneten ja noch für die Fangpunkte braucht, habe ich 'get' durch 'use' ersetzt (der 'get' löscht die Werte aus der Liste!)
die Variable 'trash' wird verwendet, um einen unnötigen Eintrag im Parameterspeicher zu löschen (nämlich den maskwert 1, den man für das Polygon benötigt hat)
[ 22. September 2003, 15:59: Beitrag editiert von: zzyzx ]
</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Code:</font><hr /><pre style="font-size:x-small; font-family: monospace;">n=max(n,3)
parameters b=a
b=a
if GLOB_CONTEXT=5 then lock "b"
w=360/n
wn = 0
for i = 1 to n
put cos(wn)*a,sin(wn)*a,1
wn = wn+w
next i
put cos(0)*a,sin(0)*a,-1
fill schraffur ! schraffur ist das Schraffurfüllmuster
if stiftu = 0 then stiftu = 1
pen stiftu ! stiftu = Stift für die Umrandung (kann man weglassen)
poly2_B n+1, 3, stifts, stifth, !stifts = Schraffurlinienstift, stifth = Hintergrundfarbe
use (nsp)
hotspot2 0,0
hotspot2 a,0
for ii = 1 to 3
trash = get (1)
next ii
for iii = 2 to n
hotspot2 get (2)
trash = get (1)
next iii
da man die ganzen mühsam errechneten ja noch für die Fangpunkte braucht, habe ich 'get' durch 'use' ersetzt (der 'get' löscht die Werte aus der Liste!)
die Variable 'trash' wird verwendet, um einen unnötigen Eintrag im Parameterspeicher zu löschen (nämlich den maskwert 1, den man für das Polygon benötigt hat)
[ 22. September 2003, 15:59: Beitrag editiert von: zzyzx ]
- « Vorherige
- Nächste »
- « Vorherige
- Nächste »