Una volta avviato il programma nella cella desiderata, aprire il controller della variabile t e far partire l’animazione.

Con i cursori si possono variare i parametri delle due leggi orarie.

Oltre al punto che si muove nel piano, sono visualizzabili:
- il vettore posizione (nero)
- il vettore velocità (blu)
- il vettore accelerazione (rosso)
- la coordinata x (verde)
- la coordinata y (arancione)
- la traiettoria
- gli assi intrinseci della traiettoria
- il vettore accelerazione normale (verde)
- il vettore accelerazione tangenziale (arancione)

Gli intervalli di variabilità dei parametri possono essere cambiati a piacere.

Moto parabolico

ClearAll[fx,fy,vx,vy,ax,ay];

fx[t_,x0_,v0x_]:=x0 +v0x t ;   (* legge oraria per la coordinata x, con due parametri liberi *)
fy[t_,y0_,v0y_]:=y0 +v0y t- 10t^2/2; (* legge oraria per la coordinata y, con due parametri liberi (e g=10)*)

vx[t_,x0_,v0x_]:= D[fx[t1,x0,v0x],t1]/. {t1->t}  ;   (* velocità della coordinata x, con due parametri liberi *)
vy[t_,y0_,v0y_]:= D[fy[t1,y0,v0y],t1]/. {t1->t}  ;   (* velocità della coordinata y, con due parametri liberi *)

modv[t_,x0_,v0x_,y0_,v0y_]:=Sqrt[vx[t,x0,v0x]^2+vy[t,y0,v0y]^2]; (* modulo della velocità *)

ax[t_,x0_,v0x_]:= D[fx[t1,x0,v0x],{t1,2}]/.{t1->t}  ;   (* accelerazione della coordinata x, con due parametri liberi *)
ay[t_,y0_,v0y_]:= D[fy[t1,y0,v0y],{t1,2}]/.{t1->t} ;   (* accelerazione della coordinata y, con due parametri liberi *)

moda[t_,x0_,v0x_,y0_,v0y_]:=Sqrt[ax[t,x0,v0x]^2+ay[t,y0,v0y]^2]; (* modulo dell'accelerazione *)

at[t_,x0_,v0x_,y0_,v0y_]:=D[modv[t1,x0,v0x,y0,v0y],t1]/. {t1->t}  ; (* accelerazione tangenziale *)
an[t_,x0_,v0x_,y0_,v0y_]:=Sqrt[moda[t,x0,v0x,y0,v0y]^2-at[t,x0,v0x,y0,v0y]^2]  ; (* accelerazione normale *)

nstep=1000;   (* numero di valori per cui calcola ciascun parametro *)
xmin=0.;
xmax=1.1; (* massima coordinata per la visualizzazione *)
scv=.1;      (* fattore di scala per il vettore velocità *)
sca=.02;      (* fattore di scala per il vettore accelerazione *)

tmin=0.;  (* valore minimo della variabile t *)
tmax=.95;  (* valore massimo della variabile t *)
tstart=tmin;  (* valore iniziale della variabile t *)
tpasso=(tmax-tmin)/nstep;

var1nome="v0";   (* dati per il parametro var1 *)
var1min=0;
var1max=10.;
var1start=4.5;
var1passo=(var1max-var1min)/nstep;

var2nome="θ";   (* dati per il parametro var2 *)
var2min=0;
var2max=Pi/2.;
var2start=1.30;
var2passo=(var2max-var2min)/nstep;

var3nome="x0";    (* dati per il parametro var3 *)
var3min=0;
var3max=1.;
var3start=0;
var3passo=(var3max-var3min)/nstep;

var4nome="y0";    (* dati per il parametro var4 *)
var4min=0;
var4max=1.;
var4start=0;
var4passo=(var4max-var4min)/nstep;


Manipulate[Show[
If[Traiettoria,ParametricPlot[{fx[t1,x0,v0 Cos[teta]],fy[t1,y0,v0 Sin[teta]]},{t1,tmin,tmax},PlotRange->{xmin,xmax},PlotStyle->Dashed,AxesLabel->{"x","y"}],ParametricPlot[{0,0},{t1,tmin,tmax},PlotRange->{xmin,xmax},AxesLabel->{"x","y"}]],
Graphics[{PointSize[Large],Point[{fx[t3,x0,v0 Cos[teta]],fy[t3,y0,v0 Sin[teta]]}]}],
If[X,{Graphics[{Dashed,Green,Line[{{fx[t3,x0,v0 Cos[teta]],0},{fx[t3,x0,v0 Cos[teta]],fy[t3,y0,v0 Sin[teta]]}}]}],
Graphics[{Green,PointSize[Large],Point[{fx[t3,x0,v0 Cos[teta]],0}]}]},Graphics[]],
If[Y,{Graphics[{Dashed, Orange,Line[{{0,fy[t3,y0,v0 Sin[teta]]},{fx[t3,x0,v0 Cos[teta]],fy[t3,y0,v0 Sin[teta]]}}]}],
Graphics[{Orange,PointSize[Large],Point[{0,fy[t3,y0,v0 Sin[teta]]}]}]},Graphics[]],
If[Posizione,Graphics[{Arrow[{{0,0},{fx[t3,x0,v0 Cos[teta]],fy[t3,y0,v0 Sin[teta]]}}]}],Graphics[]],
If[Velocità,
Graphics[{Blue,Arrow[{{fx[t3,x0,v0 Cos[teta]],fy[t3,y0,v0 Sin[teta]]},{fx[t3,x0,v0 Cos[teta]]+scv vx[t3,x0,v0 Cos[teta]],fy[t3,y0,v0 Sin[teta]]+scv vy[t3,y0,v0 Sin[teta]]}}]
}],Graphics[]],
If[Accelerazione,
Graphics[{Red,
Arrow[{
{fx[t3,x0,v0 Cos[teta]],fy[t3,y0,v0 Sin[teta]]},
{
fx[t3,x0,v0 Cos[teta]]+sca ax[t3,x0,v0 Cos[teta]],fy[t3,y0,v0 Sin[teta]]+sca ay[t3,y0,v0 Sin[teta]]
}
      }]
            }],
Graphics[]
],
If[Intrinseci,{Plot[fy[t3,y0,v0 Sin[teta]]+ (x-fx[t3,x0,v0 Cos[teta]]) If[vx[t3,x0,v0 Cos[teta]]==0,1000,vy[t3,y0,v0 Sin[teta]]/ vx[t3,x0,v0 Cos[teta]]],{x,0,xmax},PlotStyle->Thin],
Plot[fy[t3,y0,v0 Sin[teta]]- (x-fx[t3,x0,v0 Cos[teta]]) If[vy[t3,y0,v0 Sin[teta]]==0,1000,vx[t3,x0,v0 Cos[teta]]/ vy[t3,y0,v0 Sin[teta]]],{x,0,xmax},PlotStyle->Thin],
Graphics[
{Dashed,Magenta,
Arrow[{{fx[t3,x0,v0 Cos[teta]],fy[t3,y0,v0 Sin[teta]]},{fx[t3,x0,v0 Cos[teta]]+sca at[t3,x0,v0 Cos[teta],y0,v0 Sin[teta]]/modv[t3,x0,v0 Cos[teta],y0,v0 Sin[teta]]vx[t3,x0,v0 Cos[teta]],fy[t3,y0,v0 Sin[teta]]+sca at[t3,x0,v0 Cos[teta],y0,v0 Sin[teta]]/modv[t3,x0,v0 Cos[teta],y0,v0 Sin[teta]]vy[t3,y0,v0 Sin[teta]]}}]
}
],
Graphics[
{Dashed,Green,
Arrow[{{fx[t3,x0,v0 Cos[teta]],fy[t3,y0,v0 Sin[teta]]},{fx[t3,x0,v0 Cos[teta]]+sca an[t3,x0,v0 Cos[teta],y0,v0 Sin[teta]]/modv[t3,x0,v0 Cos[teta],y0,v0 Sin[teta]]vy[t3,x0,v0 Sin[teta]],fy[t3,y0,v0 Sin[teta]]-sca an[t3,x0,v0 Cos[teta],y0,v0 Sin[teta]]/modv[t3,x0,v0 Cos[teta],y0,v0 Sin[teta]]vx[t3,y0,v0 Cos[teta]]}}]
}
]
},ParametricPlot[{0,0},{t1,tmin,tmax},PlotRange->{xmin,xmax}]]
] ,
{{t3,tstart,"t"},tmin,tmax,tpasso},
{{v0,var1start,var1nome},var1min,var1max,var1passo},
{{teta,var2start,var2nome},var2min,var2max,var2passo},
{{x0,var3start,var3nome},var3min,var3max,var3passo},
{{y0,var4start,var4nome},var4min,var4max,var4passo},
{{X,False},{True,False}},
{{Y,False},{True,False}},
{{Posizione,False},{True,False}},
{{Traiettoria,False},{True,False}},
{{Velocità,False},{True,False}},
{{Accelerazione,False},{True,False}},
{{Intrinseci,False},{True,False}},
ControlPlacement->Left]