Isosceles Triangle Rotation Fractal Animation

Isosceles Triangle Rotation Fractal Animation
Loading the math board and drawing, please wait…
2016-06-16 07:59
① This example demonstrates an animation of a fractal boundary generated by repeatedly rotating, dilating, and translating a set of isosceles triangles. ② Core mathematical concepts include properties of isosceles triangles, polygon perimeters, rotation transformations, similarity dilations, and fractal geometry. ③ Construction uses GeoGebra commands Circle, Intersect, CircleArc, Point, Dilate, Segment, Angle, Rotate, Midpoint, Polygon, Vector, Translate, and Line to create circles, arcs, segments, vectors, and polygons, then applies successive rotations, dilations, and translations to produce the iterative figure. ④ Suitable for high‑school geometry electives, university geometric modeling courses, and GeoGebra animation workshops.

GeoGebra Commands & Parameters

  1. Circle(A, B) → c
  2. Intersect(c, q) → O, P
  3. CircleArc(A, O, P) → d
  4. Point(d) → C
  5. CircleArc(A, C, P) → e
  6. Point(e) → D
  7. Dilate(A, If[0 < j ≤ 1, 1 - j, 0], C) → A'
  8. Segment(A, A') → a
  9. Angle(C, A, D) → α
  10. Rotate(A, If[1 < j ≤ 2, ((j - 1) * α), α], A) → A'_1
  11. Rotate(A', If[1 < j ≤ 2, ((j - 1) * α), α], A) → A''
  12. Segment(A'_1, A'') → a'
  13. Segment(A, C) → b
  14. Segment(C, D) → f
  15. Segment(D, A) → g
  16. Midpoint(f) → E
  17. Segment(A, E) → h
  18. Midpoint(h) → F
  19. Segment(A, F) → i
  20. Segment(F, E) → k
  21. Circle(A, (0.35 * i)) → p
  22. Circle(E, (0.15 * Distance[D, E])) → r
  23. Intersect(r, f, 2) → G
  24. Intersect(r, h, 1) → H
  25. Intersect(r, f, 1) → I
  26. Intersect(p, b, 1) → J
  27. Intersect(p, h, 1) → K
  28. Intersect(p, g, 1) → L
  29. Circle(A, B) → c_1
  30. Dilate(C, If[2 < j ≤ 3, 3 - j, 0], D) → C'
  31. Segment(C, C') → l
  32. Polygon(C, D, A) → poly1, a_1, c_2, d_1
  33. Circle(C, (0.2 * Distance[D, E])) → e_1
  34. Intersect(e_1, b) → M,
  35. Intersect(e_1, f) → N,
  36. Dilate(A, If[3 < j ≤ 4, 4 - j, 0], F) → A'_2
  37. Dilate(F, If[5 < j ≤ 6, 6 - j, 0], E) → F'
  38. Dilate(E, If[6 < j ≤ 7, 7 - j, 0], D) → E'
  39. Rotate(E, If[7 < j ≤ 8, ((j - 7) * π), 3.141592653589793], E) → E'_1
  40. Rotate(E', If[7 < j ≤ 8, ((j - 7) * π), 3.141592653589793], E) → E''
  41. Dilate(C, If[9 < j ≤ 10, 10 - j, 0], D) → C'_1
  42. Vector(C, C'_1) → u
  43. Angle(E, C, A) → β
  44. Segment(C, A) → s
  45. Segment(D, A) → f_1
  46. Midpoint(s) → Q
  47. Midpoint(f_1) → R
  48. Dilate(C, If[3 < j ≤ 4, 4 - j, 0], Q) → C'_2
  49. Dilate(D, If[3 < j ≤ 4, 4 - j, 0], R) → D'
  50. Segment(C, C'_2) → i_1
  51. Segment(D, D') → j_1
  52. Rotate(C, If[4 < j ≤ 5, ((-(j - 4)) * π), (-π)], Q) → C'_3
  53. Rotate(C'_2, If[4 < j ≤ 5, ((-(j - 4)) * π), (-π)], Q) → S
  54. Segment(C'_3, S) → l_1
  55. Rotate(D, If[4 < j ≤ 5, ((j - 4) * π), π], R) → D'_1
  56. Rotate(D', If[4 < j ≤ 5, ((j - 4) * π), π], R) → D''
  57. Segment(D'_1, D'') → m
  58. Dilate(C, If[5 < j ≤ 6, 6 - j, 0], R) → C'_4
  59. Segment(C, C'_4) → n
  60. Dilate(D, If[6 < j ≤ 7, 7 - j, 0], Q) → D'_2
  61. Segment(D, D'_2) → t
  62. Dilate(R, If[7 < j ≤ 8, 8 - j, 0], D) → R'
  63. Vector(R, R') → v
  64. Translate(C, v) → C'_5
  65. Translate(C'_4, v) → T
  66. Segment(C'_5, T) → n'
  67. Line(C, R) → g_1
  68. Line(D, g_1) → h_1
  69. Point(h_1) → U
  70. Angle(Q, D, U) → δ
  71. Rotate(C'_5, If[8 < j ≤ 9, ((-(j - 8)) * δ), (-δ)], D) → V
  72. Rotate(T, If[8 < j ≤ 9, ((-(j - 8)) * δ), (-δ)], D) → T'
  73. Segment(V, T') → n''