Advertisement
Matthen

Bouncing in a circle- chaos visualisation

Sep 27th, 2012
688
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.03 KB | None | 0 0
  1. g = 0.1; k = 0; TMax = 110; num = 2; vxs = {0.001,
  2. 0.0012}; r = 10; tail = TMax;
  3. f[x_, y_] := Sqrt@(x^2 + y^2);
  4. toColour[{x_, y_}] :=
  5. Darker [Hue[ArcTan[x, y]/(2 Pi)], 0.9 (x^2 + y^2)/r^2];
  6. path[x0_, y0_] := NDSolve[{x'[0] == 0, y'[0] == 0,
  7. x''[t] ==
  8. If[f[x[t], y[t]] > r, -f[x[t], y[t]], 0] x[t]/
  9. Sqrt[x[t]^2 + y[t]^2] - k x'[t],
  10. y''[t] == -g - k y'[t] +
  11. If[f[x[t], y[t]] > r, -f[x[t], y[t]], 0] y[t]/
  12. Sqrt[x[t]^2 + y[t]^2]
  13.  
  14. , x[0] == x0, y[0] == y0}, {x[t], y[t]}, {t, 0, TMax}];
  15.  
  16. paths = Table[path[v], {v, vxs}];
  17. pts = Partition[
  18. Flatten[Table[{x, y}, {x, -r, r, r/15}, {y, -r, r, r/15}]], 2];
  19. pts = Select[pts, 0 < Norm[#] < r &];
  20. cpaths = Table[path[p[[1]], p[[2]]], {p, pts}];
  21. chaos[T_] := Module[{j}, Show[
  22. Graphics[{
  23. PointSize[Large],
  24. Table[
  25. {toColour[First[{x[t], y[t]} /. cpaths[[i]] /. {t -> T}]],
  26. Point[pts[[i]]]}
  27. , {i, Length[cpaths]}]
  28. }
  29. ], ImageSize -> 145
  30. ]
  31. ];
  32. Manipulate[chaos[\[Tau]], {\[Tau], 0, 110}]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement