Una funzione
y=f(x)
definita nell’intervallo delle x: (ox, ox+L)
si traduce nel linguaggio GDL:
n= !numero di suddivisioni dell’intervallo: n+1 punti, n segmenti
for i=0 to n-1
line2 ox+L/n*i, f(ox+L/n*i ) ,
ox+L/n*(i+1), f(ox+L/n*(i+1) )
next i
Costruiamo la parabola nella sua forma più semplice: y=x^2 con intervallo di definizione (-L/2,L/2)
La traduzione in GDL:
n= !numero di suddivisioni dell’intervallo: n+1 punti, n segmenti
L= !ampiezza intervallo
for i=0 to n-1
line2 -L/2+L/n*i, (-L/2+L/n*i)^2,
-L/2+L/n*(i+1), (-L/2+L/n*(i+1))^2
next i
Consideriamo ora la cissoide (Guido Zappa, geometria analitica e proiettiva,1956, Roma, pag.93)
La cissoide si compone di due rami, ovvero di due funzioni di equazione:
y=x*sqr(x/(2*r-x)) e y=-x*sqr(x/(2*r-x)) con intervallo di definizione (0,L), L<2*r
La traduzione in GDL:
n= !numero di suddivisioni dell’intervallo: n+1 punti, n segmenti
r= !raggio crf che genera la cissoide
L= !larghezza intervallo<2*r
for i=0 to n-1
line2 L/n*i, L/n*i*sqr( (L/n*i)/(2*r- L/n*i)),
L/n*(i+1), L/n*(i+1)*sqr( (L/n*(i+1))/(2*r- L/n*(i+1)))
next i !ramo y+
for i=0 to n-1
line2 L/n*i, -L/n*i*sqr( (L/n*i)/(2*r- L/n*i)),
L/n*(i+1), -L/n*(i+1)*sqr( (L/n*(i+1))/(2*r- L/n*(i+1)))
next i !ramo y-
L’iperbole (Zappa, op.cit., pag.71) ha equazione:
y=b/a*sqr(x^2-a^2) (parte su y+)
y=-b/a*sqr(x^2-a^2) (parte su y-)
con asintoti y=-b/a, y=b/a; vertici in (-a,0),(a,0); fuochi in (-sqr(a^2+b^2), sqr(a^2+b^2) )
definita in (-L-a,-a) che è il ramo di sinistra e in (a,L+a) che è il ramo di destra.
La traduzione in GDL:
n= !numero di suddivisione degli intervalli
a= !distanza vertice da O
an= !angolo asintoto rispetto x: an=atn(b/a), b=a*tan(an), b/a= tan(an)
L= !larghezza intervallo
for i=0 to n-1
line2 a+L/n*i, tan(an)*sqr((a+L/n*i)^2-a^2),
a+L/n*(i+1), tan(an)*sqr((a+L/n*(i+1))^2-a^2)
next i !ramo x+, parte y+
for i=0 to n-1
line2 a+L/n*i, -tan(an)*sqr((a+L/n*i)^2-a^2),
a+L/n*(i+1), -tan(an)*sqr((a+L/n*(i+1))^2-a^2)
next i !ramo x+, parte y-
for i=0 to n-1
line2 -a-L/n*i, tan(an)*sqr((a+L/n*i)^2-a^2),
-a-L/n*(i+1), tan(an)*sqr((a+L/n*(i+1))^2-a^2)
next i !ramo x-, parte y+
for i=0 to n-1
line2 -a-L/n*i, -tan(an)*sqr((a+L/n*i)^2-a^2),
-a-L/n*(i+1), -tan(an)*sqr((a+L/n*(i+1))^2-a^2)
next i !ramo x-, parte y-
L’ellisse ha equazione:
y=b/a*sqr(a^2- x^2) (parte su y+)
y=-b/a*sqr(a^2- x^2) (parte su y-)
vertici in (-a,0),(a,0); fuochi in (-sqr(a^2-b^2), sqr(a^2-b^2) ) con a>b (asse maggiore su x)
definita in (-L/2,L/2), con L=2*a.
La traduzione in GDL:
n= !numero di suddivisione degli intervalli
a= !semiasse maggiore
b= !semiasse minore: b<=a, se b=a di ha crf
L=2*a
for i=0 to n-1
line2 -L/2+L/n*i, b/a*sqr(abs(a^2-(-L/2+L/n*i)^2)),
-L/2+L/n*(i+1), b/a*sqr (abs (a^2-(-L/2+L/n*(i+1))^2))
next i !parte y+
for i=0 to n-1
line2 -L/2+L/n*i, -b/a*sqr(abs(a^2-(-L/2+L/n*i)^2)),
-L/2+L/n*(i+1), -b/a*sqr (abs (a^2-(-L/2+L/n*(i+1))^2))
next i !parte y-
Nota: l’ espressione abs (valore assoluto) è stata inserita per essere certi che i radicandi non siano negativi