Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- td = 0.02;
- a = 1 - td 4 Pi;
- Rsoln[ti_] :=
- NDSolve[{x''[t] == -x[t]/(x[t]^2 + y[t]^2)^(3/2),
- y''[t] == -y[t]/(x[t]^2 + y[t]^2)^(3/2),
- x[0] == Cos[\[Theta][ti]], y[0] == Sin[\[Theta][ti]],
- x'[0] == (a - td \[Theta]'[ti]) Sin[\[Theta][ti]],
- y'[0] == -(a - td \[Theta]'[ti]) Cos[\[Theta][ti]]}, {x[t],
- y[t]}, {t, 0, 10}];
- Lsoln[ti_] :=
- NDSolve[{x''[t] == -x[t]/(x[t]^2 + y[t]^2)^(3/2),
- y''[t] == -y[t]/(x[t]^2 + y[t]^2)^(3/2),
- x[0] == Cos[\[Theta][ti]], y[0] == Sin[\[Theta][ti]],
- x'[0] == -(a + td \[Theta]'[ti]) Sin[\[Theta][ti]],
- y'[0] == (a + td \[Theta]'[ti]) Cos[\[Theta][ti]]}, {x[t],
- y[t]}, {t, 0, 10}];
- \[Theta][t_] :=
- If[t < 0, Pi/2,
- If[t <= 1, Pi/2 + 2 Pi t^2, 4.5 Pi - 2 Pi (t - 2)^2]];
- Manipulate[
- lsoln = Rsoln[\[Tau]];
- rsoln = Lsoln[\[Tau]];
- Show[
- ParametricPlot[
- First[{x[t], y[t]} /. lsoln /. {t -> tt}], {tt, 0, 0.7},
- PlotStyle -> Directive[Thick, Red],
- PlotRange -> {{-1.1, 1.1}, {-1.1, 1.1}}, Axes -> None],
- ParametricPlot[
- First[{x[t], y[t]} /. rsoln /. {t -> tt}], {tt, 0,
- 0.7 + 2.8 Max[Min[\[Tau], 2 - \[Tau]], 0]},
- PlotStyle -> Directive[Thick, Blue]],
- Graphics[{
- Point[{Cos[\[Theta][\[Tau]]], Sin[\[Theta][\[Tau]]]}],
- FaceForm[RGBColor[0.3, 0.5, 0.8]],
- Disk[{0, 0}, 0.9], White,
- Table[
- Line[{{0, 0},
- 0.9 {Cos[\[Theta][\[Tau]] - i],
- Sin[\[Theta][\[Tau]] - i]}}], {i, 0, 2 Pi - 0.01, Pi/4}]
- }]
- ], {\[Tau], -0.2, 2}]
- (*it's that easy*)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement