Coloring Edges and Faces of a 24‑Vertex Polyhedron and Its Dual

Coloring Edges and Faces of a 24‑Vertex Polyhedron and Its Dual
Loading the math board and drawing, please wait…
2020-10-07 00:28
① This example visualizes a polyhedron with 24 vertices and its dual, allowing interactive coloring of edges and faces to explore their relationships. ② Core mathematical concepts include polyhedra, dual polyhedra, graph coloring, combinatorics, geometric transformations, and vector analysis. ③ Construction highlights use GeoGebra commands such as Sequence, Sphere, Circle, PointIn, Angle, Segment, Sort, First, KeepIf, and objects like A00d, A0d to store vertex and edge data, with buttons for toggling colors and zooming. ④ It is suitable for high‑school or undergraduate geometry courses, math contest preparation, and teaching demonstrations of polyhedral duality and graph coloring problems.

GeoGebra Commands & Parameters

  1. Sequence(((zoom * Element[Element[A00d, i], 1]), (zoom * Element[Element[A00d, i], 2]), (zoom * Element[Element[A00d, i], 3])), i, 1, Length[A00d]) → A0d
  2. Sequence(((zoom * Element[Element[A00, i], 1]), (zoom * Element[Element[A00, i], 2]), (zoom * Element[Element[A00, i], 3])), i, 1, Length[A00]) → A0
  3. Sphere(O, r_o) → sp02d
  4. Textfield(R1sphere) → InputBox5
  5. Sphere(O, R1sphere) → sp01
  6. Textfield(r_o) → InputBox6
  7. Textfield(jarc) → InputBox8
  8. Textfield(jarc_d) → InputBox9
  9. Textfield(f_{Poly}) → InputBox11
  10. Textfield(k) → InputBox15
  11. Textfield(k_d) → InputBox14
  12. TableText({Append["i", 1…Length[mm5a]], Append["\fgcolor{orange}{n}", mm5a], Append["\fgcolor{orange}{N}", mm7a], Append["\fgcolor{#007FFF}{n/dual}", mm5ad], Append["\fgcolor{#007FFF}{N}", mm7ad]}, "hr") → text24
  13. Textfield(iseg) → InputBox17
  14. Textfield(f_{Poly}d) → InputBox18
  15. Textfield(isegd) → InputBox19
  16. UnicodeToLetter(34) → u34
  17. TableText({Append["i", 1…Max[Length[Segn], Length[Segnd]]], Append["\fgcolor{orange}{s_i}", Segn / Segments_o1], Append["\fgcolor{orange}{N}", lLength], Append["\fgcolor{#007FFF}{s_id}", Segnd / Segments_o1d], Append["\fgcolor{#007FFF}{N}", lLengthd]}, "hr") → text23
  18. Textfield(n_3) → InputBox20
  19. If(n_3 ≟ 0, "", Text["" + n_3]) → txt_3
  20. Textfield(nd_3) → InputBox21
  21. If(nd_3 ≟ 0, "", Text["" + nd_3]) → txtd_3
  22. Circle(A_{farbe}, rfabe) → farbekreis
  23. PointIn(farbekreis) → A
  24. Angle(A) → α
  25. Segment(C, D) → h
  26. Sort(Sequence[Segment[Element[A0, Element[Element[nom, i], 1]], Element[A0, Element[Element[nom, i], 2]]], i, 1, Length[nom]]) → Segments
  27. First(Segments, i_s) → Segments_o
  28. KeepIf(round((x * 10^(k))) / 10^(k) ≟ Element[Segn, 1], Segments) → la1
  29. KeepIf(round((x * 10^(k))) / 10^(k) ≟ Element[Segn, 2], Segments) → la2
  30. KeepIf(round((x * 10^(k))) / 10^(k) ≟ Element[Segn, 3], Segments) → la3
  31. KeepIf(round((x * 10^(k))) / 10^(k) ≟ Element[Segn, 4], Segments) → la4
  32. Sequence(Polygon[Element[A0, Element[Element[mm1, f], 1]], Element[A0, Element[Element[mm1, f], 2]], Element[A0, Element[Element[mm1, f], 3]]], f, 1, Length[mm1]) → poly_{3}
  33. KeepIf(round((x * 10^(k))) / 10^(k) ≟ Element[poly_{3}S, 1], poly_{3}) → poly_{3}1
  34. KeepIf(round((x * 10^(k))) / 10^(k) ≟ Element[poly_{3}S, 2], poly_{3}) → poly_{3}2
  35. Sequence(Polygon[Sequence[A0(mm6(1, f, k)), k, 1, Length[mm6(1, 1)]]], f, 1, Length[mm6(1)]) → poly_{4}
  36. Sort(Sequence[Segment[Element[A0d, Element[Element[nomd, i], 1]], Element[A0d, Element[Element[nomd, i], 2]]], i, 1, Length[nomd]]) → Segmentsd
  37. First(Segmentsd, id_s) → Segmentsd_o
  38. KeepIf(round((x * 10^(k))) / 10^(k) ≟ Element[Segnd, 1], Segmentsd) → lad1
  39. KeepIf(round((x * 10^(k))) / 10^(k) ≟ Element[Segnd, 2], Segmentsd) → lad2
  40. KeepIf(round((x * 10^(k))) / 10^(k) ≟ Element[Segnd, 3], Segmentsd) → lad3
  41. KeepIf(round((x * 10^(k))) / 10^(k) ≟ Element[Segnd, 4], Segmentsd) → lad4
  42. KeepIf(round((x * 10^(k))) / 10^(k) ≟ Element[Segnd, 5], Segmentsd) → lad5
  43. Sequence(Polygon[Element[A0d, Element[Element[mm1d, f], 1]], Element[A0d, Element[Element[mm1d, f], 2]], Element[A0d, Element[Element[mm1d, f], 3]]], f, 1, Length[mm1d]) → polyd_{3}
  44. KeepIf(round((x * 10^(k))) / 10^(k) ≟ Element[poly_{3}Sd, 1], polyd_{3}) → polyd_{3}1
  45. KeepIf(round((x * 10^(k))) / 10^(k) ≟ Element[poly_{3}Sd, 2], polyd_{3}) → polyd_{3}2
  46. KeepIf(round((x * 10^(k))) / 10^(k) ≟ Element[poly_{3}Sd, 3], polyd_{3}) → polyd_{3}3

AI Drawing Prompt Reference

Create a 3D scene showing a polyhedron with 24 vertices and its dual polyhedron. Color the original polyhedron's edges orange and its faces a light orange shade; color the dual polyhedron's edges blue and its faces a light blue shade. Position the two polyhedra so that corresponding vertices and faces align, and include a zoom control to adjust the viewing angle.
The prompt above was compiled from the original drawing commands and is for reference only.