Building a drawable surface with similarity transformations and triangles

Building a drawable surface with similarity transformations and triangles
Loading the math board and drawing, please wait…
2020-08-06 04:56
This example demonstrates how to create a drawable “surface” by starting from basic geometric elements and applying similarity transformations, including dilation (scaling) together with operations such as translation and mirroring. The construction emphasizes key ideas in geometry: similarity transformations (similarity ratio), triangle-based partitioning, and the use of auxiliary points like midpoints and centroids to control the shape and proportions. It also relies on vectors, rays/lines, and intersection points to determine each surface patch consistently. In GeoGebra, the model is built using commands such as Vector, Translate, Circle, Point, Ray, OrthogonalLine, Mirror, Segment, facecachée3points, Polygon, fachequadrlatèrecachée, Midpoint, Line, Intersect, and Centroid. The scene is organized through named geometric objects (e.g., base points and patch-defining points like O, A1, B, P, Q, R, S, T, U, V, W, Z_1) and parameters controlling size and view (e.g., Zoom, Vue, k, l, m, n). Suitable for late secondary school through early university students, especially for lessons on similarity transformations, geometric construction, and visualization of surface facets in GeoGebra.

GeoGebra Commands & Parameters

  1. Vector(B, Z) → w
  2. Vector(B, X) → u
  3. Translate(O, Vector[(Length * u)]) → P
  4. Vector(B, Y) → v
  5. Translate(P, Vector[(Width * v)]) → Q
  6. Circle(Vue, 0.2) → d
  7. Point(d) → C
  8. Ray(Vue, C) → e_2
  9. OrthogonalLine(Vue, yAxis) → a
  10. OrthogonalLine(Vue, xAxis) → b
  11. Translate(Q, Vector[(Hauteur * w)]) → R
  12. Mirror(R, O) → S
  13. Mirror(R, Q) → T
  14. Mirror(T, P) → U
  15. Mirror(R, P) → V
  16. Mirror(U, O) → W
  17. Mirror(T, O) → Z_1
  18. Mirror(V, O) → A1
  19. Segment(Z_1, U) → k
  20. Segment(U, V) → l
  21. Segment(V, T) → m
  22. Segment(T, W) → n
  23. Segment(W, A1) → p
  24. Segment(A1, Z_1) → q
  25. Segment(A1, R) → r
  26. Segment(R, T) → s
  27. Segment(R, U) → t
  28. Segment(Z_1, S) → a1
  29. Segment(S, W) → b1
  30. Segment(S, V) → c1
  31. facecachée3points(W, S, Z_1) → B1
  32. facecachée3points(Z_1, A1, S) → C1
  33. Polygon(C1, A1, B1, S) → poly2, c1_1, a1_1, b1_1, s_1
  34. fachequadrlatèrecachée(Z_1, U, V, S) → poly4, d1, f1, j1, k1
  35. fachequadrlatèrecachée(A1, R, U, Z_1) → poly5, l1, m1, n1, p1
  36. fachequadrlatèrecachée(W, S, V, T) → poly6, q1, r1, s1, t1
  37. fachequadrlatèrecachée(U, R, T, V) → poly7, a2, b2, c2, d2
  38. fachequadrlatèrecachée(R, A1, W, T) → poly8, e2, f2, g2, h2
  39. Polygon(S, W, T, V) → poly1, s_2, w_1, t_1, v_1
  40. Midpoint(Z_1, R) → A
  41. Translate(A, Vector[(Expand * w)]) → D
  42. Translate(R, Vector[(Expand * w)]) → E
  43. Translate(A1, Vector[(Expand * w)]) → F
  44. Translate(Z_1, Vector[(Expand * w)]) → G
  45. Translate(U, Vector[(Expand * w)]) → H
  46. Polygon(F, E, H, G) → poly3, f_1, e_1, h_1, g_1
  47. Mirror(F, O) → F'
  48. Mirror(E, O) → E'
  49. Mirror(H, O) → H'
  50. Mirror(G, O) → G'
  51. Polygon(F', E', H', G') → poly3', f', e', h', g'
  52. Translate(R, Vector[(Expand * u)]) → I
  53. Translate(T, Vector[(Expand * u)]) → J
  54. Translate(U, Vector[(Expand * u)]) → K
  55. Translate(V, Vector[(Expand * u)]) → L
  56. Polygon(K, I, J, L) → poly9, k_1, i_1, j, l_1
  57. Mirror(K, O) → K'
  58. Mirror(I, O) → I'
  59. Mirror(J, O) → J'
  60. Mirror(L, O) → L'
  61. Polygon(K', I', J', L') → poly9', k', i', j', l'
  62. Translate(A1, Vector[(Expand * v)]) → M
  63. Translate(R, Vector[(Expand * v)]) → N
  64. Translate(W, Vector[(Expand * v)]) → D1
  65. Translate(T, Vector[(Expand * v)]) → E1
  66. Polygon(M, D1, E1, N) → poly10, m_1, d1_1, e1, n_1
  67. Mirror(M, O) → M'
  68. Mirror(D1, O) → D1'
  69. Mirror(E1, O) → E1'
  70. Mirror(N, O) → N'
  71. Polygon(M', D1', E1', N') → poly10', m', d1', e1', n'
  72. Midpoint(n') → A_1
  73. Midpoint(A_1, M') → B_1
  74. Midpoint(B_1, M') → C_1
  75. Midpoint(B_1, A_1) → D_1
  76. Midpoint(B_1, C_1) → E_1
  77. Midpoint(C_1, M') → F_1
  78. Line(F_1, m') → e
  79. Line(E_1, e) → g
  80. Midpoint(e1') → G_1
  81. Midpoint(G_1, E1') → H_1
  82. Midpoint(H_1, E1') → I_1
  83. Line(I_1, d1') → h
  84. Intersect(h, g) → J_1
  85. Intersect(e, h) → K_1
  86. Polygon(E1', D1', M', F_1, K_1, J_1, E_1, N') → poly11, e1'_1, d1'_1, m'_1, f_2, k_2, j_1, e_3, n'_1
  87. Midpoint(m_1) → L_1
  88. Midpoint(D1, L_1) → M_1
  89. Line(M_1, d1_1) → i
  90. Midpoint(L_1, M) → N_1
  91. Line(N_1, i) → a_1
  92. Midpoint(D1, E1) → O_1
  93. Midpoint(O_1, E1) → P_1
  94. Line(P_1, e1) → b_1
  95. Line(O_1, m_1) → c_1
  96. Intersect(a_1, c_1) → Q_1
  97. Intersect(c_1, i) → R_1
  98. Intersect(b_1, i) → S_1
  99. Intersect(a_1, b_1) → T_1
  100. Polygon(N, M, D1, O_1, Q_1, T_1, S_1, P_1, E1) → poly12, n_2, m_2, d1_2, o_1, q_1, t_2, s_3, p_1, e1_1
  101. Polygon(S_1, R_1, O_1, P_1) → poly13, s_4, r_1, o_2, p_2
  102. Midpoint(Q_1, T_1) → U_1
  103. Midpoint(R_1, S_1) → V_1
  104. Midpoint(Q_1, R_1) → W_1
  105. Midpoint(W_1, R_1) → A_2
  106. Midpoint(W_1, Q_1) → B_2
  107. Segment(U_1, V_1) → d_1
  108. Midpoint(T_1, S_1) → C_2
  109. Midpoint(C_2, T_1) → D_2
  110. Midpoint(C_2, S_1) → E_2
  111. Segment(B_2, D_2) → a_2
  112. Segment(W_1, C_2) → b_2
  113. Segment(A_2, E_2) → c_2
  114. Midpoint(Q_1, U_1) → F_2
  115. Midpoint(U_1, T_1) → G_2
  116. Midpoint(R_1, V_1) → H_2
  117. Midpoint(V_1, S_1) → I_2
  118. Segment(F_2, H_2) → d_2
  119. Segment(G_2, I_2) → g_2
  120. Polygon(Q_1, T_1, S_1, R_1) → poly14, q_2, t_3, s_5, r_2
  121. Polygon(E_1, J_1, K_1, F_1) → poly15, e_4, j_2, k_3, f_3
  122. Midpoint(I, L) → J_2
  123. Midpoint(E1', M') → K_2
  124. Midpoint(L', I') → L_2
  125. Midpoint(M, E1) → M_2
  126. Midpoint(M, E1) → N_2
  127. Midpoint(E1, M) → O_2
  128. Midpoint(M, E1) → P_2
  129. Midpoint(E_1, M) → Q_2
  130. Midpoint(N, D1) → R_2
  131. Midpoint(n_1) → S_2
  132. Midpoint(d1_1) → T_2
  133. Polygon(A_3, D_3, V_2, U_2) → poly16, a_3, d_3, v_2, u_2
  134. Polygon(B_3, C_3, Z_2, W_2) → poly17, b_3, c_3, z_2, w_2
  135. Polygon(E_3, G_3, J_3, F_3) → poly18, e_5, g_3, j_3, f_4
  136. Polygon(K_3, H_3, I_3, L_3) → poly19, k_4, h_3, i_3, l_3
  137. Midpoint(D_3, U_2) → M_3
  138. Midpoint(C_3, W_2) → N_3
  139. Midpoint(J_3, E_3) → O_3
  140. Midpoint(L_3, H_3) → P_3
  141. Midpoint(U_2, V_2) → Q_3
  142. Midpoint(Q_3, V_2) → R_3
  143. Midpoint(R_3, V_2) → S_3
  144. Midpoint(R_3, Q_3) → T_3
  145. Midpoint(D_3, V_2) → U_3
  146. Midpoint(U_3, D_3) → V_3
  147. Line(V_3, a_3) → l_2
  148. Midpoint(S_3, V_2) → W_3
  149. Midpoint(R_3, W_3) → Z_3
  150. Midpoint(R_3, Z_3) → A_4
  151. Line(A_4, d_3) → h_2
  152. Line(W_3, d_3) → i_2
  153. Intersect(h_2, l_2) → B_4
  154. Intersect(l_2, i_2) → C_4
  155. Polygon(A_4, B_4, C_4, W_3) → poly20, a_4, b_4, c_4, w_3
  156. Intersect(w_2, z_2) → D_4
  157. Midpoint(C_3, Z_2) → E_4
  158. Midpoint(E_4, N_3) → F_4
  159. Midpoint(Z_2, W_2) → G_4
  160. Midpoint(Z_2, G_4) → H_4
  161. Midpoint(E_4, Z_2) → I_4
  162. Midpoint(C_3, E_4) → J_4
  163. Midpoint(b_3) → K_4
  164. Midpoint(C_3, K_4) → L_4
  165. Line(J_4, b_3) → m_3
  166. Midpoint(F_4, E_4) → M_4
  167. Line(M_4, c_3) → n_3
  168. Line(K_4, w_2) → p_3
  169. Line(I_4, z_2) → q_3
  170. Intersect(m_3, p_3) → N_4
  171. Intersect(n_3, m_3) → O_4
  172. Intersect(q_3, n_3) → P_4
  173. Intersect(p_3, q_3) → Q_4
  174. Polygon(N_4, O_4, P_4, Q_4) → poly21, n_4, o_4, p_4, q_4
  175. Polygon(R_4, S_4, U_4, T_4) → q2, r_4, r_3, u_4, t_4
  176. Centroid(poly3) → V_4
  177. Centroid(q2) → W_4
  178. Polygon(Vue, AA, BB, CC) → q3, vue, aa, bb, cc

AI Drawing Prompt Reference

Create a drawable surface using similarity transformations and triangles. Start by generating points and segments with vectors w, u, v, and w from point O, then use mirroring, rotation, and translation to create multiple quadrilaterals and triangles. Finally, control the shape and proportions with auxiliary points like A, D, E, F, and so on.
The prompt above was compiled from the original drawing commands and is for reference only.