Derivata del vettore posizione 

Con i cursori si può:
- variare i parametri della traiettoria (Ax, ϕx, Ay, ϕy,) per modificarne la forma 
- scegliere l’istante (t) in cui determinare la velocità 
- scegliere l’intervallo di tempo (Δt) su cui calcolare la velocità media

Oltre al punto che si muove nel piano, sono visualizzabili:
- il vettore posizione all’istante t (nero)
- il vettore posizione all’istante t+Δt (nero)
- il vettore spostamento (magenta)
- il vettore velocità media (verde)
- il vettore velocità (blu)
- la coordinata x (verde)
- la coordinata y (arancione)
- la traiettoria

ClearAll[fx,fy];
fx[t_,a11_,a12_]:=a11 Sin[t+a12];   (* legge oraria per la coordinata x, con due parametri liberi *)
fy[t_,a21_,a22_]:=a21 Sin[t+a22 ]; (* legge oraria per la coordinata y, con due parametri liberi *)

nstep=100;   (* numero di valori per cui calcola ciascun parametro *)
xmax=1.1; (* massima coordinata per la visualizzazione *)
sc=.4;      (* fattore di scala per i vettori velocità e accelerazione *)

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

nome11="Ax";   (* dati per il parametro a11 *)
a11min=0;
a11max=1;
a11start=1;
a11passo=(a11max-a11min)/nstep;

nome12="ϕx";   (* dati per il parametro a12 *)
a12min=0;
a12max=2. Pi;
a12start=0;
a12passo=(a12max-a12min)/nstep;

nome21="Ay";    (* dati per il parametro a21 *)
a21min=0;
a21max=1;
a21start=0;
a21passo=(a21max-a21min)/nstep;

nome22="ϕy";    (* dati per il parametro a22 *)
a22min=0;
a22max=2. Pi;
a22start=0;
a22passo=(a22max-a22min)/nstep;

nomeΔt="Δt";
Δtmin=.001;
Δtmax=4;
Δtstart=.5;
Δtpasso=(Δtmax-Δtmin)/nstep;


Manipulate[Show[
If[Traiettoria,ParametricPlot[{fx[t1,ax,fix],fy[t1,ay,fiy]},{t1,tmin,tmax},PlotRange->xmax,PlotStyle->Dashed],ParametricPlot[{0,0},{t1,tmin,tmax},PlotRange->xmax]],
Graphics[{PointSize[Large],Point[{fx[t3,ax,fix],fy[t3,ay,fiy]}]}],
If[X,{Graphics[{Dashed,Green,Line[{{fx[t3,ax,fix],0},{fx[t3,ax,fix],fy[t3,ay,fiy]}}]}],
Graphics[{Green,PointSize[Large],Point[{fx[t3,ax,fix],0}]}]},Graphics[]],
If[Y,{Graphics[{Dashed, Orange,Line[{{0,fy[t3,ay,fiy]},{fx[t3,ax,fix],fy[t3,ay,fiy]}}]}],
Graphics[{Orange,PointSize[Large],Point[{0,fy[t3,ay,fiy]}]}]},Graphics[]],
If[Posizione1,Graphics[{Arrow[{{0,0},{fx[t3,ax,fix],fy[t3,ay,fiy]}}]}],Graphics[]],
If[Posizione2,Graphics[{Arrow[{{0,0},{fx[t3+Δt,ax,fix],fy[t3+Δt,ay,fiy]}}]}],Graphics[]],
If[Δr||Vmedia,Plot[(fy[t3+Δt,ay,fiy]-fy[t3,ay,fiy])/(fx[t3+Δt,ax,fix]-fx[t3,ax,fix])*(x-fx[t3,ax,fix])+fy[t3,ay,fiy] ,{x,-xmax,xmax},PlotRange->{-xmax,xmax},PlotStyle->{Red,Dashed}],Graphics[]],
If[Δr,Graphics[{Cyan,Arrow[{{fx[t3,ax,fix],fy[t3,ay,fiy]},{fx[t3+Δt,ax,fix],fy[t3+Δt,ay,fiy]}}]}],Graphics[]],
If[Vmedia,Graphics[{Green,Arrow[{{fx[t3,ax,fix],fy[t3,ay,fiy]},{fx[t3,ax,fix]+sc(fx[t3+Δt,ax,fix]-fx[t3,ax,fix])/Δt,fy[t3,ay,fiy]+sc(fy[t3+Δt,ay,fiy]-fy[t3,ay,fiy])/Δt}}]}],Graphics[]],
If[Velocità,
Graphics[{Blue,Arrow[{{fx[t3,ax,fix],fy[t3,ay,fiy]},{fx[t3,ax,fix]+sc D[fx[t,ax,fix],t] /. {t->t3},fy[t3,ay,fiy]+sc D[fy[t,ay,fiy],t]/. {t->t3}}}]}],Graphics[]]
],
{{ax,a11start,nome11},a11min,a11max,a11passo},{{fix,1.7 Pi,nome12},a12min,a12max,a12passo},{{ay,0.5,nome21},a21min,a21max,a21passo},{{fiy,a22start,nome22},a22min,a22max,a22passo},
{{t3,tstart,"t"},tmin,tmax,tpasso},
{{Δt,Δtstart,"Δt"},Δtmin,Δtmax,Δtpasso},
{{Posizione1,False},{True,False}},{{Posizione2,False},{True,False}},{{Δr,False},{True,False}},{{Vmedia,False},{True,False}},{{Velocità,False},{True,False}},{{X,False},{True,False}},{{Y,False},{True,False}},{{Traiettoria,False},{True,False}},ControlPlacement->Left]