等腰三角形旋转分形动画演示

等腰三角形旋转分形动画演示
几何画板及绘图内容加载中,请稍等……
2016-06-16 07:59
① 本范例演示一组等腰三角形通过旋转、缩放与平移生成的分形边界动画。② 涉及等腰三角形性质、多边形周长、旋转变换、相似缩放、分形几何等核心概念。③ 作图使用 Circle、Intersect、CircleArc、Point、Dilate、Segment、Angle、Rotate、Midpoint、Polygon、Vector、Translate、Line 等命令,构建圆、弧、线段、向量、多边形并依次应用旋转、缩放、平移生成迭代图形。④ 适合高中几何选修、大学几何建模课程及 GeoGebra 动画制作教学演示。

GeoGebra 命令及参数

  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''