Matrix Multiplications for Transformations with Homogeneous Coordinates

Matrix Multiplications for Transformations with Homogeneous Coordinates
Loading the math board and drawing, please wait…
2016-01-14 23:17
This example demonstrates how to use homogeneous coordinates for geometric transformations via matrix multiplications. Key concepts include homogeneous coordinates, matrix multiplication, and geometric transformations. It utilizes commands like Segment, Point, Circle, Angle, Vector, Polygon, etc. Suitable for high school mathematics education and learning.

GeoGebra Commands & Parameters

  1. Segment(Pos + (0.25, -0.5), Pos + (0.25, -4)) → ps
  2. Point(ps) → Nv
  3. Circle(M_0, M_1) → d
  4. Point(d) → M_2
  5. Angle(M_1, M_0, M_2) → dw
  6. Point(xAxis) → S_x
  7. Point(yAxis) → S_y
  8. Vector((0, 0), P_1) → v_1
  9. Vector((0, 0), T) → v_T
  10. Vector((0, 0), P_2) → v_2
  11. Vector((0, 0), P_3) → v_3
  12. Vector(P_1, P_1 + v_T) → v_{t1}
  13. Vector(P_2, P_2 + v_T) → v_{t2}
  14. Vector(P_3, P_3 + v_T) → v_{t3}
  15. Polygon(Q_1, Q_2, Q_3) → Vieleck2, a, b, c
  16. Polygon(P_1, P_2, P_3) → Vieleck1, p_3, p_1, p_2
  17. CircleArc(M_0, M_1, M_2) → e
  18. If(tr ≟ 0, "1", If[w0, "\textcolor{red}{" + (Text[cos(dw)]) + "}", "\textcolor{red}{cos(\alpha)}"]) → A_{11}
  19. If(tr ≟ 0, "0", If[w0, "\textcolor{red}{" + (Text[(-sin(dw))]) + "}", "\textcolor{red}{-sin(\alpha)}"]) → A_{12}
  20. If(tr ≟ 0, If[w0, "\textcolor{red}{" + (Text[x(T)]) + "}", "\textcolor{red}{v_{tx}}"], "0") → A_{13}
  21. If(tr ≟ 0, "0", If[w0, "\textcolor{red}{" + (Text[sin(dw)]) + "}", "\textcolor{red}{sin(\alpha)}"]) → A_{21}
  22. If(tr ≟ 0, "1", If[w0, "\textcolor{red}{" + (Text[cos(dw) + "}"]), "\textcolor{red}{cos(\alpha)}"]) → A_{22}
  23. If(tr ≟ 0, If[w0, "\textcolor{red}{" + (Text[y(T)]) + "}", "\textcolor{red}{v_{ty}}"], "0") → A_{23}
  24. CircleArc((0, 0), P_1, (0, 0) + w_1) → k_1
  25. CircleArc((0, 0), P_2, (0, 0) + w_2) → k_2
  26. CircleArc((0, 0), P_3, (0, 0) + w_3) → k_3
  27. Vector((0, 0), S_x) → u_{sx}
  28. Vector((0, 0), S_y) → u_{sy}
  29. Vector((0, 0), Sch) → u_{sch}
  30. Sequence(Pos + (Element[Pos_2, i, 1], Element[Pos_2, i, 2]), i, 1, 5) → Lnv