GeoGebra Fractal Trees + Snow: recursive rules that grow a winter scene
Loading the math board and drawing, please wait…
This example combines a GeoGebra “Snow” construction with a fractal tree to demonstrate how recursive, rule-based geometry can generate highly detailed, snow-like patterns. The key mathematical ideas include fractal geometry via iteration, piecewise/rule-driven construction, and geometric transformations that position and scale growing branches. It uses RandomUniform and Random to create randomized or perturbed parameters, and employs Translate (and related transformation logic) to place each newly generated segment in the correct location. Parameters such as initialAngle, time, angle, and radius, together with coordinate/size variables (e.g., posX/posY and size sets like size1–size4), manage direction, step length, and scaling across iterations. Objects like A, B, pic1, and buttons (button1/button2) support interactive control, while collections of posX1–posX10 and posY1–posY10 reflect the layered construction of each iteration level. Suitable for secondary school enrichment, math visualization projects, and learners using GeoGebra to connect fractals with transformations and parametric iteration.
GeoGebra Commands & Parameters
RandomUniform(2, 5) → sizeRandom(0, (2 * pi)) → initialAngleTranslate(Rotate[pic1, angle], Vector[(0, 0), (posX, posY)]) → S1RandomUniform(0.3, 1.2) → size1RandomUniform(0.3, 1.2) → size2RandomUniform(0.3, 1.2) → size3RandomUniform(0.3, 1.2) → size4RandomUniform(0.3, 1.2) → size5RandomUniform(0.3, 1.2) → size6RandomUniform(0.3, 1.2) → size7RandomUniform(0.3, 1.2) → size8RandomUniform(0.3, 1.2) → size9RandomUniform(0.3, 1.2) → size10RandomUniform(0, (2 * pi)) → initialAngle1Random(1, 3) → w1Random(1, 3) → w2Random(1, 3) → w3Random(1, 3) → w4Random(1, 3) → w5Random(1, 3) → w6Random(1, 3) → w7Random(1, 3) → w8Random(1, 3) → w9Random(1, 3) → w10RandomUniform(0, (2 * pi)) → initialAngle2RandomUniform(0, (2 * pi)) → initialAngle3RandomUniform(0, (2 * pi)) → initialAngle4RandomUniform(0, (2 * pi)) → initialAngle5RandomUniform(0, (2 * pi)) → initialAngle6RandomUniform(0, (2 * pi)) → initialAngle7RandomUniform(0, (2 * pi)) → initialAngle8RandomUniform(0, (2 * pi)) → initialAngle9RandomUniform(0, (2 * pi)) → initialAngle10RandomUniform(0.3, 1.2) → size11RandomUniform(0.3, 1.2) → size12RandomUniform(0.3, 1.2) → size13RandomUniform(0.3, 1.2) → size14RandomUniform(0.3, 1.2) → size15RandomUniform(0.3, 1.2) → size16RandomUniform(0.3, 1.2) → size17RandomUniform(0.3, 1.2) → size18RandomUniform(0.3, 1.2) → size19RandomUniform(0.3, 1.2) → size20Random(1, 3) → w11Random(1, 3) → w12Random(1, 3) → w13Random(1, 3) → w14Random(1, 3) → w15Random(1, 3) → w16Random(1, 3) → w17Random(1, 3) → w18Random(1, 3) → w19Random(1, 3) → w20RandomUniform(0, (2 * pi)) → initialAngle11RandomUniform(0, (2 * pi)) → initialAngle12RandomUniform(0, (2 * pi)) → initialAngle13RandomUniform(0, (2 * pi)) → initialAngle14RandomUniform(0, (2 * pi)) → initialAngle15RandomUniform(0, (2 * pi)) → initialAngle16RandomUniform(0, (2 * pi)) → initialAngle17RandomUniform(0, (2 * pi)) → initialAngle18RandomUniform(0, (2 * pi)) → initialAngle19RandomUniform(0, (2 * pi)) → initialAngle20RandomUniform(0, 10^(2)) → radius1RandomUniform(0, 10^(2)) → radius2RandomUniform(0, 10^(2)) → radius3RandomUniform(0, 10^(2)) → radius4RandomUniform(0, 10^(2)) → radius5RandomUniform(0, 10^(2)) → radius6RandomUniform(0, 10^(2)) → radius7RandomUniform(0, 10^(2)) → radius8RandomUniform(0, 10^(2)) → radius9RandomUniform(0, 10^(2)) → radius10RandomUniform(0, 10^(2)) → radius11RandomUniform(0, 10^(2)) → radius12RandomUniform(0, 10^(2)) → radius13RandomUniform(0, 10^(2)) → radius14RandomUniform(0, 10^(2)) → radius15RandomUniform(0, 10^(2)) → radius16RandomUniform(0, 10^(2)) → radius17RandomUniform(0, 10^(2)) → radius18RandomUniform(0, 10^(2)) → radius19RandomUniform(0, 10^(2)) → radius20Translate(Rotate[Dilate[pic1, size1], ((2 * pi) * sin(angle1))], Vector[(0, 0), (posX1, posY1)]) → T1Translate(Rotate[Dilate[pic1, size2], ((2 * pi) * sin(angle2))], Vector[(0, 0), (posX2, posY2)]) → T2Translate(Rotate[Dilate[pic1, size3], ((2 * pi) * sin(angle3))], Vector[(0, 0), (posX3, posY3)]) → T3Translate(Rotate[Dilate[pic1, size4], ((2 * pi) * sin(angle4))], Vector[(0, 0), (posX4, posY4)]) → T4Translate(Rotate[Dilate[pic1, size5], ((2 * pi) * sin(angle5))], Vector[(0, 0), (posX5, posY5)]) → T5Translate(Rotate[Dilate[pic1, size6], ((2 * pi) * sin(angle6))], Vector[(0, 0), (posX6, posY6)]) → T6Translate(Rotate[Dilate[pic1, size7], ((2 * pi) * sin(angle7))], Vector[(0, 0), (posX7, posY7)]) → T7Translate(Rotate[Dilate[pic1, size8], ((2 * pi) * sin(angle8))], Vector[(0, 0), (posX8, posY8)]) → T8Translate(Rotate[Dilate[pic1, size9], ((2 * pi) * sin(angle9))], Vector[(0, 0), (posX9, posY9)]) → T9Translate(Rotate[Dilate[pic1, size10], ((2 * pi) * sin(angle10))], Vector[(0, 0), (posX10, posY10)]) → T10Translate(Rotate[Dilate[pic1, size11], ((2 * pi) * sin(angle11))], Vector[(0, 0), (posX11, posY11)]) → T11Translate(Rotate[Dilate[pic1, size12], ((2 * pi) * sin(angle12))], Vector[(0, 0), (posX12, posY12)]) → T12Translate(Rotate[Dilate[pic1, size13], ((2 * pi) * sin(angle13))], Vector[(0, 0), (posX13, posY13)]) → T13Translate(Rotate[Dilate[pic1, size14], ((2 * pi) * sin(angle14))], Vector[(0, 0), (posX14, posY14)]) → T14Translate(Rotate[Dilate[pic1, size15], ((2 * pi) * sin(angle15))], Vector[(0, 0), (posX15, posY15)]) → T15Translate(Rotate[Dilate[pic1, size16], ((2 * pi) * sin(angle16))], Vector[(0, 0), (posX16, posY16)]) → T16Translate(Rotate[Dilate[pic1, size17], ((2 * pi) * sin(angle17))], Vector[(0, 0), (posX17, posY17)]) → T17Translate(Rotate[Dilate[pic1, size18], ((2 * pi) * sin(angle18))], Vector[(0, 0), (posX18, posY18)]) → T18Translate(Rotate[Dilate[pic1, size19], ((2 * pi) * sin(angle19))], Vector[(0, 0), (posX19, posY19)]) → T19Translate(Rotate[Dilate[pic1, size20], ((2 * pi) * sin(angle20))], Vector[(0, 0), (posX20, posY20)]) → T20
AI Drawing Prompt Reference
Create a winter scene featuring a fractal tree and snow patterns. The tree branches grow recursively with randomized lengths and angles, shrinking in size with each iteration. Initial angles and positions of the branches are also randomized. Snowflakes overlay the branches, creating a snow-covered forest. The scene is controlled by parameters like initial angles, lengths, widths, and iteration counts, showcasing the details and randomness of fractal geometry.
The prompt above was compiled from the original drawing commands and is for reference only.