Similar Triangles Inside a Right Triangle: Construction and Proof

Similar Triangles Inside a Right Triangle: Construction and Proof
Loading the math board and drawing, please wait…
2020-12-24 16:30
This example demonstrates how similar triangles arise inside a right triangle by adding auxiliary lines and tracking angle correspondences, then visually confirming that corresponding sides are proportional. The key math concepts are similar triangles (AA criterion and side-ratio properties), the angle structure of right triangles, and geometric construction using circles (via circle-based auxiliary arcs/sectors) together with perpendicular-line setup. Construction elements use GeoGebra commands reflected in the command list: Intersect to compute key points (e.g., A, B, C, D and their transformed counterparts), Circle and CircleSector to build circular auxiliary geometry, OrthogonalLine to impose right-angle constraints, Mirror and Dilate to generate symmetric and similarity-related configurations, Segment and Polygon to form and highlight the triangle/polygon regions, and Vector with Translate to encode directions and perform position updates consistently. The named transformed objects (A', C', D'', etc.) support following correspondences under transformations. Suitable for middle/high school geometry lessons on similarity, ratio proofs, and interactive construction; also useful for self-study and classroom demonstrations.

GeoGebra Commands & Parameters

  1. Intersect(xAxis, yAxis) → A
  2. Point(xAxis) → B
  3. Segment(A, B) → g
  4. Circle(B, 4) → c
  5. Circle(A, 3) → d
  6. Intersect(d, c) → C, D_{1}, ,
  7. Segment(C, A) → f
  8. Segment(C, B) → h
  9. OrthogonalLine(C, g) → i
  10. Intersect(i, g) → D
  11. Segment(C, D) → j
  12. Mirror(D, f) → D'
  13. Point(eq1) → G
  14. Point(Circle[G, 3]) → M
  15. Segment(G, M) → m
  16. Dilate(D, If[0 < a ≤ 1, 1 - a, 0], D') → H
  17. Segment(A, H) → k
  18. Segment(H, C) → l
  19. Segment(A, D) → n
  20. Circle(G, n) → r
  21. Circle(M, j) → s
  22. Intersect(r, s) → E, I, ,
  23. Dilate(D', If[1 < a ≤ 2, 2 - a, 0], E) → D''
  24. Dilate(A, If[1 < a ≤ 2, 2 - a, 0], G) → A'
  25. Dilate(C, If[1 < a ≤ 2, 2 - a, 0], M) → C'
  26. Segment(A', C') → q
  27. Segment(C', D'') → t
  28. Segment(D'', A') → b
  29. Mirror(D, h) → N
  30. Dilate(D, If[0 < a ≤ 1, 1 - a, 0], N) → D'_{1}
  31. Segment(C, D'_{1}) → e
  32. Segment(D'_{1}, B) → f_1
  33. Segment(D, B) → g_1
  34. Point(Circle[F, h]) → J
  35. Segment(F, J) → i_1
  36. Circle(J, g_1) → c_1
  37. Circle(F, j) → d_1
  38. Intersect(d_1, c_1) → K, L, ,
  39. Dilate(N, If[1 < a ≤ 2, 2 - a, 0], K) → N'
  40. Dilate(C, If[1 < a ≤ 2, 2 - a, 0], F) → C'_{1}
  41. Dilate(B, If[1 < a ≤ 2, 2 - a, 0], J) → B'
  42. Segment(N', C'_{1}) → j_1
  43. Segment(C'_{1}, B') → k_1
  44. Segment(B', N') → l_1
  45. Circle(A, 0.5) → e_1
  46. Intersect(e_1, g, 1) → O
  47. Intersect(e_1, f, 1) → P
  48. CircleSector(A, O, P) → p_1
  49. Dilate(A, If[0 < a ≤ 2, 2 - a, 0], G) → A'_{1}
  50. Vector(A, A'_{1}) → u
  51. Translate(p_1, u) → q_1
  52. Dilate(B, If[0 ≤ a ≤ 2, 2 - a, 0], J) → B'_{1}
  53. Circle(B, 0.5) → r_1
  54. Intersect(r_1, h, 1) → Q
  55. Intersect(r_1, g, 1) → R
  56. CircleSector(B, Q, R) → s_1
  57. Vector(B, B'_{1}) → v
  58. Translate(s_1, v) → t_1
  59. Circle(D, 0.3) → c_2
  60. Intersect(c_2, j) → S,
  61. Intersect(c_2, g) → T, U
  62. OrthogonalLine(T, g) → m_1
  63. OrthogonalLine(S, j) → n_1
  64. Intersect(m_1, n_1) → V
  65. Circle(E, 0.3) → d_2
  66. Segment(E, M) → a_1
  67. Segment(E, G) → b_1
  68. Intersect(d_2, a_1) → W,
  69. Intersect(d_2, b_1) → Z,
  70. OrthogonalLine(Z, b_1) → f_2
  71. OrthogonalLine(W, a_1) → g_2
  72. Intersect(f_2, g_2) → A_1
  73. Dilate(D, If[0 < a ≤ 2, 2 - a, 0], E) → D'_{2}
  74. Dilate(S, If[0 < a ≤ 2, 2 - a, 0], W) → S'
  75. Dilate(T, If[0 < a ≤ 2, 2 - a, 0], Z) → T'
  76. Dilate(V, If[0 < a ≤ 2, 2 - a, 0], A_1) → V'
  77. Polygon(T', D'_{2}, S', V') → q1, t', d'_{2}, s', v'
  78. Polygon(D, S, V, T) → q2, d_3, s_2, v_1, t_2
  79. Circle(K, 0.3) → e_2
  80. Segment(K, J) → h_2
  81. Segment(K, F) → i_2
  82. Intersect(e_2, h_2) → B_1,
  83. Intersect(e_2, i_2) → C_1,
  84. OrthogonalLine(B_1, h_2) → j_2
  85. OrthogonalLine(C_1, i_2) → k_2
  86. Intersect(j_2, k_2) → E_1
  87. Dilate(D, If[0 < a ≤ 2, 2 - a, 0], K) → D'_{3}
  88. Dilate(S, If[0 < a ≤ 2, 2 - a, 0], C_1) → S'_{1}
  89. Point(Circle[S, 0.3]) → F_1
  90. Segment(S, F_1) → l_2
  91. Point(Circle[D, 0.3]) → G_1
  92. Segment(D, G_1) → m_2
  93. Dilate(G_1, If[0 < a ≤ 2, 2 - a, 0], B_1) → H_1
  94. Dilate(F_1, If[0 < a ≤ 2, 2 - a, 0], E_1) → I_1
  95. Polygon(S'_{1}, I_1, H_1, D'_{3}) → q3, s'_{1}, n_2, p_2, d'_{3}
  96. Polygon(D, G_1, F_1, S) → q4, d_4, q_2, r_2, s_3
  97. Circle(C, 0.3) → c_3
  98. Intersect(c_3, h) → J_1,
  99. Intersect(c_3, f) → K_1,
  100. OrthogonalLine(J_1, h) → a_2
  101. OrthogonalLine(K_1, f) → b_2
  102. Intersect(b_2, a_2) → L_1
  103. Polygon(C, K_1, L_1, J_1) → q5, c_4, f_3, g_3, h_3

AI Drawing Prompt Reference

Start with a right triangle on a coordinate plane, with the right angle at the origin and the base along the x-axis. Draw a perpendicular from the top vertex to the base, creating two smaller right triangles. Reflect the foot of this perpendicular across both legs to get symmetric points. Outside the triangle, choose a point and a point on a circle centered there; draw a segment and use its length as a radius for circles that intersect to define new points. Apply scaling transformations to create two similar triangles on either side, connecting corresponding vertices with segments. Finally, draw a small circular arc at the right-angle vertex to indicate the angle.
The prompt above was compiled from the original drawing commands and is for reference only.