Transformation and Rotation: Cube to Cuboctahedron

Transformation and Rotation: Cube to Cuboctahedron
Loading the math board and drawing, please wait…
2016-02-03 03:46
This GeoGebra example demonstrates the transformation of a cube into a cuboctahedron through rotation and truncation, visualizing the dynamic process in a 2D projection. It highlights core mathematical concepts such as 3D rotation, polyhedral vertex-edge relationships, and projective geometry. The construction uses commands like Point, Line, Segment, Polygon to define the cube's vertices and edges, while Translate, PathParameter, and rotation sliders drive the animation. Auxiliary elements including Ellipse, OrthogonalLine, Intersect, Ray, Midpoint, and Vector help create the projected faces and guide the transformation. The final model shows both triangular and square faces characteristic of a cuboctahedron. Suitable for high school or undergraduate courses in solid geometry, transformation geometry, and dynamic mathematics visualization.

GeoGebra Commands & Parameters

  1. Point(xAxis) → Q
  2. Point(xAxis) → W
  3. Point(yAxis) → Z
  4. Ellipse(Q, W, Z) → c
  5. Point(c) → A
  6. Line(Q, W) → a
  7. OrthogonalLine(Z, a) → b
  8. Intersect(b, a) → O
  9. Ray(A, O) → d
  10. Intersect(c, d) → Q_1, C
  11. Line(Z, d) → e
  12. Intersect(c, e) → Q_3, Q_2
  13. Midpoint(Q_2, Z) → Q_4
  14. Line(Q_4, O) → f
  15. Point(b) → E
  16. Vector(O, E) → u
  17. Point(c) → B
  18. Ray(B, O) → g
  19. Intersect(c, g, 2) → D
  20. Segment(A, B) → h
  21. Segment(A, D) → i
  22. Segment(D, C) → j
  23. Segment(C, B) → k_1
  24. Translate(A, u) → A'
  25. Translate(D, u) → D'
  26. Translate(C, u) → C'
  27. Translate(B, u) → B'
  28. Segment(D', C') → l
  29. Segment(C', B') → m
  30. Segment(B', A') → n
  31. Segment(A', D') → p
  32. Segment(D', D) → q
  33. Segment(C', C) → r
  34. Segment(B', B) → s
  35. Segment(A', A) → t
  36. Vector(A, B) → v
  37. Vector(A, D) → w
  38. Translate({A, B, C, D}, Vector[(k * u)]) → up
  39. Translate({A', B', C', D'}, Vector[((-k) * u)]) → down
  40. Translate({A, A', B', B}, Vector[(k * w)]) → ost
  41. Translate({A, A', D', D}, Vector[(k * v)]) → nord
  42. Translate({B, B', C'}, Vector[((-k) * v)]) → sud
  43. Translate(C, Vector[((-k) * v)]) → C_1
  44. Translate({D, D', C'}, Vector[((-k) * w)]) → west
  45. Translate(C, Vector[((-k) * w)]) → C_2
  46. PathParameter(A) → o
  47. Polygon(Element[down, 1], Element[nord, 2], Element[ost, 2]) → poly1, a_1, b_1, c_1
  48. Polygon(Element[down, 4], Element[nord, 3], Element[west, 2]) → poly2, d_1, e_1, f_1
  49. Polygon(Element[up, 2], Element[sud, 1], Element[ost, 4]) → poly3, g_1, h_1, i_1
  50. Polygon(Element[down, 3], Element[sud, 3], Element[west, 3]) → poly4, j_1, l_1, m_1
  51. Polygon(Element[down, 2], Element[sud, 2], Element[ost, 3]) → poly5, n_1, p_1, q_1
  52. Polygon(Element[up, 1], Element[nord, 1], Element[ost, 1]) → poly6, r_1, s_1, t_1
  53. Polygon(C_1, C_2, Element[up, 4]) → poly7, a_2, b_2, c_2
  54. Polygon(Element[up, 5], Element[nord, 4], Element[west, 1]) → poly8, d_2, e_2, f_2
  55. Polygon(Element[up, 1], Element[nord, 1], Element[sud, 1], Element[up, 2], Element[down, 2], Element[sud, 2], Element[nord, 2], Element[down, 1]) → poly9, g_2, h_2, i_2, j_2, k_2, l_2, m_2, n_2
  56. Polygon(Element[ost, 2], Element[nord, 2], Element[sud, 2], Element[ost, 3], Element[west, 3], Element[sud, 3], Element[nord, 3], Element[west, 2]) → poly11, d_3, e_3, f_3, g_3, h_3, i_3, j_3, k_3
  57. Polygon(Element[up, 2], Element[down, 2], Element[ost, 3], Element[west, 3], Element[down, 3], Element[up, 4], C_2, Element[ost, 4]) → poly10, p_2, q_2, r_2, s_2, t_2, a_3, c_3, b_3
  58. Polygon(Element[up, 1], Element[down, 1], Element[ost, 2], Element[west, 2], Element[down, 4], Element[up, 5], Element[west, 1], Element[ost, 1]) → poly12, l_3, m_3, n_3, p_3, q_3, r_3, s_3, t_3
  59. Polygon(Element[ost, 1], Element[nord, 1], Element[sud, 1], Element[ost, 4], C_2, C_1, Element[nord, 4], Element[west, 1]) → poly13, a_4, b_4, c_4, d_4, c_5, c_6, e_4, f_4
  60. Polygon(Element[up, 5], Element[down, 4], Element[nord, 3], Element[sud, 3], Element[down, 3], Element[up, 4], C_1, Element[nord, 4]) → poly14, g_4, h_4, i_4, j_4, k_4, l_4, c_7, m_4