Shape Based on a Cube

Shape Based on a Cube
Loading the math board and drawing, please wait…
2017-01-21 18:25
This example demonstrates how to construct a complex 3D shape by rotating, translating, and transforming a cube. The core mathematical concepts include solid geometry, spatial vectors, angle rotation, and the combination of polygons and polyhedra. Construction highlights: using GeoGebra commands such as Angle, Rotate, Ray, Sequence, Point, IndexOf, Element, Flatten, Intersect, AffineRatio, Midpoint, Polygon, and Vector, along with multiple auxiliary points (A, B, O, M, etc.) and objects (polygons, vectors), to generate symmetric structures via rotation and sequences. Suitable for high school or early college students learning solid geometry, spatial transformations, and dynamic geometry construction, as well as for geometric modeling in mathematical design or art.

GeoGebra Commands & Parameters

  1. Angle(A, O, B) → α
  2. Rotate(FF, α / 2, O_1) → F'
  3. Ray(O_1, F') → f
  4. Ray(O_1, FF) → g
  5. Ray(M, Vector[O_1, FF]) → h
  6. Ray(F', Vector[O_1, F']) → i
  7. Sequence(O_1 + (i * Vector[O_1, M]), i, 1.5, 5, 0.5) → B_1, {(0, 2.121320343559643), (0, 2.8284271247461903), (0, 3.5355339059327378), (0, 4.242640687119286), (0, 4.949747468305833), (0, 5.656854249492381), (0, 6.3639610306789285), (0, 7.0710678118654755)}
  8. Point(g) → A_1
  9. Sequence(Distance[A_1, Element[B_1, i]], i, 1, Length[B_1]) → C_1, {2.121320343559643, 1.4142135623730954, 0.7071067811865479, 0, 0.707106781186547, 1.414213562373095, 2.121320343559643, 2.82842712474619}
  10. IndexOf(Min[C_1], C_1) → D_1
  11. Element(B_1, D_1) → E_1
  12. Sequence(O_1 + (i * Vector[O_1, F']), i, 1.5, 5, 0.5) → B_6, {(-1.4999999999999998, 2.1213203435596424), (-1.9999999999999998, 2.82842712474619), (-2.4999999999999996, 3.5355339059327373), (-2.9999999999999996, 4.242640687119285), (-3.4999999999999996, 4.949747468305832), (-3.9999999999999996, 5.65685424949238), (-4.499999999999999, 6.363961030678928), (-4.999999999999999, 7.071067811865475)}
  13. Point(f) → A_6
  14. Sequence(Distance[A_6, Element[B_6, i]], i, 1, Length[B_6]) → C_6, {2.5980762113533156, 1.732050807568877, 0.8660254037844386, 0, 0.8660254037844383, 1.7320508075688772, 2.598076211353316, 3.464101615137754}
  15. IndexOf(Min[C_6], C_6) → D_6
  16. Element(B_6, D_6) → E_6
  17. Flatten(Unique[Sequence[Sequence[O_1 + (ii * Vector[O_1, M]) + (jj * Vector[O_1, F']), ii, 1, 5, 0.5], jj, 0.5, 5, 0.5]]) → LL
  18. Sequence(Distance[A_2, Element[LL, i]], i, 1, Length[LL]) → C_2, {0.8660254037844383, 0.5, 0.8660254037844389, 1.5000000000000007, 2.179449471770338, 2.872281323269014, 3.570714214271425, 4.272001872658766, 4.974937185533101, 1.1102230246251565E-16, 0.7071067811865479, 1.4142135623730958, 2.121320343559643, 2.8284271247461907, 3.5355339059327378, 4.242640687119286, 4.949747468305834, 5.6568542494923815, 0.8660254037844388, 1.5000000000000007, 2.179449471770337, 2.872281323269014, 3.570714214271425, 4.272001872658766, 4.974937185533101, 5.6789083458002745, 6.383572667401852, 1.732050807568877, 2.345207879911715, 2.9999999999999996, 3.6742346141747673, 4.358898943540674, 5.049752469181039, 5.7445626465380295, 6.442049363362563, 7.14142842854285, 2.598076211353316, 3.201562118716424, 3.840572873934304, 4.5, 5.172040216394301, 5.852349955359812, 6.5383484153110105, 7.22841614740048, 7.9214897588774305, 3.464101615137754, 4.06201920231798, 4.69041575982343, 5.338539126015656, 6.000000000000001, 6.670832032063167, 7.3484692283495345, 8.031189202104505, 8.717797887081346, 4.330127018922193, 4.924428900898052, 5.545268253204708, 6.18465843842649, 6.837397165588672, 7.499999999999998, 8.170067319184096, 8.845903006477066, 9.526279441628825, 5.196152422706631, 5.787918451395113, 6.4031242374328485, 7.035623639735144, 7.681145747868609, 8.336666000266533, 9, 9.66953980290686, 10.344080432788601, 6.0621778264910695, 6.652067347825036, 7.262919523166975, 7.88986691902975, 8.52936105461599, 9.17877987534291, 9.836157786453002, 10.5, 11.169153951844338, 6.928203230275508, 7.516648189186454, 8.12403840463596, 8.74642784226795, 9.380831519646858, 10.024968827881711, 10.677078252031311, 11.335784048754634, 12.000000000000002}
  19. Sequence(Distance[A_3, Element[LL, i]], i, 1, Length[LL]) → C_3, {2.9999999999999996, 2.3452078799117144, 1.7320508075688772, 1.2247448713915887, 1, 1.2247448713915887, 1.7320508075688772, 2.345207879911715, 3.0000000000000004, 2.179449471770337, 1.4999999999999998, 0.8660254037844383, 0.5000000000000001, 0.866025403784439, 1.4999999999999998, 2.179449471770337, 2.8722813232690148, 3.570714214271426, 1.414213562373095, 0.707106781186547, 2.220446049250313E-16, 0.707106781186547, 1.414213562373095, 2.121320343559643, 2.8284271247461907, 3.5355339059327386, 4.242640687119285, 0.8660254037844388, 0.4999999999999998, 0.8660254037844382, 1.4999999999999998, 2.179449471770337, 2.872281323269014, 3.570714214271426, 4.272001872658765, 4.9749371855331, 0.9999999999999996, 1.2247448713915885, 1.732050807568877, 2.345207879911715, 3.0000000000000004, 3.6742346141747664, 4.358898943540673, 5.049752469181039, 5.7445626465380295, 1.6583123951776992, 2.06155281280883, 2.598076211353316, 3.201562118716424, 3.840572873934305, 4.5, 5.172040216394301, 5.852349955359813, 6.53834841531101, 2.449489742783177, 2.9154759474226495, 3.4641016151377535, 4.0620192023179795, 4.690415759823429, 5.338539126015654, 6.000000000000001, 6.670832032063166, 7.348469228349534, 3.2787192621509997, 3.7749172176353745, 4.330127018922193, 4.924428900898052, 5.545268253204709, 6.184658438426491, 6.837397165588671, 7.500000000000001, 8.170067319184096, 4.12310562561766, 4.636809247747852, 5.196152422706631, 5.787918451395112, 6.4031242374328485, 7.035623639735142, 7.681145747868609, 8.336666000266533, 9, 4.974937185533099, 5.499999999999999, 6.0621778264910695, 6.652067347825035, 7.262919523166974, 7.889866919029749, 8.52936105461599, 9.17877987534291, 9.836157786453}
  20. Sequence(Distance[A_4, Element[LL, i]], i, 1, Length[LL]) → C_4, {3.4641016151377544, 2.9154759474226504, 2.449489742783178, 2.1213203435596424, 2, 2.1213203435596424, 2.449489742783178, 2.9154759474226504, 3.4641016151377553, 2.598076211353316, 2.0615528128088303, 1.6583123951776997, 1.5, 1.6583123951777001, 2.0615528128088303, 2.598076211353316, 3.2015621187164247, 3.840572873934305, 1.7320508075688772, 1.224744871391589, 1.0000000000000002, 1.224744871391589, 1.7320508075688772, 2.3452078799117153, 3.0000000000000004, 3.674234614174768, 4.358898943540673, 0.866025403784439, 0.5000000000000002, 0.8660254037844384, 1.5, 2.179449471770337, 2.872281323269014, 3.570714214271426, 4.272001872658765, 4.9749371855331, 4.440892098500626E-16, 0.707106781186547, 1.414213562373095, 2.121320343559643, 2.8284271247461907, 3.535533905932737, 4.242640687119285, 4.949747468305833, 5.656854249492381, 0.866025403784438, 1.4999999999999998, 2.179449471770337, 2.872281323269014, 3.570714214271426, 4.272001872658765, 4.9749371855331, 5.6789083458002745, 6.383572667401851, 1.7320508075688763, 2.345207879911714, 2.9999999999999987, 3.6742346141747664, 4.358898943540673, 5.049752469181037, 5.7445626465380295, 6.442049363362561, 7.1414284285428495, 2.598076211353315, 3.201562118716424, 3.840572873934303, 4.5, 5.172040216394301, 5.852349955359813, 6.53834841531101, 7.228416147400481, 7.92148975887743, 3.464101615137754, 4.06201920231798, 4.690415759823429, 5.338539126015656, 6, 6.670832032063166, 7.348469228349535, 8.031189202104505, 8.717797887081348, 4.330127018922192, 4.924428900898052, 5.545268253204708, 6.18465843842649, 6.83739716558867, 7.499999999999999, 8.170067319184096, 8.845903006477068, 9.526279441628825}
  21. Sequence(Distance[A_5, Element[LL, i]], i, 1, Length[LL]) → C_5, {5.196152422706631, 4.636809247747851, 4.12310562561766, 3.6742346141747664, 3.316624790355399, 3.082207001484488, 3, 3.0822070014844885, 3.3166247903554007, 4.330127018922193, 3.774917217635374, 3.2787192621509993, 2.872281323269014, 2.5980762113533156, 2.5, 2.5980762113533165, 2.872281323269015, 3.2787192621510015, 3.4641016151377535, 2.915475947422649, 2.4494897427831774, 2.1213203435596424, 2, 2.121320343559643, 2.449489742783179, 2.9154759474226517, 3.4641016151377553, 2.5980762113533156, 2.06155281280883, 1.6583123951777, 1.5000000000000002, 1.6583123951777008, 2.061552812808831, 2.598076211353318, 3.2015621187164247, 3.840572873934305, 1.7320508075688767, 1.2247448713915892, 1.0000000000000004, 1.22474487139159, 1.732050807568879, 2.3452078799117153, 3.0000000000000004, 3.674234614174768, 4.358898943540675, 0.8660254037844385, 0.5000000000000004, 0.8660254037844399, 1.5000000000000009, 2.1794494717703388, 2.8722813232690148, 3.570714214271426, 4.272001872658767, 4.9749371855331, 4.440892098500626E-16, 0.7071067811865479, 1.414213562373095, 2.121320343559643, 2.8284271247461907, 3.535533905932737, 4.2426406871192865, 4.949747468305833, 5.656854249492381, 0.8660254037844387, 1.5000000000000007, 2.179449471770337, 2.8722813232690148, 3.570714214271426, 4.272001872658767, 4.9749371855331, 5.678908345800275, 6.383572667401853, 1.7320508075688774, 2.345207879911716, 3.0000000000000004, 3.6742346141747677, 4.358898943540674, 5.049752469181039, 5.74456264653803, 6.442049363362563, 7.141428428542851, 2.5980762113533156, 3.2015621187164243, 3.8405728739343044, 4.500000000000001, 5.1720402163943, 5.852349955359813, 6.5383484153110105, 7.228416147400481, 7.921489758877431}
  22. IndexOf(Min[C_2], C_2) → D_2
  23. IndexOf(Min[C_3], C_3) → D_3
  24. IndexOf(Min[C_4], C_4) → D_4
  25. IndexOf(Min[C_5], C_5) → D_5
  26. Element(LL, D_2) → E_2
  27. Element(LL, D_3) → E_3
  28. Element(LL, D_4) → E_4
  29. Element(LL, D_5) → E_5
  30. Intersect(g, Line[A_2, f]) → G_2
  31. Intersect(g, Line[A_3, f]) → G_3
  32. Intersect(g, Line[A_4, f]) → G_4
  33. Intersect(g, Line[A_5, f]) → G_5
  34. Intersect(f, Line[A_2, g]) → H_2
  35. Intersect(f, Line[A_3, g]) → H_3
  36. Intersect(f, Line[A_4, g]) → H_4
  37. Intersect(f, Line[A_5, g]) → H_5
  38. AffineRatio(O_1, M, A_1) → I_1
  39. AffineRatio(O_1, M, G_2) → I_2
  40. AffineRatio(O_1, M, G_3) → I_3
  41. AffineRatio(O_1, M, G_4) → I_4
  42. AffineRatio(O_1, M, G_5) → I_5
  43. AffineRatio(O_1, F', A_6) → J_6
  44. AffineRatio(O_1, F', H_5) → J_5
  45. AffineRatio(O_1, F', H_4) → J_4
  46. AffineRatio(O_1, F', H_3) → J_3
  47. AffineRatio(O_1, F', H_2) → J_2
  48. Midpoint(A1, B1) → C1
  49. Polygon(F', M, A_1, A_2, A_3, A_4, A_5, A_6) → wielokąt1, f', m, a_1, a_2, a_3, a_4, a_5, a_6
  50. Vector(O, A1) → D1
  51. Vector(O, B1) → E1
  52. Vector(O, C1) → F1
  53. Polygon(B1, A1, O1, P1, Q1, G1, H1, I1, J1, K1, L1, M1, N1) → R1, S1, AB1, AC1, AD1, AE1, T1, U1, V1, W1, X1, Y1, Z1, AA1
  54. Midpoint(A2, B2) → C2
  55. Midpoint(A3, B3) → C3
  56. Midpoint(A4, B4) → C4
  57. Midpoint(A5, B5) → C5
  58. Midpoint(A6, B6) → C6
  59. Midpoint(A7, B7) → C7
  60. Midpoint(A8, B8) → C8
  61. Midpoint(A9, B9) → C9
  62. Midpoint(A10, B10) → C10
  63. Midpoint(A11, B11) → C11
  64. Midpoint(A12, B12) → C12
  65. Vector(O, A2) → D2
  66. Vector(O, B2) → E2
  67. Vector(O, C2) → F2
  68. Vector(O, A3) → D3
  69. Vector(O, B3) → E3
  70. Vector(O, C3) → F3
  71. Vector(O, A4) → D4
  72. Vector(O, B4) → E4
  73. Vector(O, C4) → F4
  74. Vector(O, A5) → D5
  75. Vector(O, B5) → E5
  76. Vector(O, C5) → F5
  77. Vector(O, A6) → D6
  78. Vector(O, B6) → E6
  79. Vector(O, C6) → F6
  80. Vector(O, A7) → D7
  81. Vector(O, B7) → E7
  82. Vector(O, C7) → F7
  83. Vector(O, A8) → D8
  84. Vector(O, B8) → E8
  85. Vector(O, C8) → F8
  86. Vector(O, A9) → D9
  87. Vector(O, B9) → E9
  88. Vector(O, C9) → F9
  89. Vector(O, A10) → D10
  90. Vector(O, B10) → E10
  91. Vector(O, C10) → F10
  92. Vector(O, A11) → D11
  93. Vector(O, B11) → E11
  94. Vector(O, C11) → F11
  95. Vector(O, A12) → D12
  96. Vector(O, B12) → E12
  97. Vector(O, C12) → F12
  98. Polygon(B2, A2, O2, P2, Q2, G2, H2, I2, J2, K2, L2, M2, N2) → R2, S2, AB2, AC2, AD2, AE2, T2, U2, V2, W2, X2, Y2, Z2, AA2
  99. Polygon(B3, A3, O3, P3, Q3, G3, H3, I3, J3, K3, L3, M3, N3) → R3, S3, AB3, AC3, AD3, AE3, T3, U3, V3, W3, X3, Y3, Z3, AA3
  100. Polygon(B4, A4, O4, P4, Q4, G4, H4, I4, J4, K4, L4, M4, N4) → R4, S4, AB4, AC4, AD4, AE4, T4, U4, V4, W4, X4, Y4, Z4, AA4
  101. Polygon(B5, A5, O5, P5, Q5, G5, H5, I5, J5, K5, L5, M5, N5) → R5, S5, AB5, AC5, AD5, AE5, T5, U5, V5, W5, X5, Y5, Z5, AA5
  102. Polygon(B6, A6, O6, P6, Q6, G6, H6, I6, J6, K6, L6, M6, N6) → R6, S6, AB6, AC6, AD6, AE6, T6, U6, V6, W6, X6, Y6, Z6, AA6
  103. Polygon(B7, A7, O7, P7, Q7, G7, H7, I7, J7, K7, L7, M7, N7) → R7, S7, AB7, AC7, AD7, AE7, T7, U7, V7, W7, X7, Y7, Z7, AA7
  104. Polygon(B8, A8, O8, P8, Q8, G8, H8, I8, J8, K8, L8, M8, N8) → R8, S8, AB8, AC8, AD8, AE8, T8, U8, V8, W8, X8, Y8, Z8, AA8
  105. Polygon(B9, A9, O9, P9, Q9, G9, H9, I9, J9, K9, L9, M9, N9) → R9, S9, AB9, AC9, AD9, AE9, T9, U9, V9, W9, X9, Y9, Z9, AA9
  106. Polygon(B10, A10, O10, P10, Q10, G10, H10, I10, J10, K10, L10, M10, N10) → R10, S10, AB10, AC10, AD10, AE10, T10, U10, V10, W10, X10, Y10, Z10, AA10
  107. Polygon(B11, A11, O11, P11, Q11, G11, H11, I11, J11, K11, L11, M11, N11) → R11, S11, AB11, AC11, AD11, AE11, T11, U11, V11, W11, X11, Y11, Z11, AA11
  108. Polygon(B12, A12, O12, P12, Q12, G12, H12, I12, J12, K12, L12, M12, N12) → R12, S12, AB12, AC12, AD12, AE12, T12, U12, V12, W12, X12, Y12, Z12, AA12