Guest User

Rotating Cube Illusion

a guest
Jul 4th, 2011
317
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.94 KB | None | 0 0
  1. frame[\[Theta]_] := Graphics3D[{
  2. FaceForm[], EdgeForm[Directive[Thickness[0.05], Red]],
  3. Cuboid[{0, 0, 0}, {1, 1, 1}]
  4. }, Boxed -> False, ImageSize -> {200/6, 200}, AspectRatio -> 6,
  5. ViewPoint -> {10 Sin[\[Theta]], 10 Cos[\[Theta]], 6.2}];
  6. anim = Table[frame[\[Theta]], {\[Theta], 0, Pi/2, Pi/12}];
  7.  
  8. animData = Map[ImageData[Rasterize[#]] &, anim];
  9.  
  10. n = Length[animData];
  11. h = Length[animData[[1]]];
  12. w = Length[animData[[1]][[1]]];
  13.  
  14. interlacedImage =
  15. Image[Table[
  16. Flatten[Table[animData[[i]][[j]][[k]], {k, w}, {i, n}], 1], {j,
  17. h}]];
  18.  
  19. frame2[t_] :=
  20. Graphics[{
  21. Inset[interlacedImage, {0, 0}, {Left, Bottom}, {n w, 300}],
  22. FaceForm[Black], EdgeForm[],
  23. Table[Rectangle[{i + t,
  24. 0 + 300 Min[0, t] + 300 Min[0, 7 - t]}, {i + 6 + t,
  25. 300 + 300 Min[0, t] + 300 Min[0, 7 - t]}], {i, 0, w n , 7}]
  26. }, ImageSize -> 1.5 {n w, h}, PlotRange -> {{0, n w}, {0, h}}];
  27.  
  28. Manipulate[frame2[t], {t, -1, 8}]
Advertisement
Add Comment
Please, Sign In to add comment