# Examples of demo curves and surfaces
# line 1: title
# line 2: description.
# line 3: type (and coord).
# line 4: insplot_set
# line 5: formula
# line 6: parms for calling the application.

: plane curve deployment
Una curva piana disegnata progressivamente. (Cicloide)
parametric2D
trange [0:6*pi*s];xrange [0:6*pi];yrange [-1.1:1.1]; size 0.7,0.18
-sin(t)+t notitle,-cos(t) notitle
xsize=500&ysize=100&x1=-sin(t)%2Bt&y1=-cos(t)&tleft=0&tright=6*pi*s&xleft=0&xright=6*pi&yleft=-1.2&yright=1.2

: Cycloid multiple
La cicloide  l'orbita di un  punto su di una circonferenza che rotola lungo una linea retta.  Qui viene evidenziato come questo avvenga, mostrando diverse traccie in una volta.
parametric2D
trange [0:4*pi]; xrange [-1:4*pi+1]; yrange [-1.1:1.1]; size 0.7,0.18
-sin(t)+t,-cos(t) notitle lt 9, t,-1 notitle lt 10,-sin(s*t)+s*t,-cos(s*t) notitle lt 1,-cos(t/2)+4*pi*s,sin(t/2) notitle lt 3,4*pi*s-t*sin(4*pi*s)/(4*pi),-t*cos(4*pi*s)/(4*pi) notitle lt 3,4*pi*s-t*sin(4*pi*s+2*pi/3)/(4*pi),-t*cos(4*pi*s+2*pi/3)/(4*pi) notitle lt 3,4*pi*s-t*sin(4*pi*s-2*pi/3)/(4*pi),-t*cos(4*pi*s-2*pi/3)/(4*pi) notitle lt 3
mtype=expert&aobjcnt=7&xsize=500&ysize=100&set_tics=0&set_zeroaxis=0&xleft=-1&xright=4*pi+1&yleft=-1.2&yright=1.2&tleft=0&tright=4*pi&lt1=9&lt2=10&lt3=1&lt4=3&lt5=3&lt6=3&lt7=3&ltp=2&x1=-sin(t)+t&y1=-cos(t)&x2=t&y2=-1&x3=-sin(s*t)+s*t&y3=-cos(s*t)&x4=cos(t/2)+4*pi*s&y4=sin(t/2)&x5=4*pi*s-t*sin(4*pi*s)/(4*pi)&y5=-t*cos(4*pi*s)/(4*pi)&x6=4*pi*s-t*sin(4*pi*s+2*pi/3)/(4*pi)&y6=-t*cos(4*pi*s+2*pi/3)/(4*pi)&x7=4*pi*s-t*sin(4*pi*s-2*pi/3)/(4*pi)&y7=-t*cos(4*pi*s-2*pi/3)/(4*pi)&points=-sin(4*pi*s)+4*pi*s,-cos(4*pi*s)

: Astroid 4
Con lo stesso principio, l'asteroide (cos^3(t),sin^3(t))  l'orbita di un punto su di una circonferenza di raggio 1/4 che rotola all'interno di una circonferenza fissa di raggio 1.
parametric2D
trange [0:2*pi]; xrange [-1:1]; yrange [-1:1]; size 0.4,0.5
cos(t)^3,sin(t)^3 notitle lt 9,cos(t),sin(t) notitle lt 10,cos(s*t)^3,sin(s*t)^3 notitle lt 1,cos(t)/4+3*cos(2*pi*s)/4,sin(t)/4+3*sin(2*pi*s)/4 notitle lt 3,3*cos(2*pi*s)/4+t*cos(6*pi*s)/(8*pi),3*sin(2*pi*s)/4-t*sin(6*pi*s)/(8*pi) notitle lt 3,3*cos(2*pi*s)/4+t*cos(6*pi*s+2*pi/3)/(8*pi),3*sin(2*pi*s)/4-t*sin(6*pi*s+2*pi/3)/(8*pi) notitle lt 3,3*cos(2*pi*s)/4+t*cos(6*pi*s-2*pi/3)/(8*pi),3*sin(2*pi*s)/4-t*sin(6*pi*s-2*pi/3)/(8*pi) notitle lt 3
mtype=expert&aobjcnt=7&xsize=250&ysize=250&set_tics=0&set_zeroaxis=0&xleft=-1&xright=1&yleft=-1&yright=1&tleft=0&tright=2*pi&lt1=9&lt2=10&lt3=1&lt4=3&lt5=3&lt6=3&lt7=3&ltp=2&x1=cos(t)^3&y1=sin(t)^3&x2=cos(t)&y2=sin(t)&x3=cos(s*t)^3&y3=sin(s*t)^3&x4=cos(t)/4+3*cos(2*pi*s)/4&y4=sin(t)/4+3*sin(2*pi*s)/4&x5=3*cos(2*pi*s)/4+t*cos(6*pi*s)/(8*pi)&y5=3*sin(2*pi*s)/4-t*sin(6*pi*s)/(8*pi)&x6=3*cos(2*pi*s)/4+t*cos(6*pi*s+2*pi/3)/(8*pi)&y6=3*sin(2*pi*s)/4-t*sin(6*pi*s+2*pi/3)/(8*pi)&x7=3*cos(2*pi*s)/4+t*cos(6*pi*s-2*pi/3)/(8*pi)&y7=3*sin(2*pi*s)/4-t*sin(6*pi*s-2*pi/3)/(8*pi)&points=3*cos(2*pi*s)/4+cos(6*pi*s)/4,3*sin(2*pi*s)/4-sin(6*pi*s)/4

: Astroid 3
Abbiamo anche l'asteroide a 3 archi.
parametric2D
trange [0:2*pi]; xrange [-1:1]; yrange [-1:1]; size 0.4,0.5
2*cos(t)/3+cos(2*t)/3,2*sin(t)/3-sin(2*t)/3 notitle lt 9,cos(t),sin(t) notitle lt 10,2*cos(s*t)/3+cos(2*s*t)/3,2*sin(s*t)/3-sin(2*s*t)/3 notitle lt 1,cos(t)/3+2*cos(2*pi*s)/3,sin(t)/3+2*sin(2*pi*s)/3 notitle lt 3,2*cos(2*pi*s)/3+t*cos(4*pi*s)/(6*pi),2*sin(2*pi*s)/3-t*sin(4*pi*s)/(6*pi) notitle lt 3,2*cos(2*pi*s)/3+t*cos(4*pi*s+2*pi/3)/(6*pi),2*sin(2*pi*s)/3-t*sin(4*pi*s+2*pi/3)/(6*pi) notitle lt 3,2*cos(2*pi*s)/3+t*cos(4*pi*s-2*pi/3)/(6*pi),2*sin(2*pi*s)/3-t*sin(4*pi*s-2*pi/3)/(6*pi) notitle lt 3
mtype=expert&aobjcnt=7&xsize=250&ysize=250&set_tics=0&set_zeroaxis=0&xleft=-1&xright=1&yleft=-1&yright=1&tleft=0&tright=2*pi&lt1=9&lt2=10&lt3=1&lt4=3&lt5=3&lt6=3&lt7=3&ltp=2&x1=2*cos(t)/3+cos(2*t)/3&y1=2*sin(t)/3-sin(2*t)/3&x2=cos(t)&y2=sin(t)&x3=2*cos(s*t)/3+cos(2*s*t)/3&y3=2*sin(s*t)/3-sin(2*s*t)/3&x4=cos(t)/3+2*cos(2*pi*s)/3&y4=sin(t)/3+2*sin(2*pi*s)/3&x5=2*cos(2*pi*s)/3+t*cos(4*pi*s)/(6*pi)&y5=2*sin(2*pi*s)/3-t*sin(4*pi*s)/(6*pi)&x6=2*cos(2*pi*s)/3+t*cos(4*pi*s+2*pi/3)/(6*pi)&y6=2*sin(2*pi*s)/3-t*sin(4*pi*s+2*pi/3)/(6*pi)&x7=2*cos(2*pi*s)/3+t*cos(4*pi*s-2*pi/3)/(6*pi)&y7=2*sin(2*pi*s)/3-t*sin(4*pi*s-2*pi/3)/(6*pi)&points=2*cos(2*pi*s)/3+cos(4*pi*s)/3,2*sin(2*pi*s)/3-sin(4*pi*s)/3

: zoom sin(1/x)
Effetto di zoom sul grafico di sin(1/x)
explicit2D cartesian
xrange [-exp(-3*s):exp(-3*s)]; yrange [-2:2]
sin(1/x) notitle
y1=sin(1/x)&xleft=-exp(-3*s)&xright=exp(-3*s)&yleft=-2&yright=2

: tangent cardioid
Una tangente che si muove lungo una curva parametrica piana (cardioide).
parametric2D
trange [-pi:pi]; xrange [-1:3]; yrange [-2:2]
cos(t)*(1+cos(t)),sin(t)*(1+cos(t)) notitle lt 2,-sin(2*pi*s)*(2*cos(2*pi*s)+1)*t/4+cos(2*pi*s)*(1+cos(2*pi*s)),(cos(2*pi*s)^2-sin(2*pi*s)^2+cos(2*pi*s))*t/4+sin(2*pi*s)*(1+cos(2*pi*s)) notitle lt 3
mtype=expert&aobjcnt=2&lt1=2&lt2=3&ltp=10&tleft=-pi&tright=pi&xleft=-1&xright=3&yleft=-2&yright=2&x1=cos(t)*(1+cos(t))&y1=sin(t)*(1+cos(t))&x2=-sin(2*pi*s)*(2*cos(2*pi*s)+1)*t/4+cos(2*pi*s)*(1+cos(2*pi*s))&y2=(cos(2*pi*s)^2-sin(2*pi*s)^2+cos(2*pi*s))*t/4+sin(2*pi*s)*(1+cos(2*pi*s))&points=cos(2*pi*s)*(1+cos(2*pi*s)),sin(2*pi*s)*(1+cos(2*pi*s))

: tangent astroid
La tangente che si muove lungo un asteroide ha una propriet particolare: il segmento della tangente tagliato dai due assi coordinati  di lunghezza costante.
parametric2D
trange [0:1]; xrange [-1.2:1.2]; yrange [-1.2:1.2]; zeroaxis; size 0.4,0.5
cos(2*pi*t)^3,sin(2*pi*t)^3 notitle,cos(2*pi*s)*t,sin(2*pi*s)*(1-t) notitle lt 3,3*cos(2*pi*s)/4+cos(6*pi*s)/4+cos(2*pi*t)*0.02,3*sin(2*pi*s)/4-sin(6*pi*s)/4+sin(2*pi*t)*0.02 notitle lt 10
mtype=expert&aobjcnt=2&xsize=250&ysize=250&set_tics=0&xleft=-1.2&xright=1.2&yleft=-1.2&yright=1.2&tleft=0&tright=1&lt2=3&ltp=10&x1=cos(2*pi*t)^3&y1=sin(2*pi*t)^3&x2=cos(2*pi*s)*t&y2=sin(2*pi*s)*(1-t)&points=3*cos(2*pi*s)/4+cos(6*pi*s)/4,3*sin(2*pi*s)/4-sin(6*pi*s)/4

: traced ellipse
Come una ellisse  tracciata da un punto sul segmento di lunghezza fissa e con le due estremit situate sugli assi di x e y rispettivamente.
parametric2D
trange [0:1]; xrange [-1:1]; yrange [-1:1]; zeroaxis; size 0.4,0.5
3*cos(2*pi*t)/5,2*sin(2*pi*t)/5 notitle lt 9,3*cos(2*pi*s*t)/5,2*sin(2*pi*s*t)/5 notitle lt 1,cos(2*pi*s)*t,sin(2*pi*s)*(1-t) notitle lt 3,3*cos(2*pi*s)/5+0.015*cos(2*pi*t),2*sin(2*pi*s)/5+0.015*sin(2*pi*t) notitle lt 10
mtype=expert&aobjcnt=3&lt1=9&lt2=1&lt3=3&ltp=10&tleft=0&tright=1&xleft=-1&xright=1&yleft=-1&yright=1&x1=3*cos(2*pi*t)/5&y1=2*sin(2*pi*t)/5&x2=3*cos(2*pi*s*t)/5&y2=2*sin(2*pi*s*t)/5&x3=cos(2*pi*s)*t&y3=sin(2*pi*s)*(1-t)&points=3*cos(2*pi*s)/5,2*sin(2*pi*s)/5

: sin cos
Una animazione che illustra le funzioni seno e coseno come posizioni verticali e orizzontali di un punto che si muove su di una circonferenza.
parametric2D
trange [0:1]; xrange [-1:4.2]; yrange [-1:4.2]; zeroaxis; size 0.4,0.5
cos(2*pi*t),sin(2*pi*t) notitle lt 2,t*cos(2*pi*s),t*sin(2*pi*s) notitle lt 1,3*t+1.2 notitle lt 3,sin(-5*pi*t+2*pi*s) notitle lt 3,cos(-5*pi*t+2*pi*s) notitle lt 3,3*t+1.2 notitle lt 3,1.2 notitle lt 2,2.2*t-1 notitle lt 2,2.2*t-1 notitle lt 2,1.2 notitle lt 2,2.2*t-1 notitle lt 9,sin(2*pi*s) notitle lt 9,cos(2*pi*s) notitle lt 9,2.2*t-1 notitle lt 9
mtype=expert&x1=cos(2*pi*t)&lt1=2&y1=sin(2*pi*t)&x2=t*cos(2*pi*s)&lt2=1&y2=t*sin(2*pi*s)&x3=3*t+1.2&lt3=3&y3=sin(-5*pi*t+2*pi*s)&x4=cos(-5*pi*t+2*pi*s)&lt4=3&y4=3*t+1.2&x5=1.2&lt5=2&y5=2.2*t-1&x6=2.2*t-1&lt6=2&y6=1.2&x7=2.2*t-1&lt7=9&y7=sin(2*pi*s)&x8=cos(2*pi*s)&lt8=9&y8=2.2*t-1&tleft=0&tright=1&xleft=-1&xright=4.2&yleft=-1&yright=4.2&xsize=250&ysize=250&speed=5&set_zeroaxis=1&set_loop=1&set_border=0&set_tics=0&set_grid=0&set_transparent=0&points=cos(2*pi*s),sin(2*pi*s),cos(2*pi*s),1.2,1.2,sin(2*pi*s)&ltp=3&aobjcnt=8

: trefle
Trifoglio che ruota e si ingrandisce.
explicit2D polar
xrange [-1.2:1.2];yrange [-1:1]
sin(3*t+2*pi*s)*(cos(2*pi*s)+1)/2 notitle
r1=sin(3*t%2B2*pi*s)*(cos(2*pi*s)%2B1)/2&xleft=-1.2&xright=1.2&yleft=-1&yright=1

: space cubic
Una curva cubica nello spazio.  Estremamente semplice, ma soltanto grazie all'animazione si riesce a capire di cosa si tratti.
parametric3D
 
u notitle,u^2 notitle,u^3 notitle
x1=t&y1=t^2&z1=t^3

: Lissajous
Una figura di Lissajous con una fase ruotante.
parametric2D
trange [0:2*pi]; xrange [-1:1]; yrange [-1:1]
sin(2*t-2*pi*s/3),cos(3*t) notitle
tleft=0&tright=2*pi&x1=sin(2*t-2*pi*s/3)&y1=cos(3*t)

: space Lissajous
La figura di Lissajous precedente  la proiezione di questa curva tridimensionale. (Per vedere come la proiezione funziona, cambiare la formula nel menu e mettete l'angolo di vista uguale a 0.)
parametric3D
urange [0:2*pi]; view 70,s*120
cos(2*u) notitle,sin(2*u) notitle,cos(3*u) notitle
tleft=0&tright=2*pi&x1=cos(2*t)&y1=sin(2*t)&z1=cos(3*t)

: space cubic
Un'altra curva dello spazio, un po' pi complicata: la spirale iperbolica.
parametric3D
urange [-2:2]
sqrt(1+u^2)*cos(3*pi*u) notitle,u notitle,sqrt(1+u^2)*sin(3*pi*u) notitle
x1=sqrt(1+t^2)*cos(3*pi*t)&y1=t&z1=sqrt(1+t^2)*sin(3*pi*t)&tleft=-2&tright=2

: paraboloide
Paraboloide z=ax<sup>2</sup>+by<sup>2</sup>.  Si pu vedere come la superficie si deformi variando a e b.
explicit3DS
 
cos(2*pi*s)*x^2+sin(2*pi*s)*y^2 notitle
z1=cos(2*pi*s)*x^2%2Bsin(2*pi*s)*y^2

: vertical hyperboloide
Deformazione dell'iperboloide x<sup>2</sup>+y<sup>2</sup>+az<sup>2</sup>=1. Verticale.
parametric3DS
view 65,floor(36*s);urange [0:2*pi];xrange [-6:6];yrange [-6:6];zrange [-6:6];isosamples 22
sqrt(v^2+10-15*s)*cos(u) notitle,sqrt(v^2+10-15*s)*sin(u) notitle,v notitle
x1=sqrt(v^2%2B10-15*s)*cos(u)&y1=sqrt(v^2%2B10-15*s)*sin(u)&z1=v&angle2=36*s&tleft=0&tright=2*pi&xleft=-6&xright=6&yleft=-6&yright=6&zleft=-6&zright=6

: horizontal hyperboloide
Deformazione dell'iperboloide x<sup>2</sup>+ay<sup>2</sup>+z<sup>2</sup>=1. Orizzontale.
parametric3DS
urange [0:2*pi];xrange [-6:6];yrange [-6:6];zrange [-6:6];isosamples 22
sqrt(v^2+10-15*s)*cos(u) notitle,v notitle,sqrt(v^2+10-15*s)*sin(u) notitle
x1=sqrt(v^2%2B10-15*s)*cos(u)&y1=v&z1=sqrt(v^2%2B10-15*s)*sin(u)&uleft=0&uright=2*pi&xleft=-6&xright=6&yleft=-6&yright=6&zleft=-6&zright=6

: Moebius 
La striscia di Moebius.
parametric3DS
urange [2*pi*s:(2+2*s)*pi];vrange [-0.4:0.4];zrange [-1:1];view 50,floor(360*s);isosamples 26,6
cos(u)+v*cos(u/2)*cos(u) notitle,sin(u)+v*cos(u/2)*sin(u) notitle,v*sin(u/2) notitle 
x1=cos(u)%2Bv*cos(u/2)*cos(u)&y1=sin(u)%2Bv*cos(u/2)*sin(u)&z1=v*sin(u/2)&uleft=2*pi*s&uright=(2%2B2*s)*pi&vleft=-0.4&vright=0.4&zleft=-1&zright=1&sample1=35&sample2=8

: Riemann surface
Superficie di Riemann a due fogli che si incrociano.
parametric3DS

u^2-v^2 notitle,u*v notitle,v notitle
x1=u^2-v^2&y1=u*v&z1=v

: singular surface 
Superficie con una retta singolare, che assomiglia alla precedente ma che non autointerseca.
parametric3DS

u^2-v^2 notitle, u*v^2 notitle,v notitle
x1=u^2-v^2&y1=u*v^2&z1=v

: surface deform no rotation 
Deformazione di una nell'altra delle due superficie precedenti.  Senza rotazione.
parametric3DS
view 70,70
u^2-v^2 notitle, u*(5*s*v-(1-s)*v^2) notitle,v notitle
x1=u^2-v^2&y1=u*(5*s*v-(1-s)*v^2)&z1=v&angle2=70

: surface deform rotating
Come prima ma con rotazione.
parametric3DS
view 60,floor(250+360*s)%360
u^2-v^2 notitle, u*(5*s*v-(1-s)*v^2) notitle,v notitle
x1=u^2-v^2&y1=u*(5*(1-s)*v-s*v^2)&z1=v&angle1=30

: deform plane cylinder
Un piano si deforma in un cilindro e successivamente si rideforma in un piano nell'altro senso.
parametric3DS
view 60,60;urange [0:2*pi]; vrange [-1:1]; xrange [-1:1]; yrange [-1:1]; zrange [-1:1]
sqrt((2*s-1)*v+0.2)*cos(u) notitle,sqrt((2*s-1)*v+0.2)*sin(u) notitle,(1-(2*s-1)^2)*v notitle
x1=sqrt((2*s-1)*v+0.2)*cos(u)&y1=sqrt((2*s-1)*v+0.2)*sin(u)&z1=(1-(2*s-1)^2)*v&angle1=30&angle2=60&uleft=0&uright=2*pi&vleft=-1&vright=1&xleft=-1&xright=1&yleft=-1&yright=1&zleft=-1&zright=1

