Dancing Spiral of Cubes

Dancing Spiral of Cubes
Loading the math board and drawing, please wait…
2020-05-07 03:42
This example demonstrates a dynamic geometric construction where a series of cubes are arranged along a spiral path and rotate in a dancing motion, creating a visually engaging three-dimensional spiral structure. The core mathematical concepts include parametric equations of space curves, geometric transformations (rotation and translation) of cubes, and sequence generation with animation control. Construction highlights: using GeoGebra commands such as CurveCartesian to define the spiral path, Sequence and Point to generate points along the path, Cube to construct cubes at those points, and Element and Color to style each cube individually, with sliders or animation parameters driving the rotational movement. This example is suitable for high school or undergraduate teaching of solid geometry, parametric equations, and dynamic geometry, as well as for mathematical art demonstrations, helping students intuitively understand the combination of space curves and geometric solids.

GeoGebra Commands & Parameters

  1. CurveCartesian(((r_0 / a^((3 * 3.141592653589793 / 2)) * a^(t)) * cos(t)), ((r_0 / a^((3 * 3.141592653589793 / 2)) * a^(t)) * sin(t)), t, -31.41593, 12.56637) → h
  2. CurveCartesian(((r_0 / a^(3.141592653589793 / 2) * a^(t)) * cos(t)), ((r_0 / a^(3.141592653589793 / 2) * a^(t)) * sin(t)), t, -31.41593, 12.56637) → f
  3. CurveCartesian(((r_0 * a^(t + α)) * cos(t)), ((r_0 * a^(t + α)) * sin(t)), t, -31.41593, (2 * 3.141592653589793) + α) → b
  4. Circle(O, 5.5, xOyPlane) → d
  5. Sequence((x(O) + ((r_0 * a^(t + α)) * cos(t)), y(O) + ((r_0 * a^(t + α)) * sin(t)), z(O) + (0.075 * t)), t, (-4 * π), π + α, π / p) → l1
  6. Sequence(Vector[O, Element[l1, i]], i, 1, Length[l1]) → l2
  7. Point(Circle[B, Distance[A, B], Segment[A, B]]) → C
  8. Cube(A, B, C) → c, D, faceCDHG, faceEFGH, arêteAD, arêteAB, arêteBC, arêteCD, arêteAE, arêteDH, arêteEH, arêteEF, E, arêteBF, arêteFG, arêteCG, arêteGH, F, G, H, faceABCD, faceADHE, faceABFE, faceBCGF
  9. Sequence(Rotate[Translate[c, Vector[Element[l2, i]]], t + ((2 * π) * i / p), Element[l1, i]], i, 1, Length[l2]) → l3
  10. Element(l3, A1) → B1
  11. Element(l3, A2) → B2
  12. Element(l3, A3) → B3
  13. Element(l3, A4) → B4
  14. Element(l3, A5) → B5
  15. Element(l3, A6) → B6
  16. Element(l3, A7) → B7
  17. Element(l3, A8) → B8
  18. Element(l3, A9) → B9
  19. Element(l3, A10) → B10
  20. Element(l3, A11) → B11
  21. Element(l3, A12) → B12
  22. Element(l3, A13) → B13
  23. Element(l3, A14) → B14
  24. Element(l3, A15) → B15
  25. Element(l3, A16) → B16
  26. Element(l3, A17) → B17
  27. Element(l3, A18) → B18
  28. Element(l3, A19) → B19
  29. Element(l3, A20) → B20
  30. Element(l3, A21) → B21
  31. Element(l3, A22) → B22
  32. Element(l3, A23) → B23
  33. Element(l3, A24) → B24
  34. Element(l3, A25) → B25
  35. Element(l3, A26) → B26
  36. Element(l3, A27) → B27
  37. Element(l3, A28) → B28
  38. Element(l3, A29) → B29
  39. Element(l3, A30) → B30
  40. Element(l3, A31) → B31
  41. Element(l3, A32) → B32
  42. Element(l3, A33) → B33
  43. Element(l3, A34) → B34
  44. Element(l3, A35) → B35
  45. Element(l3, A36) → B36
  46. Element(l3, A37) → B37
  47. Element(l3, A38) → B38
  48. Element(l3, A39) → B39
  49. Element(l3, A40) → B40
  50. Element(l3, A41) → B41
  51. Element(l3, A42) → B42
  52. Element(l3, A43) → B43
  53. Element(l3, A44) → B44
  54. Element(l3, A45) → B45
  55. Element(l3, A46) → B46
  56. Element(l3, A47) → B47
  57. Element(l3, A48) → B48
  58. Element(l3, A49) → B49
  59. Element(l3, A50) → B50