Advertisement
Matthen

Rotating Launch

Jun 26th, 2011
304
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.50 KB | None | 0 0
  1. td = 0.02;
  2. a = 1 - td 4 Pi;
  3. Rsoln[ti_] :=
  4. NDSolve[{x''[t] == -x[t]/(x[t]^2 + y[t]^2)^(3/2),
  5. y''[t] == -y[t]/(x[t]^2 + y[t]^2)^(3/2),
  6. x[0] == Cos[\[Theta][ti]], y[0] == Sin[\[Theta][ti]],
  7. x'[0] == (a - td \[Theta]'[ti]) Sin[\[Theta][ti]],
  8. y'[0] == -(a - td \[Theta]'[ti]) Cos[\[Theta][ti]]}, {x[t],
  9. y[t]}, {t, 0, 10}];
  10. Lsoln[ti_] :=
  11. NDSolve[{x''[t] == -x[t]/(x[t]^2 + y[t]^2)^(3/2),
  12. y''[t] == -y[t]/(x[t]^2 + y[t]^2)^(3/2),
  13. x[0] == Cos[\[Theta][ti]], y[0] == Sin[\[Theta][ti]],
  14. x'[0] == -(a + td \[Theta]'[ti]) Sin[\[Theta][ti]],
  15. y'[0] == (a + td \[Theta]'[ti]) Cos[\[Theta][ti]]}, {x[t],
  16. y[t]}, {t, 0, 10}];
  17.  
  18. \[Theta][t_] :=
  19. If[t < 0, Pi/2,
  20. If[t <= 1, Pi/2 + 2 Pi t^2, 4.5 Pi - 2 Pi (t - 2)^2]];
  21. Manipulate[
  22. lsoln = Rsoln[\[Tau]];
  23. rsoln = Lsoln[\[Tau]];
  24. Show[
  25. ParametricPlot[
  26. First[{x[t], y[t]} /. lsoln /. {t -> tt}], {tt, 0, 0.7},
  27. PlotStyle -> Directive[Thick, Red],
  28. PlotRange -> {{-1.1, 1.1}, {-1.1, 1.1}}, Axes -> None],
  29. ParametricPlot[
  30. First[{x[t], y[t]} /. rsoln /. {t -> tt}], {tt, 0,
  31. 0.7 + 2.8 Max[Min[\[Tau], 2 - \[Tau]], 0]},
  32. PlotStyle -> Directive[Thick, Blue]],
  33. Graphics[{
  34. Point[{Cos[\[Theta][\[Tau]]], Sin[\[Theta][\[Tau]]]}],
  35. FaceForm[RGBColor[0.3, 0.5, 0.8]],
  36. Disk[{0, 0}, 0.9], White,
  37. Table[
  38. Line[{{0, 0},
  39. 0.9 {Cos[\[Theta][\[Tau]] - i],
  40. Sin[\[Theta][\[Tau]] - i]}}], {i, 0, 2 Pi - 0.01, Pi/4}]
  41. }]
  42. ], {\[Tau], -0.2, 2}]
  43. (*it's that easy*)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement