云朵是否为多边形分形?

云朵是否为多边形分形?
几何画板及绘图内容加载中,请稍等……
2020-05-24 15:51
①本范例演示如何通过 GeoGebra 构造和观察云朵形状的多边形分形;②涉及的核心数学概念包括分形几何、几何变换、线性方程、旋转、切线、对数、菱形等;③作图要点运用了 Sequence(数列)、Union(并集)、Line(线段)、Mirror(镜像)等 GeoGebra 命令,以及对象 z_1 至 z_6、list1 至 list6、s1 至 s6、A 至 D 等;④适合高中及以上数学学习者,用于理解分形几何在自然现象中的应用。

GeoGebra 命令及参数

  1. Sequence((Element[list1, k] - Element[list1, 1]) / (Element[list1, Length[list1]] - Element[list1, 1]), k, 1, Length[list1]) → l
  2. Union(Flatten[Sequence[Sequence[(Element[list1, k] * (1 - Element[l, j])) + (Element[l, j] * Element[list1, k + 1]), j, 1, Length[l] - 1], k, 0, Length[list1] - 1]], {Element[list1, Length[list1]]}) → list2
  3. Union(Flatten[Sequence[Sequence[(Element[list2, k] * (1 - Element[l, j])) + (Element[l, j] * Element[list2, k + 1]), j, 1, Length[l] - 1], k, 0, Length[list2] - 1]], {Element[list2, Length[list2]]}) → list3
  4. Union(Flatten[Sequence[Sequence[(Element[list3, k] * (1 - Element[l, j])) + (Element[l, j] * Element[list3, k + 1]), j, 1, Length[l] - 1], k, 0, Length[list3] - 1]], {Element[list3, Length[list3]]}) → list4
  5. Union(Flatten[Sequence[Sequence[(Element[list4, k] * (1 - Element[l, j])) + (Element[l, j] * Element[list4, k + 1]), j, 1, Length[l] - 1], k, 0, Length[list4] - 1]], {Element[list4, Length[list4]]}) → list5
  6. Union(Flatten[Sequence[Sequence[(Element[list5, k] * (1 - Element[l, j])) + (Element[l, j] * Element[list5, k + 1]), j, 1, Length[l] - 1], k, 0, Length[list5] - 1]], {Element[list5, Length[list5]]}) → list6
  7. Sequence(Segment[Element[list6, k], Element[list6, k + 1]], k, 1, Length[list6] - 1) → s6
  8. Sequence(Segment[Element[list5, k], Element[list5, k + 1]], k, 1, Length[list5] - 1) → s5
  9. Sequence(Segment[Element[list4, k], Element[list4, k + 1]], k, 1, Length[list4] - 1) → s4
  10. Sequence(Segment[Element[list3, k], Element[list3, k + 1]], k, 1, Length[list3] - 1) → s3
  11. Sequence(Segment[Element[list2, k], Element[list2, k + 1]], k, 1, Length[list2] - 1) → s2
  12. Sequence(Segment[Element[list1, k], Element[list1, k + 1]], k, 1, Length[list1] - 1) → s1
  13. Line(z_1, z_4) → a
  14. Mirror(s1, a) → s1'
  15. Mirror(s2, a) → s2'
  16. Mirror(s3, a) → s3'
  17. Mirror(s4, a) → s4'
  18. Mirror(s5, a) → s5'
  19. Mirror(s6, a) → s6'
  20. Mirror(list1, a) → list1'
  21. Sequence(Polygon[Element[list1, k], Element[list1, k + 1], Element[list1', k + 1], Element[list1', k]], k, 1, Length[list1] - 1) → l2
  22. Mirror(list2, a) → list2'
  23. Sequence(Polygon[Element[list2, k], Element[list2, k + 1], Element[list2', k + 1], Element[list2', k]], k, 1, Length[list2] - 1) → l3
  24. Mirror(list3, a) → list3'
  25. Sequence(Polygon[Element[list3, k], Element[list3, k + 1], Element[list3', k + 1], Element[list3', k]], k, 1, Length[list3] - 1) → l4
  26. Mirror(list4, a) → list4'
  27. Sequence(Polygon[Element[list4, k], Element[list4, k + 1], Element[list4', k + 1], Element[list4', k]], k, 1, Length[list4] - 1) → l5
  28. Mirror(list5, a) → list5'
  29. Sequence(Polygon[Element[list5, k], Element[list5, k + 1], Element[list5', k + 1], Element[list5', k]], k, 1, Length[list5] - 1) → l6
  30. Mirror(list6, a) → list6'
  31. Sequence(Polygon[Element[list6, k], Element[list6, k + 1], Element[list6', k + 1], Element[list6', k]], k, 1, Length[list6] - 1) → l7