Rotating Launch

By: Matthen on Jun 26th, 2011  |  syntax: None  |  size: 1.50 KB  |  hits: 126  |  expires: Never
download  |  raw  |  embed  |  report abuse
Copied
  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*)