Square in a Right-angled Triangle
Loading the math board and drawing, please wait…
This example demonstrates how to construct a square inside a right-angled triangle. It involves core mathematical concepts such as geometric construction, coordinate geometry, transformation, and optimization. Key GeoGebra commands and objects used include Polygon, Intersect, Segment, Point, Min, If, Max, and Rotate. Suitable for high school mathematics teaching or exploration by geometry enthusiasts.
GeoGebra Commands & Parameters
Polygon(A, B, C) → poly1, c, a, bIntersect(Line[C, C + (1, 1)], c) → DPolygon(C, E, D, F) → poly2, c_1, e, d, fPolygon(A, D, E) → poly3, e_1, a_1, d_1Polygon(D, B, F) → poly4, f_1, d_2, b_1Segment(G, G + (9, 0)) → gPoint(g) → HMin((x(H) - x(G)) / (g / 3), 1) → t1If(x(H) < x(G) + 3, 0, If[x(H) < x(G) + 6, (x(H) - x(G) - g / 3) / (g / 3), 1]) → t2Max((x(H) - x(G) - (2 * g / 3)) / (g / 3), 0) → t3Rotate(Polygon[Translate[C, Vector[(t1 * Vector[C, I])]], Translate[E, Vector[(t1 * Vector[C, I])]], Translate[D, Vector[(t1 * Vector[C, I])]], Translate[F, Vector[(t1 * Vector[C, I])]]], ((t1 * 180))°, Translate[C, Vector[(t1 * Vector[C, I])]]) → poly5Rotate(Polygon[Translate[A, Vector[(t1 * Vector[C, I])]], Translate[D, Vector[(t1 * Vector[C, I])]], Translate[E, Vector[(t1 * Vector[C, I])]]], ((t1 * 180))°, Translate[C, Vector[(t1 * Vector[C, I])]]) → poly6Rotate(Polygon[Translate[D, Vector[(t1 * Vector[C, I])]], Translate[B, Vector[(t1 * Vector[C, I])]], Translate[F, Vector[(t1 * Vector[C, I])]]], ((t1 * 180))°, Translate[C, Vector[(t1 * Vector[C, I])]]) → poly7Rotate(Translate[D, Vector[(t1 * Vector[C, I])]], ((t1 * 180))°, Translate[C, Vector[(t1 * Vector[C, I])]]) → JRotate(Translate[E, Vector[(t1 * Vector[C, I])]], ((t1 * 180))°, Translate[C, Vector[(t1 * Vector[C, I])]]) → KRotate(Translate[F, Vector[(t1 * Vector[C, I])]], ((t1 * 180))°, Translate[C, Vector[(t1 * Vector[C, I])]]) → LRotate(Polygon[Translate[C, Vector[(t2 * Vector[C, M])]], Translate[E, Vector[(t2 * Vector[C, M])]], Translate[D, Vector[(t2 * Vector[C, M])]], Translate[F, Vector[(t2 * Vector[C, M])]]], 0°, Translate[C, Vector[(t2 * Vector[C, M])]]) → poly8Rotate(Polygon[Translate[D, Vector[(t2 * Vector[C, M])]], Translate[B, Vector[(t2 * Vector[C, M])]], Translate[F, Vector[(t2 * Vector[C, M])]]], 0°, Translate[C, Vector[(t2 * Vector[C, M])]]) → poly9Rotate(Translate[poly7, Vector[(t2 * Vector[J, N])]], 0°, Translate[J, Vector[(t2 * Vector[J, N])]]) → poly10Rotate(Translate[poly6, Vector[(t3 * Vector[B, N])]], ((t3 * 90))°, Translate[B, Vector[(t3 * Vector[B, N])]]) → poly11Rotate(Translate[poly5, Vector[(t3 * Vector[B, N])]], ((t3 * 90))°, Translate[B, Vector[(t3 * Vector[B, N])]]) → poly12Rotate(Polygon[Translate[A, Vector[(t3 * Vector[D, N])]], Translate[D, Vector[(t3 * Vector[D, N])]], Translate[E, Vector[(t3 * Vector[D, N])]]], ((t3 * 90))°, Translate[D, Vector[(t3 * Vector[D, N])]]) → poly13Polygon(C, E, D, F) → poly14, c_2, e_2, d_3, f_2Polygon(A, D, E) → poly15, e_3, a_2, d_4Polygon(D, B, F) → poly16, f_3, d_5, b_2Rotate(Polygon[Translate[C, Vector[(t1 * Vector[C, I])]], Translate[E, Vector[(t1 * Vector[C, I])]], Translate[D, Vector[(t1 * Vector[C, I])]], Translate[F, Vector[(t1 * Vector[C, I])]]], ((t1 * 180))°, Translate[C, Vector[(t1 * Vector[C, I])]]) → poly17Rotate(Polygon[Translate[D, Vector[(t1 * Vector[C, I])]], Translate[B, Vector[(t1 * Vector[C, I])]], Translate[F, Vector[(t1 * Vector[C, I])]]], ((t1 * 180))°, Translate[C, Vector[(t1 * Vector[C, I])]]) → poly18Rotate(Polygon[Translate[A, Vector[(t1 * Vector[C, I])]], Translate[D, Vector[(t1 * Vector[C, I])]], Translate[E, Vector[(t1 * Vector[C, I])]]], ((t1 * 180))°, Translate[C, Vector[(t1 * Vector[C, I])]]) → poly19Rotate(Polygon[Translate[C, Vector[(t2 * Vector[C, M])]], Translate[E, Vector[(t2 * Vector[C, M])]], Translate[D, Vector[(t2 * Vector[C, M])]], Translate[F, Vector[(t2 * Vector[C, M])]]], 0°, Translate[C, Vector[(t2 * Vector[C, M])]]) → poly20Rotate(Polygon[Translate[D, Vector[(t2 * Vector[C, M])]], Translate[B, Vector[(t2 * Vector[C, M])]], Translate[F, Vector[(t2 * Vector[C, M])]]], 0°, Translate[C, Vector[(t2 * Vector[C, M])]]) → poly21Rotate(Translate[poly7, Vector[(t2 * Vector[J, N])]], 0°, Translate[J, Vector[(t2 * Vector[J, N])]]) → poly22Rotate(Polygon[Translate[A, Vector[(t3 * Vector[D, N])]], Translate[D, Vector[(t3 * Vector[D, N])]], Translate[E, Vector[(t3 * Vector[D, N])]]], ((t3 * 90))°, Translate[D, Vector[(t3 * Vector[D, N])]]) → poly23Rotate(Translate[poly6, Vector[(t3 * Vector[B, N])]], ((t3 * 90))°, Translate[B, Vector[(t3 * Vector[B, N])]]) → poly24Rotate(Translate[poly5, Vector[(t3 * Vector[B, N])]], ((t3 * 90))°, Translate[B, Vector[(t3 * Vector[B, N])]]) → poly25Segment(B, I) → hSegment(A, I) → iSegment(M, N) → jSegment(N, Q) → kSegment(P, Q) → lSegment(M, P) → mSegment(R, N) → nSegment(R, S) → pSegment(S, Q) → q