Vector Transformations to Draw Polygons

Vector Transformations to Draw Polygons
Loading the math board and drawing, please wait…
2018-12-04 16:47
This example demonstrates how to draw complex polygons using vector transformations and geometric operations. The core math concepts involved include vectors, translation, reflection, sequences, and coordinate geometry. Key construction elements use GeoGebra commands and objects like Vector, Translate, Mirror, Sequence, Element, CurveCartesian, and Surface. Suitable for high school and above students to explore geometric transformations and polygon constructions.

GeoGebra Commands & Parameters

  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