Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (*define r of theta here:*)
- superellipse[\[Theta]_, m_,
- n_] := (Cos[m \[Theta] /4]^(2 n) + Sin[m \[Theta] /4]^(
- 2 n))^(-1/(2 n));
- r[\[Theta]_] := 1/(1 + 0.9 Cos[\[Theta]]);
- r[\[Theta]_] := superellipse[\[Theta], 4, 10];
- y[\[Theta]_] := r[\[Theta]] Sin[\[Theta]];
- x[\[Theta]_] := r[\[Theta]] Cos[\[Theta]];
- angle[\[Theta]_] := ArcTan[x'[\[Theta]], y'[\[Theta]]];
- soln = NDSolve[{xt'[t] == Sqrt[r'[t]^2 + r[t]^2], xt[0] == 0},
- xt[t], {t, 0, 4 Pi}];
- X[tt_] := First[xt[t] /. soln /. {t -> tt}];
- point[t_, tt_] := {X[t], 0} +
- RotationMatrix[-angle[t]].(r[tt] {Cos[tt], Sin[tt]} -
- r[t] {Cos[t], Sin[t]});
- Manipulate[
- Show[Graphics[{PointSize[Medium], Point[point[\[Tau], \[Alpha]]]},
- PlotRange -> {{X[0] - 3, X[4 Pi] + 3}, {-1, 3}},
- ImageSize -> {500}],
- ParametricPlot[point[\[Tau], tt], {tt, 0, 2 Pi},
- PlotStyle -> Darker@Red],
- ParametricPlot[point[tt, \[Alpha]], {tt, 0, \[Tau]},
- PlotStyle -> Red]], {\[Tau], 10^-3, 4 Pi}, {\[Alpha], 0, 2 Pi}]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement