Koch Snowflake 3D Fractal

Koch Snowflake 3D Fractal
Loading the math board and drawing, please wait…
2020-10-17 05:47
This example demonstrates the 3D construction of the Koch snowflake fractal, a concept in fractal geometry. The key mathematical concepts involved include fractal geometry, geometric transformations, and solid geometry. The construction uses GeoGebra commands such as Polygon, Cube, Tetrahedron, Sequence, Mirror, and Translate to build a tetrahedral cube structure. It is suitable for high school students or college freshmen to learn about geometric transformations and fractal concepts.

GeoGebra Commands & Parameters

  1. Polygon(Take[T0, 1, 3]) → G00
  2. Cube(T0(4), (T0(1) + T0(2) - T0(3) + T0(4)) / 2, O) → Cubus, O2, faceAEDO, faceBCDE, edge3, edge2, edge1, edgeAO, edge4, edgeAE, edgeBE, edgeBC, O7, edge5, edgeCD_{1}, edgeDO, edgeDE, O6, O4, O3, face1, face4, face3, face2
  3. Tetrahedron(G00, true) → P0, A, face6, face5, face7, edge6, edge8, edge7
  4. Polygon(Take[T1, 1, 3]) → G10
  5. Tetrahedron(G10, true) → P1, B, face9, face8, face10, edge9, edge11, edge10
  6. Sequence(Polygon[Element[T2, j]], j, 1, 8) → G20
  7. Sequence(Tetrahedron[Element[G20, j], ¬(j ≟ 7 ∨ j ≟ 2)], j, 1, 8) → P2
  8. Sequence(Polygon[Element[T31, j]], j, 1, Length[T31]) → G31
  9. Sequence(Tetrahedron[Element[G31, j], j ≟ 4 ∨ j ≟ 5], j, 1, 8) → P31
  10. Mirror(P31, Plane[O6, O, O2]) → P32
  11. Mirror(P31, Plane[O6, O3, O5]) → P33
  12. Mirror(P31, Plane[O, O3, O5]) → P34
  13. Mirror(P31, Plane[(O5 + O6) / 2, (O8 + O7) / 2, (O2 + O3) / 2]) → P35
  14. Mirror(P31, Plane[(O3 + O7) / 2, (O8 + O2) / 2, (O5 + O) / 2]) → P36
  15. Mirror(P31, Plane[(O + O2) / 2, (O8 + O5) / 2, (O7 + O6) / 2]) → P37
  16. Sequence(Polygon[Element[T41, j]], j, 1, Length[T41]) → G51
  17. Sequence(Tetrahedron[Element[G51, j], j ≟ 4 ∨ j ≟ 5], j, 1, 8) → P41
  18. Translate(P41, Vector[(O2 - O8) / 4]) → P42
  19. Translate(P41, Vector[(O2 - O8) / 2]) → P43
  20. Translate(P41, Vector[((O2 - O8) * 3 / 4)]) → P44
  21. Translate(P41, Vector[(O7 - O8) / 4]) → P45
  22. Translate(P45, Vector[(O2 - O8) / 4]) → P46
  23. Translate(P45, Vector[(O2 - O8) / 2]) → P47
  24. Translate(P45, Vector[((O2 - O8) * 3 / 4)]) → P48
  25. Translate(P41, Vector[(O7 - O8) / 2]) → P49
  26. Translate(P49, Vector[(O2 - O8) / 4]) → P4A
  27. Translate(P49, Vector[(O2 - O8) / 2]) → P4B
  28. Translate(P49, Vector[((O2 - O8) * 3 / 4)]) → P4C
  29. Translate(P41, Vector[((O7 - O8) * 3 / 4)]) → P4D
  30. Translate(P4D, Vector[(O2 - O8) / 4]) → P4E
  31. Translate(P4D, Vector[(O2 - O8) / 2]) → P4F
  32. Translate(P4D, Vector[((O2 - O8) * 3 / 4)]) → P4G
  33. Cube(O8, (O8 + O2) / 2, Vector[O - O2]) → Cubus_3, C, face13, faceCDHG, faceEFGH, edgeDO8, edge12, edge13, edgeCD, edgeEO8, edgeDH, edgeEH, D, edgeEF, edge14, edgeFG, edgeCG, edgeGH, E, F, G, H, face11, faceDHEO8, face12
  34. Cube(O8, O8 + (O2 - O8) / 4, Vector[O - O2]) → Cubus_4, I, face16, faceIJNM, faceKLMN, edgeJO8, edge15, edge16, edgeIJ, edgeKO8, edgeJN, edgeKN, J, edgeKL, edge17, edgeLM, edgeIM, edgeMN, K, L, M, N, face14, faceJNKO8, face15
  35. Cube(O8, O8 + (O2 - O8) / 8, Vector[O - O2]) → Cubus_5, P, face19, facePQUT, faceRSTU, edgeO8Q, edge18, edge19, edgePQ, edgeO8R, edgeQU, edgeRU, Q, edgeRS, edge20, edgeST, edgePT, edgeTU, R, S, T, U, face17, faceO8QUR, face18
  36. Sequence(Polygon[Element[T51, j]], j, 1, Length[T51]) → G61
  37. Sequence(Tetrahedron[Element[G61, j], j ≟ 4 ∨ j ≟ 5], j, 1, 8) → P50
  38. Sequence(Translate[Translate[P50, Vector[(O7 - O8) / 8]], Vector[((O2 - O8) * j / 8)]], j, 0, 7) → P52
  39. Sequence(Translate[Translate[P50, Vector[((O7 - O8) * 2 / 8)]], Vector[((O2 - O8) * j / 8)]], j, 0, 7) → P53
  40. Sequence(Translate[Translate[P50, Vector[((O7 - O8) * 3 / 8)]], Vector[((O2 - O8) * j / 8)]], j, 0, 7) → P54
  41. Sequence(Translate[Translate[P50, Vector[((O7 - O8) * 4 / 8)]], Vector[((O2 - O8) * j / 8)]], j, 0, 7) → P55
  42. Sequence(Translate[Translate[P50, Vector[((O7 - O8) * 5 / 8)]], Vector[((O2 - O8) * j / 8)]], j, 0, 7) → P56
  43. Sequence(Translate[Translate[P50, Vector[((O7 - O8) * 6 / 8)]], Vector[((O2 - O8) * j / 8)]], j, 0, 7) → P57
  44. Sequence(Translate[Translate[P50, Vector[((O7 - O8) * 7 / 8)]], Vector[((O2 - O8) * j / 8)]], j, 0, 7) → P58
  45. Sequence(Translate[P50, Vector[((O2 - O8) * j / 8)]], j, 0, 7) → P51
  46. Translate(P31, Vector[(O4 - O8) / 2]) → P38

AI Drawing Prompt Reference

Construct a 3D Koch snowflake fractal as a solid geometry model. Start from a polygon base, build a cube structure, then form a tetrahedron from the base element. Generate multiple segments by creating sequences of polygons and tetrahedra so the structure branches into several parts at increasing indices. Produce additional symmetric copies by mirroring the same set of polygons/tetrahedra across several planes, arranging them in different spatial directions. Finally, use translations with stepwise fractional vectors to repeat the mirrored segments and stack them at finer scales, yielding a multi-level 3D fractal snowflake composed of many tetrahedral and polygonal parts.
The prompt above was compiled from the original drawing commands and is for reference only.