Codigo de Inicializacion

DingraphPlot[ plot_,fun_,{tpmin_,tpmax_},{ypmin_,ypmax_},{color1_,color2_,color3_},tp_,opts__] := Module[{fp1,fp2},Show[{


plot,
Graphics[{

{PointSize[Large],color1,Point[{tp,fp1=fun[tp][[1]]}]},
{PointSize[Large],color2,Point[{tp,fp2=fun[tp][[2]]}]},
{PointSize[Medium],color1,Point[{0,fp1}]},
{PointSize[Medium],color2,Point[{0,fp2}]},
{Dashed,color1,Line[{{tpmin,fp1},{tp,fp1}}]},
{Dashed,color2,Line[{{tpmin,fp2},{tp,fp2}}]},
{Dashed,color3,Line[{{tp,ypmin},{tp,ypmax}}]} }]},
PlotRange->{{tpmin,tpmax},{ypmin,ypmax}},GridLines->Automatic,opts]]

tmax=6;
xmin=0 ;
xmax=60 ;
ymin=0 ;
ymax=60 ;
pos[s_] := xi + vi s + ai ((s^2)/2);

Funcion de Manipulacion

Manipulate[







Panel[LocatorPane[Dynamic[ {x0,vri,ari}],
Dynamic@Show[

If[ xi!=x0,
vri=x0+vi;
ari =x0+ai;];
xi=x0;

vi=vri-xi ;
ai=ari-xi ;
If[t==0,
p1 =Plot[{pos[t][[1]],pos[t][[2]]},{t,0, tmax},PlotStyle->{{Thickness[0.015],Green//Darker//Darker},{Thickness[0.015],Green//Darker}},PerformanceGoal->"Speed",PlotRange->{-20,70}];
p2 =Plot[{pos'[t][[1]],pos'[t][[2]]},{t,0, tmax},PlotStyle->{{Thickness[0.015],Blue//Darker//Darker},{Thickness[0.015],Blue//Darker}},PerformanceGoal->"Speed",PlotRange->{-50,50}];


];







{ ParametricPlot[pos[ξ],{ξ,0,3 tmax},PlotPoints->200,PlotStyle->{Thickness[0.005],Darker[Darker[Green]],Opacity[0.3]}] ,Graphics[{


(*Vectors attached to leading dot*)
{Thick,Blue,Arrow[{r=pos[t],r+pos'[t]}]},

{Thick,Red,Arrow[{r,r+ pos''[t]}]},


{PointSize[Large],Green//Darker//Darker,Point[{r[[1]],0}]},
{PointSize[Large],Green//Darker,Point[{0,r[[2]]}]},


(*16 trailing dots*)
Lighter[RGBColor[.6,.73,.36]], 
Table[Disk[pos[Max[t-i 20 tmax/1000,0]],0.7-i 0.3/15],{i,1,16}],

(*Leading dot*)
{Thick, Green//Darker//Darker,Disk[pos[t],1]},
(*Vectors attached to every second trailing dot*)
Table[
ti=Max[t-i 20 tmax/1000,0];
{
If[((showvelocitytrail)&&MemberQ[{2,4,6,8,10,12,14,16},i]),
{Blue,Opacity[1-(i/16)],Arrow[{pos[ti],(pos[ti]+pos'[ti])}]
},{},{}
],
If[((showaccelerationtrail)&&MemberQ[{2,4,6,8,10,12,14,16},i]),
{Red,Opacity[1-(i/16)],Arrow[{pos[ti],(pos[ti]+pos''[ti])}]
},{},{}
]
},{i,1,16}
]
}]},
PlotRange->{{xmin,xmax},{ymin,ymax}},Axes->False,Frame->True,ImageSize->{500,500},GridLines->Automatic,FrameLabel->{"x","y"},If[showvelanimation,Epilog->Inset[ Panel[Show[ Graphics[Table[
ti=Max[t-i 40 tmax/1000,0];
{
If[MemberQ[{0,4,8,12,16},i],
{Blue,Opacity[1-(i/16)],Arrow[{{0,0},(pos'[ti])}]
},{},{}
],
If[MemberQ[{0,4,8,12,16},i],
{Red,If[i==0,Opacity[1-(i/16)],Opacity[0.5]],Arrow[{pos'[ti],(pos'[ti]+pos''[ti]160 tmax/1000)}]
},{},{}
]
},{i,0,16}
]],Frame->True,Axes->False,Background->White,PlotRange->{{-30,30},{-30,30}},GridLines->Automatic,FrameLabel->{"(Subscript[v, x])","(Subscript[v, y])"}]],{48,48},{0,0},25],Epilog->{}]



],Enabled->If[t≠0,False,True],Appearance->None]],


{{t,0,"t"},0,tmax,0.01,Appearance->"Labeled"},
" ",
{{showaccelerationtrail,False},{True,False},None},
{{showvelocitytrail,True},{True,False},None},
{{showvelanimation,False},{True,False},None},
Row[{Panel[Row[{"Animar (OverVector[v])(t)",Spacer[5],Checkbox[Dynamic[showvelanimation]]}]],Spacer[20],Panel[Row[{"Estelas:",Spacer[5],"(OverVector[v])(t)",Checkbox[Dynamic[showvelocitytrail]],Spacer[8],"(OverVector[a])(t)",Checkbox[Dynamic[showaccelerationtrail]]}]]}],

Delimiter,
Text[Style["Condiciones Iniciales" ,Medium,Bold]],
Dynamic@Text[Style["          (Subscript[(OverVector[a]), i]) = "<> ToString[ai[[1]]]<> " i + "<>ToString[ ai[[2]]]<> " j" ,Medium,Bold,Red]],
Dynamic@Text[Style["          (Subscript[(OverVector[v]), i]) = "<> ToString[vi[[1]]]<> " i + "<>ToString[ vi[[2]]]<> " j" <>"           (Subscript[v, i]) = "<> ToString[(Sqrt[vi.vi])]<> ",   θ = "<>ToString[ N[(180/π)ArcTan[vi[[1]],vi[[2]]],2]],Medium,Bold,Blue]],
Dynamic@Text[Style["          (Subscript[(OverVector[r]), i]) = "<> ToString[x0[[1]]]<> " i + "<>ToString[ x0[[2]]]<> " j" ,Medium,Bold, Green//Darker//Darker]],
Delimiter,
Dynamic@Text[Style["Posicion     (OverVector[r])(t) = (Subscript[(OverVector[r]), i]) + (Subscript[(OverVector[v]), i]) t + (1/2)(Subscript[(OverVector[a]), i]) (t^2)   " ,Medium,Bold]],

Dynamic@
DingraphPlot[p1,pos,{0,tmax},{-20,70},{Green//Darker//Darker,Green//Darker,Gray},t,FrameLabel->{"t"," "},Frame->True,ImageSize->300,GridLines->Automatic,AspectRatio->1/2,Prolog->{{Green//Darker//Darker,Thick,Line[{{1.2,55},{2,55}}]},
Text[Style["x(t)",Medium,Bold,Green//Darker//Darker],{1,55}],
{Green//Darker,Thick,Line[{{1.2,48},{2,48}}]},
 Text[Style["y(t)",Medium,Bold,Green//Darker],{1,48}]}],




Dynamic@Text[Style["Velocidad      (OverVector[v])(t) = (Subscript[(OverVector[v]), i]) + (Subscript[(OverVector[a]), i]) t " ,Medium,Bold]],

" ",

Dynamic@DingraphPlot[p2,pos'[#]&,{0,tmax},{-50,50},{Blue//Darker//Darker,Blue//Darker,Gray},t,FrameLabel->{"t"," "},Frame->True,ImageSize->300,GridLines->Automatic,AspectRatio->1/2,

Prolog->{{Blue//Darker//Darker,Thick,Line[{{1.2,40},{2,40}}]},
Text[Style["(Subscript[v, x])(t)",Medium,Bold,Blue//Darker//Darker],{1,40}],
{Blue//Darker,Thick,Line[{{1.2,30},{2,30}}]},
 Text[Style["(Subscript[v, y])(t)",Medium,Bold,Blue//Darker],{1,30}]}],

Delimiter,



AutorunSequencing->{1,2}, ControlPlacement->Left,SaveDefinitions->True,Initialization:> (xi=x0={0,20};vri={15,40};ari={0,10};vi=vri-xi;ai=ari-xi;p1 =Plot[{pos[t][[1]],pos[t][[2]]},{t,0,tmax},PlotStyle->{{Thickness[0.015],Green//Darker//Darker},{Thickness[0.015],Green//Darker}},PerformanceGoal->"Speed",PlotRange->{-20,70}];
p2 =Plot[{pos'[t][[1]],pos'[t][[2]]},{t,0,tmax},PlotStyle->{{Thickness[0.015],Blue//Darker//Darker},{Thickness[0.015],Blue//Darker}},PerformanceGoal->"Speed",PlotRange->{-50,50}];)
]

Animacion

Movimiento Parabolico (Cinematica en dos dimensiones con aceleracion constante). Cuando t=0, la grafica de la trayectoria deja ajustar la posicion inicial (haciendo click en el punto negro), la velocidad inicial (haciendo click en la punta de la flecha azul) y ajustar la aceleracion (haciendo click en la flecha naranja). Las graficas de la izaquierda muestran las componentes de la posicion y velocidad como funcion del tiempo. Los controles de animacion se abren  apretando en el signo "+" al lado de la barra del tiempo.