Derivata del vettore velocità nel moto circolare (uniforme e non uniforme) 

Con i cursori si può:
- scegliere l’istante (t) in cui determinare l’accelerazione 
- scegliere l’intervallo di tempo (Δt) su cui calcolare l’accelerazione media
- regolare, col parametro p, la variazione del modulo di v (p=1: moto uniforme)

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 (nero)
- il vettore velocità all’istante t (blu)
- il vettore velocità all’istante t+Δt (blu)
- il vettore variazione di velocità (magenta)
- il vettore accelerazione media (verde)
- il vettore accelerazione istantanea (rosso)
- la coordinata x (verde)
- la coordinata y (arancione)
- la traiettoria

ClearAll[x,y, p];
x[t_,p_]:=Cos[t^p]   (* legge oraria per la coordinata x *)
y[t_,p_]:=Sin[t^p]  (* legge oraria per la coordinata y *)

vx[t_,p_]:=-p (t^(-1+p)) Sin[(t^p)]
vy[t_,p_]:=p (t^(-1+p)) Cos[(t^p)]

ax[t_,p_]:=-p (t^(-2+p)) (p (t^p) Cos[(t^p)]+(-1+p) Sin[(t^p)])
ay[t_,p_]:=p (t^(-2+p)) ((-1+p) Cos[(t^p)]-p (t^p) Sin[(t^p)])

pmin=.1;
pmax=3;
ppasso=.01;

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.0001;  (* valore minimo della variabile t *)
tmax=Pi/2.;  (* valore massimo della variabile t *)
tstart=tmin;  (* valore iniziale della variabile t *)
tpasso=(tmax-tmin)/nstep;

nomeΔt="Δt";
Δtmin=.001;
Δtmax=Pi/2.;
Δtstart=.1;
Δtpasso=(Δtmax-Δtmin)/nstep;


Manipulate[
Show[
If[Traiettoria,ParametricPlot[{x[t1,p],y[t1,p]},{t1,tmin,tmax},PlotRange->{0,xmax},PlotStyle->Dashed],ParametricPlot[{0,0},{t1,tmin,tmax},PlotRange->{0,xmax}]],
Graphics[{PointSize[Large],Point[{x[t3,p],y[t3,p]}]}],
If[X,{Graphics[{Dashed,Green,Line[{{x[t3,p],0},{x[t3,p],y[t3,p]}}]}],
Graphics[{Green,PointSize[Large],Point[{x[t3,p],0}]}]},Graphics[]],
If[Y,{Graphics[{Dashed, Orange,Line[{{0,y[t3,p]},{x[t3,p],y[t3,p]}}]}],
Graphics[{Orange,PointSize[Large],Point[{0,y[t3,p]}]}]},Graphics[]],
If[Posizione1,Graphics[{Arrow[{{0,0},{x[t3,p],y[t3,p]}}]}],Graphics[]],
If[Posizione2,Graphics[{Arrow[{{0,0},{x[t3+Δt,p],y[t3+Δt,p]}}]}],Graphics[]],
(*
If[Δr||Vmedia,Plot[(y[t3+Δt]-y[t3])/(x[t3+Δt]-x[t3])*(x-x[t3])+y[t3] ,{x,0,xmax},PlotRange->{0,xmax},PlotStyle->{Red,Dashed}],Graphics[]],
*)
If[Δr,Graphics[{Arrow[{{x[t3,p],y[t3,p]},{x[t3+Δt,p],y[t3+Δt,p]}}]}],Graphics[]],
If[Δv,Graphics[{Magenta,Arrow[{{x[t3,p]+sc vx[t3,p],y[t3,p]+sc vy[t3,p]},{x[t3,p]+sc vx[t3+Δt,p],y[t3,p]+sc vy[t3+Δt,p]}}]}],Graphics[]],
If[Velocità1,
Graphics[{Blue,Arrow[{{x[t3,p],y[t3,p]},{x[t3,p]+sc vx[t3,p],y[t3,p]+sc vy[t3,p]}}]}],Graphics[]], 
If[Velocità2,
Graphics[{Blue,Arrow[{{x[t3+Δt,p],y[t3+Δt,p]},{x[t3+Δt,p]+sc vx[t3+Δt,p],y[t3+Δt,p]+sc vy[t3+Δt,p]}}]}],Graphics[]],
If[Velocità2,
Graphics[{Blue,Dashed,Arrow[{{x[t3,p],y[t3,p]},{x[t3,p]+sc vx[t3+Δt,p],y[t3,p]+sc vy[t3+Δt,p]}}]}],Graphics[]],
If[amedia,Graphics[{Green,Arrow[{{x[t3,p],y[t3,p]},{x[t3,p]+sc (vx[t3+Δt,p]- vx[t3,p])/Δt,y[t3,p]+sc (vy[t3+Δt,p] -vy[t3,p])/Δt}}]}],Graphics[]],
If[Accelerazione,
Graphics[{Red,Arrow[{{x[t3,p],y[t3,p]},{x[t3,p]+sc ax[t3,p],y[t3,p]+sc ay[t3,p]}}]}],Graphics[]]
],
{{t3,tstart,"t"},tmin,tmax,tpasso},
{{Δt,Δtstart,"Δt"},Δtmin,Δtmax,Δtpasso},
{{Posizione1,False},{True,False}},{{Posizione2,False},{True,False}},{{Δr,False},{True,False}},
{{Velocità1,False},{True,False}},{{Velocità2,False},{True,False}},{{Δv,False},{True,False}},{{amedia,False},{True,False}},{{Accelerazione,False},{True,False}},{{X,False},{True,False}},{{Y,False},{True,False}},{{Traiettoria,False},{True,False}},{{p,1,"p"},pmin,pmax,ppasso},ControlPlacement->Left]