Dancing Cubes on Torus Knots II

Dancing Cubes on Torus Knots II
Loading the math board and drawing, please wait…
2018-10-22 18:47
This example demonstrates the dynamic transformation of cubes on torus knots. Key mathematical concepts include geometric transformations and parametric equations. Using GeoGebra commands such as Point, Cube, CurveCartesian, Rotate, etc., the movement trajectory of cubes on the curve can be constructed. Suitable for high school and above students or teachers for teaching and learning geometric transformations and parametric equations.

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