Interactive Linear Transformations of R² with Matrices

Interactive Linear Transformations of R² with Matrices
Loading the math board and drawing, please wait…
2020-08-26 03:28
This GeoGebra example demonstrates linear transformations on the real plane R² using 2×2 transformation matrices. It visually illustrates how points, polygons, circles, spline curves, and function graphs are transformed under scaling, rotation, reflection, shear, dilation, and projection. Core mathematical concepts include linear algebra, transformation matrices, coordinate geometry, geometric transformations, function graphing, and the geometric interpretation of matrix operations. The construction employs GeoGebra commands such as Point, Polygon, ApplyMatrix, Circle, Spline, Segment, Line, OrthogonalLine, and Intersect, together with interactive controls like SelectedIndex, Textfield, If, and InputBox1. Key objects include scaling matrices S_x and S_y, rotation matrix R_θ, shear matrices Sh_x and Sh_y, reflection matrix Ref_l, and transformed function objects such as DilatedFunc, RotatedFunc, ReflFunc, and ProjFunc. Suitable for high school advanced mathematics, university linear algebra and analytic geometry courses, classroom demonstrations, and student self-directed exploration of the geometric meaning of matrices.

GeoGebra Commands & Parameters

  1. Point(yAxis) → B
  2. Polygon(A, B, C, E) → q1, a, b, c, e
  3. ApplyMatrix(S_x, f) → HorizScaledFunc
  4. ApplyMatrix(S_y, f) → VertScaledFunc
  5. ApplyMatrix(D, f) → DilatedFunc
  6. ApplyMatrix(Sh_x, f) → HorizShearFunc
  7. SelectedIndex(M) → m
  8. ApplyMatrix(Sh_y, f) → VertShearFunc
  9. ApplyMatrix(Ref_l, f) → ReflFunc
  10. SelectedIndex(L) → l
  11. ApplyMatrix(R_θ, f) → RotatedFunc
  12. ApplyMatrix(R_θ, E) → E'
  13. ApplyMatrix(P, f) → ProjFunc
  14. Textfield(f) → InputBox1
  15. If(l ≟ 1, R_θ, l ≟ 6, Sh_y, l ≟ 7, Ref_l, l ≟ 8, P, l ≟ 2, S_x, l ≟ 3, S_y, l ≟ 4, D, l ≟ 5, Sh_x) → M_1
  16. Circle(F, G) → CircleOffOrigin
  17. ApplyMatrix(R_θ, CircleOffOrigin) → RotatedCircleOffOrigin
  18. ApplyMatrix(S_x, CircleOffOrigin) → HorixScaledCirlceOffOrigin
  19. ApplyMatrix(S_y, CircleOffOrigin) → VertScaledCircleOffOrigin
  20. ApplyMatrix(D, CircleOffOrigin) → DilatedCircleOffOrigin
  21. ApplyMatrix(Sh_x, CircleOffOrigin) → HorizShearCircleOffOrigin
  22. ApplyMatrix(Sh_y, CircleOffOrigin) → VertShearOffOrigin
  23. ApplyMatrix(Ref_l, CircleOffOrigin) → ReflCircleOffOrigin
  24. Point(g) → H
  25. Circle((0, 0), 1) → UnitCircle
  26. ApplyMatrix(Ref_l, A) → A'_{10}
  27. ApplyMatrix(Ref_l, B) → B'_{10}
  28. ApplyMatrix(Ref_l, C) → C'_{10}
  29. ApplyMatrix(Ref_l, E) → E'_{10}
  30. Polygon(A'_{10}, B'_{10}, C'_{10}, E'_{10}) → ReflSquare, a'_{10}, b'_{10}, c'_{10}, e'_{10}
  31. ApplyMatrix(R_θ, A) → A'_{11}
  32. ApplyMatrix(R_θ, B) → B'_{11}
  33. ApplyMatrix(R_θ, C) → C'_{11}
  34. ApplyMatrix(R_θ, E) → E'_{11}
  35. Polygon(A'_{11}, B'_{11}, C'_{11}, E'_{11}) → RotSquare, a'_{11}, b'_{11}, c'_{11}, e'_{11}
  36. ApplyMatrix(S_x, A) → A'_{12}
  37. ApplyMatrix(S_x, B) → B'_{12}
  38. ApplyMatrix(S_x, C) → C'_{12}
  39. ApplyMatrix(S_x, E) → E'_{12}
  40. Polygon(A'_{12}, B'_{12}, C'_{12}, E'_{12}) → HorizScaledSquare, a'_{12}, b'_{12}, c'_{12}, e'_{12}
  41. ApplyMatrix(S_x, A) → A'
  42. ApplyMatrix(S_x, B) → B'
  43. ApplyMatrix(S_x, C) → C'
  44. ApplyMatrix(S_x, E) → E'_1
  45. ApplyMatrix(S_y, A) → A'_1
  46. ApplyMatrix(S_y, B) → B'_1
  47. ApplyMatrix(S_y, C) → C'_1
  48. ApplyMatrix(S_y, E) → E'_2
  49. Polygon(A'_1, B'_1, C'_1, E'_2) → VertScaledSquare, a'_1, b'_1, c'_1, e'_2
  50. ApplyMatrix(D, A) → A'_2
  51. ApplyMatrix(D, B) → B'_2
  52. ApplyMatrix(D, C) → C'_2
  53. ApplyMatrix(D, E) → E'_3
  54. ApplyMatrix(D, A) → A'_3
  55. ApplyMatrix(D, B) → B'_3
  56. ApplyMatrix(D, C) → C'_3
  57. ApplyMatrix(D, E) → E'_4
  58. Polygon(A'_3, B'_3, C'_3, E'_4) → DilatedSquare, a'_3, b'_3, c'_3, e'_4
  59. ApplyMatrix(Sh_x, A) → A'_4
  60. ApplyMatrix(Sh_x, B) → B'_4
  61. ApplyMatrix(Sh_x, C) → C'_4
  62. ApplyMatrix(Sh_x, E) → E'_5
  63. Polygon(A'_4, B'_4, C'_4, E'_5) → HorizShearSquare, a'_4, b'_4, c'_4, e'_5
  64. ApplyMatrix(Sh_y, A) → A'_5
  65. ApplyMatrix(Sh_y, B) → B'_5
  66. ApplyMatrix(Sh_y, C) → C'_5
  67. ApplyMatrix(Sh_y, E) → E'_6
  68. Polygon(A'_5, B'_5, C'_5, E'_6) → VertShearSquare, a'_5, b'_5, c'_5, e'_6
  69. ApplyMatrix(P, A) → A'_6
  70. ApplyMatrix(P, B) → B'_6
  71. ApplyMatrix(P, C) → C'_6
  72. ApplyMatrix(P, E) → E'_7
  73. ApplyMatrix(P, A) → projA
  74. ApplyMatrix(P, B) → projB
  75. ApplyMatrix(P, C) → projC
  76. ApplyMatrix(P, E) → projE
  77. Spline({projA, projB, projC, projE}, 3) → ProjSquare
  78. ApplyMatrix(R_θ, UnitCircle) → RotUnitCircle
  79. ApplyMatrix(S_x, UnitCircle) → HorxShearUnitCircle
  80. ApplyMatrix(S_y, UnitCircle) → VertShearUnitCircle_1
  81. ApplyMatrix(D, UnitCircle) → DilateUnitCircle
  82. ApplyMatrix(Sh_x, UnitCircle) → HorizShearUnitCircle
  83. ApplyMatrix(Sh_y, UnitCircle) → VertShearUnitCircle
  84. ApplyMatrix(Ref_l, UnitCircle) → ReflUnitCircle
  85. Intersect(UnitCircle, g) → I, J
  86. Segment(I, J) → ProjUnitCircle
  87. Center(CircleOffOrigin) → K
  88. Line(K, g) → h
  89. Intersect(CircleOffOrigin, h) → N, O
  90. OrthogonalLine(O, g) → i
  91. OrthogonalLine(N, g) → j
  92. Intersect(i, g) → Q
  93. Intersect(g, h) → R
  94. Intersect(j, g) → S
  95. Segment(S, Q) → PorjCircleOffOrigin

AI Drawing Prompt Reference

Draw a graphic illustrating linear transformations in the 2D plane. Include original points, polygons, circles, and their transformed versions under scaling, rotation, reflection, shear, dilation, and projection. The construction order is: first draw the original objects, then apply the corresponding transformation matrices to generate the transformed graphics.
The prompt above was compiled from the original drawing commands and is for reference only.