Dancing Cubes on Torus Knots

Dancing Cubes on Torus Knots
Loading the math board and drawing, please wait…
2018-10-22 18:26
This example demonstrates the dynamic transformation of cubes on torus knots. It involves key mathematical concepts such as cubes, coordinate geometry, and transformations. Using GeoGebra commands like Point, Cube, CurveCartesian, and Rotate, the dynamic trajectory of cubes on torus knots can be constructed. Suitable for high school or university geometry and transformation courses.

GeoGebra Commands & Parameters

  1. Point(Circle[B, Distance[A, B], Segment[A, B]]) → C
  2. Cube(A, B, C) → a, D, faceCDHG, faceEFGH, edgeAD, edgeAB, edgeBC, edgeCD, edgeAE, edgeDH, edgeEH, edgeEF, E, edgeBF, edgeFG, edgeCG, edgeGH, F, G, H, faceABCD, faceADHE, faceABFE, faceBCGF
  3. CurveCartesian(((2 + cos((((q * i) * 2) * π))) * cos((((p * i) * 2) * π))), ((2 + cos((((q * i) * 2) * π))) * sin((((p * i) * 2) * π))), sin((((q * i) * 2) * π)), i, 0, 1) → knot
  4. Rotate(Translate[a, Vector[(0, 0, 0), knot(0 / n)]], t + 0, knot(0 / n)) → A0
  5. Rotate(Translate[a, Vector[(0, 0, 0), knot(1 / n)]], t + 1, knot(1 / n)) → A1
  6. Rotate(Translate[a, Vector[(0, 0, 0), knot(2 / n)]], t + 2, knot(2 / n)) → A2
  7. Rotate(Translate[a, Vector[(0, 0, 0), knot(3 / n)]], t + 3, knot(3 / n)) → A3
  8. Rotate(Translate[a, Vector[(0, 0, 0), knot(4 / n)]], t + 4, knot(4 / n)) → A4
  9. Rotate(Translate[a, Vector[(0, 0, 0), knot(5 / n)]], t + 5, knot(5 / n)) → A5
  10. Rotate(Translate[a, Vector[(0, 0, 0), knot(6 / n)]], t + 6, knot(6 / n)) → A6
  11. Rotate(Translate[a, Vector[(0, 0, 0), knot(7 / n)]], t + 7, knot(7 / n)) → A7
  12. Rotate(Translate[a, Vector[(0, 0, 0), knot(8 / n)]], t + 8, knot(8 / n)) → A8
  13. Rotate(Translate[a, Vector[(0, 0, 0), knot(9 / n)]], t + 9, knot(9 / n)) → A9
  14. Rotate(Translate[a, Vector[(0, 0, 0), knot(10 / n)]], t + 10, knot(10 / n)) → A10
  15. Rotate(Translate[a, Vector[(0, 0, 0), knot(11 / n)]], t + 11, knot(11 / n)) → A11
  16. Rotate(Translate[a, Vector[(0, 0, 0), knot(12 / n)]], t + 12, knot(12 / n)) → A12
  17. Rotate(Translate[a, Vector[(0, 0, 0), knot(13 / n)]], t + 13, knot(13 / n)) → A13
  18. Rotate(Translate[a, Vector[(0, 0, 0), knot(14 / n)]], t + 14, knot(14 / n)) → A14
  19. Rotate(Translate[a, Vector[(0, 0, 0), knot(15 / n)]], t + 15, knot(15 / n)) → A15
  20. Rotate(Translate[a, Vector[(0, 0, 0), knot(16 / n)]], t + 16, knot(16 / n)) → A16
  21. Rotate(Translate[a, Vector[(0, 0, 0), knot(17 / n)]], t + 17, knot(17 / n)) → A17
  22. Rotate(Translate[a, Vector[(0, 0, 0), knot(18 / n)]], t + 18, knot(18 / n)) → A18
  23. Rotate(Translate[a, Vector[(0, 0, 0), knot(19 / n)]], t + 19, knot(19 / n)) → A19
  24. Rotate(Translate[a, Vector[(0, 0, 0), knot(20 / n)]], t + 20, knot(20 / n)) → A20
  25. Rotate(Translate[a, Vector[(0, 0, 0), knot(21 / n)]], t + 21, knot(21 / n)) → A21
  26. Rotate(Translate[a, Vector[(0, 0, 0), knot(22 / n)]], t + 22, knot(22 / n)) → A22
  27. Rotate(Translate[a, Vector[(0, 0, 0), knot(23 / n)]], t + 23, knot(23 / n)) → A23
  28. Rotate(Translate[a, Vector[(0, 0, 0), knot(24 / n)]], t + 24, knot(24 / n)) → A24
  29. Rotate(Translate[a, Vector[(0, 0, 0), knot(25 / n)]], t + 25, knot(25 / n)) → A25
  30. Rotate(Translate[a, Vector[(0, 0, 0), knot(26 / n)]], t + 26, knot(26 / n)) → A26
  31. Rotate(Translate[a, Vector[(0, 0, 0), knot(27 / n)]], t + 27, knot(27 / n)) → A27
  32. Rotate(Translate[a, Vector[(0, 0, 0), knot(28 / n)]], t + 28, knot(28 / n)) → A28
  33. Rotate(Translate[a, Vector[(0, 0, 0), knot(29 / n)]], t + 29, knot(29 / n)) → A29
  34. Rotate(Translate[a, Vector[(0, 0, 0), knot(30 / n)]], t + 30, knot(30 / n)) → A30
  35. Rotate(Translate[a, Vector[(0, 0, 0), knot(31 / n)]], t + 31, knot(31 / n)) → A31
  36. Rotate(Translate[a, Vector[(0, 0, 0), knot(32 / n)]], t + 32, knot(32 / n)) → A32
  37. Rotate(Translate[a, Vector[(0, 0, 0), knot(33 / n)]], t + 33, knot(33 / n)) → A33
  38. Rotate(Translate[a, Vector[(0, 0, 0), knot(34 / n)]], t + 34, knot(34 / n)) → A34
  39. Rotate(Translate[a, Vector[(0, 0, 0), knot(35 / n)]], t + 35, knot(35 / n)) → A35
  40. Rotate(Translate[a, Vector[(0, 0, 0), knot(36 / n)]], t + 36, knot(36 / n)) → A36
  41. Rotate(Translate[a, Vector[(0, 0, 0), knot(37 / n)]], t + 37, knot(37 / n)) → A37
  42. Rotate(Translate[a, Vector[(0, 0, 0), knot(38 / n)]], t + 38, knot(38 / n)) → A38
  43. Rotate(Translate[a, Vector[(0, 0, 0), knot(39 / n)]], t + 39, knot(39 / n)) → A39
  44. Rotate(Translate[a, Vector[(0, 0, 0), knot(40 / n)]], t + 40, knot(40 / n)) → A40
  45. Rotate(Translate[a, Vector[(0, 0, 0), knot(41 / n)]], t + 41, knot(41 / n)) → A41
  46. Rotate(Translate[a, Vector[(0, 0, 0), knot(42 / n)]], t + 42, knot(42 / n)) → A42
  47. Rotate(Translate[a, Vector[(0, 0, 0), knot(43 / n)]], t + 43, knot(43 / n)) → A43
  48. Rotate(Translate[a, Vector[(0, 0, 0), knot(44 / n)]], t + 44, knot(44 / n)) → A44
  49. Rotate(Translate[a, Vector[(0, 0, 0), knot(45 / n)]], t + 45, knot(45 / n)) → A45
  50. Rotate(Translate[a, Vector[(0, 0, 0), knot(46 / n)]], t + 46, knot(46 / n)) → A46
  51. Rotate(Translate[a, Vector[(0, 0, 0), knot(47 / n)]], t + 47, knot(47 / n)) → A47
  52. Rotate(Translate[a, Vector[(0, 0, 0), knot(48 / n)]], t + 48, knot(48 / n)) → A48
  53. Rotate(Translate[a, Vector[(0, 0, 0), knot(49 / n)]], t + 49, knot(49 / n)) → A49
  54. Rotate(Translate[a, Vector[(0, 0, 0), knot(50 / n)]], t + 50, knot(50 / n)) → A50
  55. Rotate(Translate[a, Vector[(0, 0, 0), knot(51 / n)]], t + 51, knot(51 / n)) → A51
  56. Rotate(Translate[a, Vector[(0, 0, 0), knot(52 / n)]], t + 52, knot(52 / n)) → A52
  57. Rotate(Translate[a, Vector[(0, 0, 0), knot(53 / n)]], t + 53, knot(53 / n)) → A53
  58. Rotate(Translate[a, Vector[(0, 0, 0), knot(54 / n)]], t + 54, knot(54 / n)) → A54
  59. Rotate(Translate[a, Vector[(0, 0, 0), knot(55 / n)]], t + 55, knot(55 / n)) → A55
  60. Rotate(Translate[a, Vector[(0, 0, 0), knot(56 / n)]], t + 56, knot(56 / n)) → A56
  61. Rotate(Translate[a, Vector[(0, 0, 0), knot(57 / n)]], t + 57, knot(57 / n)) → A57
  62. Rotate(Translate[a, Vector[(0, 0, 0), knot(58 / n)]], t + 58, knot(58 / n)) → A58
  63. Rotate(Translate[a, Vector[(0, 0, 0), knot(59 / n)]], t + 59, knot(59 / n)) → A59
  64. Rotate(Translate[a, Vector[(0, 0, 0), knot(60 / n)]], t + 60, knot(60 / n)) → A60
  65. Rotate(Translate[a, Vector[(0, 0, 0), knot(61 / n)]], t + 61, knot(61 / n)) → A61
  66. Rotate(Translate[a, Vector[(0, 0, 0), knot(62 / n)]], t + 62, knot(62 / n)) → A62
  67. Rotate(Translate[a, Vector[(0, 0, 0), knot(63 / n)]], t + 63, knot(63 / n)) → A63
  68. Rotate(Translate[a, Vector[(0, 0, 0), knot(64 / n)]], t + 64, knot(64 / n)) → A64
  69. Rotate(Translate[a, Vector[(0, 0, 0), knot(65 / n)]], t + 65, knot(65 / n)) → A65
  70. Rotate(Translate[a, Vector[(0, 0, 0), knot(66 / n)]], t + 66, knot(66 / n)) → A66
  71. Rotate(Translate[a, Vector[(0, 0, 0), knot(67 / n)]], t + 67, knot(67 / n)) → A67
  72. Rotate(Translate[a, Vector[(0, 0, 0), knot(68 / n)]], t + 68, knot(68 / n)) → A68
  73. Rotate(Translate[a, Vector[(0, 0, 0), knot(69 / n)]], t + 69, knot(69 / n)) → A69
  74. Rotate(Translate[a, Vector[(0, 0, 0), knot(70 / n)]], t + 70, knot(70 / n)) → A70
  75. Rotate(Translate[a, Vector[(0, 0, 0), knot(71 / n)]], t + 71, knot(71 / n)) → A71
  76. Rotate(Translate[a, Vector[(0, 0, 0), knot(72 / n)]], t + 72, knot(72 / n)) → A72
  77. Rotate(Translate[a, Vector[(0, 0, 0), knot(73 / n)]], t + 73, knot(73 / n)) → A73
  78. Rotate(Translate[a, Vector[(0, 0, 0), knot(74 / n)]], t + 74, knot(74 / n)) → A74
  79. Rotate(Translate[a, Vector[(0, 0, 0), knot(75 / n)]], t + 75, knot(75 / n)) → A75
  80. Rotate(Translate[a, Vector[(0, 0, 0), knot(76 / n)]], t + 76, knot(76 / n)) → A76
  81. Rotate(Translate[a, Vector[(0, 0, 0), knot(77 / n)]], t + 77, knot(77 / n)) → A77
  82. Rotate(Translate[a, Vector[(0, 0, 0), knot(78 / n)]], t + 78, knot(78 / n)) → A78
  83. Rotate(Translate[a, Vector[(0, 0, 0), knot(79 / n)]], t + 79, knot(79 / n)) → A79

AI Drawing Prompt Reference

Create a 3D torus knot curve in space, then animate a cube traveling along this knot while continuously rotating, producing a sequence of cubes arranged along the curved path. Place rotated copies of the cube at evenly spaced points along the torus knot, demonstrating dynamic geometric transformation where cubes appear to dance along the complex looping curve.
The prompt above was compiled from the original drawing commands and is for reference only.