Dynamic Construction of Squares and Parallelograms on a Triangle
Loading the math board and drawing, please wait…
This GeoGebra example demonstrates the dynamic construction of squares erected externally on the three sides of a triangle, together with associated parallelograms derived from the triangle's vertices and side points. Core mathematical concepts include triangles, squares, parallelograms, polygon properties, and planar geometric relationships such as intersection, midpoint, perpendicularity, and symmetry. The construction is based on GeoGebra commands Polygon, Segment, If, Line, Intersect, Ray, and Midpoint, involving polygon objects poly1, poly2, poly3 and point objects A, B, C, D, E, F, G, H, I, with Reset and Slide buttons for animation. It is suitable for middle school and high school plane geometry instruction, classroom demonstrations, and independent exploration of geometric construction and transformation.
GeoGebra Commands & Parameters
Polygon(B, A, 4) → poly3, r, s, t, a, H, ISegment(A, B) → fSegment(B, C) → gSegment(C, A) → hPolygon(C, B, 4) → poly1, i, j, k, l, D, EPolygon(A, C, 4) → poly2, m, n_1, p, q, F, GIf(t1 ≤ 1, Segment[B, B + (t1 * (D - B))], If[t1 ≤ 2, Segment[D, D + ((t1 - 1) * (E - D))], Segment[E, E + ((t1 - 2) * (C - E))]]) → eIf(t1 ≤ 1, Segment[B, B + (t1 * (D - B))], If[t1 ≤ 2, Segment[D, D + ((t1 - 1) * (E - D))], Segment[E, E + ((t1 - 2) * (C - E))]]) → f_1If(t2 ≤ 1, Segment[C, C + (t2 * (F - C))], If[t2 ≤ 2, Segment[F, F + ((t2 - 1) * (G - F))], Segment[G, G + ((t2 - 2) * (A - G))]]) → i_1If(t3 ≤ 1, Segment[A, A + (t3 * (H - A))], If[t3 ≤ 2, Segment[H, H + ((t3 - 1) * (I - H))], Segment[I, I + ((t3 - 2) * (B - I))]]) → g_1Line(E, n_1) → bLine(F, e) → cIntersect(b, c) → JLine(H, i_1) → dLine(G, s) → h_1Intersect(d, h_1) → KLine(I, j) → j_1Line(D, g_1) → k_1Intersect(k_1, j_1) → LSegment(E, E + (t4 * (J - E))) → l_1Segment(F, F + (t4 * (J - F))) → m_1Segment(G, G + (t5 * (K - G))) → p_1Segment(H, H + (t5 * (K - H))) → q_1Segment(I, I + (t6 * (L - I))) → r_1Segment(D, D + (t6 * (L - D))) → s_1Ray(L, B) → t_1Ray(K, A) → a_1Midpoint(F, G) → QMidpoint(H, I) → RMidpoint(D, E) → SSegment(L, L + (t7 * (Q - L))) → d_1Segment(J, J + (t7 * (R - J))) → c_1Intersect(d_1, c_1) → MSegment(K, K + (t7 * (S - K))) → b_1