通过向量变换绘制多边形

通过向量变换绘制多边形
几何画板及绘图内容加载中,请稍等……
2018-12-04 16:47
这个范例演示了如何通过向量变换和几何操作绘制复杂的多边形。涉及的核心数学概念包括向量、平移、镜像、序列和解析几何。作图要点使用了GeoGebra的Vector、Translate、Mirror、Sequence、Element、CurveCartesian、Surface等命令和对象。适合高中及以上学生学习和探索几何变换与多边形构造。

GeoGebra 命令及参数

  1. Vector(O, X) → w
  2. Vector(O, Z) → u
  3. Vector(O, Y) → v
  4. Translate(O, Vector[(g * u)]) → A_1
  5. Segment(O, A_1) → d
  6. Mirror(A_1, O) → E_1
  7. Segment(E_1, O) → i
  8. Sequence(CurveCartesian[x(O) + ((R * cos(j°)) * sin(i)^(2)), y(O) + ((R * sin(j°)) * sin(i)^(2)), z(O) + ((R * h) * cos(i)), j, 0, 360], i, tt, t, π / ((2 * n))) → liste1
  9. Element(liste1, Length[liste1]) → aa
  10. Translate(aa, Vector[A, B]) → aa'
  11. Sequence((x(A) + ((R - 0.15) * cos(i)), y(A) + ((R - 0.15) * sin(i)), z(A)), i, 0, 6.28319, (2 * π / m)) → liste3
  12. Sequence((x(B) + ((R - 0.15) * cos(i)), y(B) + ((R - 0.15) * sin(i)), z(B)), i, 0, 6.28319, (2 * π / m)) → liste4
  13. Sequence(Segment[Element[liste3, i], Element[liste4, i]], i, 1, Length[liste3]) → liste5
  14. Sequence((x(C) + ((R - 0.175) * cos(i + 0.05)), y(C) + ((R - 0.175) * sin(i + 0.05)), z(C)), i, 0, 6.28319, (2 * π / m)) → liste6
  15. Sequence((x(C) + ((R - 0.25) * cos(i + 0.086)), y(C) + ((R - 0.25) * sin(i + 0.086)), z(C)), i, 0, 6.28319, (2 * π / m)) → liste9
  16. Sequence(Segment[Element[liste4, i], Element[liste6, i]], i, 1, Length[liste4]) → liste8
  17. Sequence(Segment[Element[liste4, i + 1], Element[liste9, i]], i, 1, Length[liste4]) → liste10
  18. Sequence((x(D) + ((R - 0.25) * cos(i + 0.05)), y(D) + ((R - 0.25) * sin(i + 0.05)), z(D)), i, 0, 6.28319, (2 * π / m)) → liste7
  19. Sequence((x(D) + ((R - 0.25) * cos(i + 0.086)), y(D) + ((R - 0.25) * sin(i + 0.086)), z(D)), i, 0, 6.28319, (2 * π / m)) → liste11
  20. Sequence(Segment[Element[liste6, i], Element[liste7, i]], i, 1, Length[liste6]) → liste12
  21. Sequence(Segment[Element[liste9, i], Element[liste11, i]], i, 1, Length[liste10]) → liste13
  22. CurveCartesian(x(O) + (R * sin(i°)), y(O) - (R * cos(i°)), z(O) - (R * sin(i°)), i, 0, 360) → e
  23. CurveCartesian(x(D) + ((R - 0.25) * cos(i°)), y(D) - ((R - 0.25) * sin(i°)), z(D), i, 0, 360) → j
  24. CurveCartesian(x(O) + (R * sin(i°)^(3)), y(O) - (R * cos(i°)^(3)), z(O) - (R * sin(i°)^(3)), i, 0, 360) → f
  25. CurveCartesian(x(O) + (R * sin(i°)), y(O) - (R * cos(i°)), z(O) - ((R * 0) * sin(i°)), i, 0, 360) → h_1
  26. CurveCartesian(x(E) + ((R - 0.25) * cos(i°)), y(E) - ((R - 0.25) * sin(i°)), z(E), i, 0, 360) → o
  27. CurveCartesian(x(E) + ((R - 0.3) * cos(i°)), y(E) - ((R - 0.3) * sin(i°)), z(E), i, 0, 360) → p
  28. CurveCartesian(x(I) + ((R - 3.75) * cos(i°)), y(I) - ((R - 3.75) * sin(i°)), z(I) - 0.2, i, 0, 360) → s
  29. Surface(x(O) + (((R - 0.05) * cos(j°)) * sin(i)^(2)), y(O) + (((R - 0.05) * sin(j°)) * sin(i)^(2)), z(O) + (((R - 0.05) * h) * cos(i)), j, 0, 360, i, tt, t) → c
  30. Sequence((x(H) + ((R - 2.3) * cos(i)), y(H) - ((R - 2.3) * sin(i)), z(H) + 0.05), i, 0, 6.28319, (2 * π / n)) → liste15
  31. Sequence(Segment[Element[liste15, i], I], i, 1, Length[liste15]) → liste16
  32. Sequence((x(H) + ((R - 2.3) * cos(i + 0.15)), y(H) - ((R - 2.3) * sin(i + 0.15)), z(H) - 0.05), i, 0, 6.28319, (4 * π / n)) → liste17
  33. Sequence(Polygon[Element[liste17, i], Element[liste15, i], I], i, 1, Length[liste17]) → liste18
  34. CurveCartesian(x(P), y(P) + (0.25 * cos(i°)), z(P) - (0.25 * sin(i°)), i, 0, 180) → q
  35. Segment(P, N) → r
  36. Segment(N, M) → a_1
  37. Segment(M, L) → b_1
  38. CurveCartesian(x(I) + ((R - 3.75) * cos(i°)), y(I) - ((R - 3.75) * sin(i°)), z(I) - 0.2, i, 0, 360) → c_1
  39. CurveCartesian(x(E) + ((R - 0.3) * cos(i°)), y(O) - ((R - 0.3) * sin(i°)), z(E), i, 0, 360) → pp
  40. Sequence(Translate[p, Vector[(Vector[E, FF] * i)]], i, 0, 1, 0.01) → liste19
  41. Sequence(Translate[p, Vector[(Vector[E, G] * i)]], i, 0, 1, 0.01) → liste14
  42. CurveCartesian(x(B) + ((R - 0.175) * cos(i°)), y(B) - ((R - 0.175) * sin(i°)), z(B) + 0.225, i, 0, 360) → l
  43. Sequence((x(B) + ((R - 0.175) * cos(i°)), y(B) - ((R - 0.175) * sin(i°)), z(B) + 0.35), i, 0, 360, 120 / n) → liste20
  44. Segment(Q, P) → d_1
  45. Sequence(CurveCartesian[x(O) + ((R * cos(j°)) * sin(i)^(2)), y(O) + ((R * sin(j°)) * sin(i)^(2)), z(O) + ((R * h) * cos(i)), i, tt, t], j, 0, 360, 270 / n) → liste2