Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- smoothstep[t_, t0_, t1_] :=
- With[{tt = (t - t0)/(t1 - t0)},
- If[tt < 0, 0, If[tt > 1, 1, 6 tt^5 - 15 tt^4 + 10 tt^3]]];
- smoothstepI[t_, t0_, t1_] :=
- If[(t - t0) (t0 - t1) > 0, 0,
- If[(t - t1) (-t0 + t1) > 0,
- 1/2 (2 (t - t1) + t1 -
- t0), -(((t - t0)^4 (2 t^2 + t0^2 + 2 t (t0 - 3 t1) - 4 t0 t1 +
- 5 t1^2))/(2 (t0 - t1)^5))]];
- dy = 0.1;
- thickness = 0.05;
- dt[\[Omega]1_, \[Omega]2_] :=
- 0.2/(2 \[Pi] Sqrt[\[Omega]1^2 + \[Omega]2^2]);
- fig[\[Omega]1_, \[Omega]2_, t_] := (
- {
- White,
- Thickness[0.01],
- {Opacity[0.8],
- If[\[Omega]1 \[Omega]2 != 0,
- Line[
- If[t < 1,
- Table[
- {Sin[-2 Pi \[Omega]2 tt], Cos[2 Pi \[Omega]2 tt]} Cos[
- 2 Pi \[Omega]1 tt],
- {tt, 0, t, dt[\[Omega]1, \[Omega]2]}
- ],
- Table[
- {Sin[-2 Pi \[Omega]2 tt], Cos[2 Pi \[Omega]2 tt]} Cos[
- 2 Pi \[Omega]1 tt],
- {tt, 1, t - 1, -dt[\[Omega]1, \[Omega]2]}
- ]
- ]
- ]
- ]
- },
- GeometricTransformation[
- {
- EdgeForm[],
- Table[
- {
- Lighter@ColorData["SolarColors"][1. - Abs[Sin[Pi y/2]]],
- Rectangle[{-thickness, y - 0.01}, {thickness, y + dy}]
- },
- {y, -1., 1 - dy, dy}
- ],
- White,
- EdgeForm[Directive[Thickness[0.006], Black]],
- Disk[{0, Cos[2 Pi \[Omega]1 t]}, 4 thickness]
- },
- RotationTransform[2 Pi \[Omega]2 t, {0, 0}]
- ]
- }
- );
- frame[t_] := (
- Show[
- Graphics[{
- White,
- Table[
- GeometricTransformation[
- fig[\[Omega]1, \[Omega]2, t],
- TranslationTransform[{\[Omega]1, \
- -\[Omega]2}].ScalingTransform[0.4 {1, 1}]
- ],
- {\[Omega]1, 0, 5},
- {\[Omega]2, 0, 5}
- ]
- }
- ],
- PlotRange -> {{-1, 6}, {-6, 1}},
- Boxed -> False, Axes -> None,
- Background -> Black,
- ImageSize -> 320
- ]
- );
- Manipulate[
- frame[t],
- {{t, 0.248}, 0, 2}]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement