Similar Triangles (AAA) Construction and Demonstration
Loading the math board and drawing, please wait…
This GeoGebra example dynamically demonstrates the Angle-Angle-Angle (AAA) criterion for triangle similarity. The core mathematical concept is that if three corresponding angles of two triangles are equal, the triangles are similar, meaning their corresponding sides are proportional. The construction uses commands such as Segment, Ray, Line to create triangle sides, Angle to mark angles, and Rotate, Dilate, Translate to generate a second triangle with identical angles but different size. Polygon commands build the triangular regions, while Point and Intersect determine key vertices. The object list (Q, P, a, R, b, c, etc.) shows a step-by-step geometric construction from basic elements to a complete figure. This resource is suitable for middle-to-high school students learning triangle similarity theorems, and serves as an interactive tool for teachers to illustrate the AAA criterion or for students to explore and verify the property independently.
GeoGebra Commands & Parameters
Segment(Q, P) → aSegment(P, R) → bSegment(R, Q) → cCircle(M, (k * a)) → dPoint(d) → LSegment(M, L) → eCircle(L, (k * b)) → fAngle(Q, P, R) → αRotate(M, α, L) → D'Angle(M, L, D') → βRay(L, D') → gIntersect(f, g, 1) → FAngle(R, Q, P) → γRotate(L, (-γ), M) → E'Angle(E', M, L) → δRay(M, E') → hSegment(M, E') → iSegment(E', L) → jLine(L, D') → lLine(L, D') → nCircle(M, (k * c)) → pRay(M, E') → mIntersect(p, m, 1) → GSegment(L, G) → qSegment(M, G) → rDilate(M, If[0 < s ≤ 1, 1 - s], Q) → D'_1Vector(M, D'_1) → uPolygon(Q, R, P) → poly1, b_1, a_1, c_1Polygon(M, L, G) → poly2, g_1, d_1, e_1Translate(M, u) → D'_2Translate(L, u) → E'_1Translate(G, u) → G'Polygon(D'_2, E'_1, G') → poly2', g', d'_2, e'_1Vector(M, Q) → vTranslate(M, v) → D'_3Translate(L, v) → E'_2Translate(G, v) → G'_1Polygon(D'_3, E'_2, G'_1) → poly2'_1, g'_1, d'_3, e'_2Segment(D'_1, G') → tSegment(E'_1, D'_1) → h_1Segment(Q, G'_1) → i_1Segment(G'_1, E'_2) → j_1Segment(E'_2, Q) → k_1Angle(R, Q, E'_2) → εIf(ε > γ, ε - γ, γ - ε) → ζRotate(D'_3, If[1 < s ≤ 2, ((-(s - 1)) * ζ), (-ζ)], Q) → HRotate(E'_2, If[1 < s ≤ 2, ((-(s - 1)) * ζ), (-ζ)], Q) → IRotate(G'_1, If[1 < s ≤ 2, ((-(s - 1)) * ζ), (-ζ)], Q) → JPolygon(H, I, J) → poly3, j_2, h_2, i_2Segment(Q, J) → l_1Segment(Q, I) → m_1Segment(I, J) → n_1Dilate(J, If[2 < s ≤ 3, 3 - s, 0], R) → J'Dilate(I, If[2 < s ≤ 3, 3 - s, 0], P) → I'Segment(I', J') → p_1Angle(Q, I', J') → ηAngle(Q, I, J) → θAngle(D'_2, E'_1, G') → ιAngle(J, Q, I) → λAngle(G', D'_1, E'_1) → μPolygon(Q, J', I') → poly4, i', a_2, j'Angle(Q, I, J) → νSegment(G'_1, E'_2) → q_1Segment(G', E'_1) → f_1Angle(G'_1, Q, E'_2) → κAngle(Q, E'_2, G'_1) → ξRotate(D'_3, ((s - 1) * ζ), Q) → KRotate(D'_3, If[1 < s ≤ 2, ((s - 1) * ζ), ζ], Q) → L_1Rotate(E'_2, If[1 < s ≤ 2, ((s - 1) * ζ), ζ], Q) → M_1Rotate(G'_1, If[1 < s ≤ 2, ((s - 1) * ζ), ζ], Q) → N_1Polygon(L_1, M_1, N_1) → poly5, n_2, l_2, m_2Dilate(M_1, If[2 < s ≤ 3, 3 - s, 0], P) → M'Dilate(N_1, If[2 < s ≤ 3, 3 - s, 0], R) → N'Segment(M', N') → r_1Polygon(Q, M', N') → poly6, n', a_3, m'Angle(Q, M', N') → οAngle(Q, M_1, N_1) → ρSegment(Q, M_1) → t_1Segment(M_1, N_1) → b_2Segment(Q, N_1) → c_2Angle(P, Q, R) → σAngle(G, L, M) → τAngle(N_1, M_1, Q) → υAngle(N', M', Q) → ϕAngle(Q, R, P) → χAngle(M, G, L) → ωIntersect(q, r) → N