Varignon's Theorem Demonstration
Loading the math board and drawing, please wait…
This example demonstrates Varignon's Theorem, showing that the diagonals of a parallelogram divide it into four equal-area triangles. Core math concepts include parallelograms, midpoints, vectors, and area calculations. Construction involves GeoGebra commands like Midpoint, Translate, Polygon, Rotate, and Segment. Suitable for high school mathematics education to understand geometric theorem proofs and area relationships.
GeoGebra Commands & Parameters
Midpoint(A, B) → EMidpoint(B, C) → FMidpoint(C, D) → GMidpoint(A, D) → HSemicircle(E - F, (0, 0)) → eSemicircle((0, 0), E - F) → cTranslate(Rotate[Polygon[Rotate[C, (((-180))° * Min[1, Max[0, t - 17.5]]), G], Rotate[F, (((-180))° * Min[1, Max[0, t - 17.5]]), G], Rotate[G, (((-180))° * Min[1, Max[0, t - 17.5]]), G]], (((-180))° * Min[1, Max[0, t - 18.5]]), H], ((F - E) * Min[1, Max[0, (0.5 * (t - 19.5))]])) → poly3Translate(Rotate[Rotate[Polygon[Rotate[B, (((-180))° * Min[1, Max[0, t - 16.5]]), F], Rotate[E, (((-180))° * Min[1, Max[0, t - 16.5]]), F], Rotate[F, (((-180))° * Min[1, Max[0, t - 16.5]]), F]], (((-180))° * Min[1, Max[0, t - 17.5]]), G], (((-180))° * Min[1, Max[0, t - 18.5]]), H], ((F - E) * Min[1, Max[0, (0.5 * (t - 19.5))]])) → poly2Polygon(Translate[A, ((F - E) * Min[1, Max[0, (0.5 * (t - 19.5))]])], Translate[E, ((F - E) * Min[1, Max[0, (0.5 * (t - 19.5))]])], Translate[H, ((F - E) * Min[1, Max[0, (0.5 * (t - 19.5))]])]) → poly1, a, h, jRotate(D, (((-180))° * Min[1, Max[0, t - 6]]), H) → D'Rotate(G, (((-180))° * Min[1, Max[0, t - 6]]), H) → G'Rotate(H, (((-180))° * Min[1, Max[0, t - 6]]), H) → H'Translate(Polygon[Rotate[D, (((-180))° * Min[1, Max[0, t - 18.5]]), H], Rotate[G, (((-180))° * Min[1, Max[0, t - 18.5]]), H], Rotate[H, (((-180))° * Min[1, Max[0, t - 18.5]]), H]], ((F - E) * Min[1, Max[0, (0.5 * (t - 19.5))]])) → poly4Polygon(A, B, C, D) → poly0, a_1, b, c_1, dSegment(Vertex[poly1, 1], Vertex[poly1, 2]) → a1Segment(Vertex[poly2, 1], Vertex[poly2, 2]) → a2Segment(Vertex[poly2, 3], Vertex[poly2, 2]) → e2Segment(Vertex[poly2, 3], Vertex[poly2, 1]) → b1Segment(Vertex[poly3, 3], Vertex[poly3, 2]) → e3Segment(Vertex[poly1, 1], Vertex[poly1, 3]) → d2Segment(Vertex[poly1, 2], Vertex[poly1, 3]) → e1Segment(Vertex[poly4, 2], Vertex[poly4, 3]) → e4Segment(Vertex[poly4, 1], Vertex[poly4, 3]) → d1Segment(Vertex[poly4, 1], Vertex[poly4, 2]) → c2Segment(E, Point[Segment[E, F], Min[1, Max[0, (3 * (t - 4 / 3))]]]) → f1Segment(A, Point[Segment[A, C], Min[1, Max[0, (3 * (t - 17 / 6))]]]) → f2Segment(E, F) → f11Segment(A, C) → f22Segment(H, Point[Segment[H, G], Min[1, Max[0, (3 * (t - 29 / 6))]]]) → f3Segment(H, G) → f33Polygon(A, B, C, D) → poly5, a_2, b_1, c_2, d_1Segment(E, Point[Segment[E, H], (3 * (t - 28 / 3))]) → g1Segment(B, Point[Segment[B, D], (3 * (t - 65 / 6))]) → g2Segment(Vertex[poly3, 2], Vertex[poly3, 1]) → b2Segment(Vertex[poly3, 1], Vertex[poly3, 3]) → c1If(2 > t > 1, Point[poly2, t - 1], If[4 ≥ t ≥ 2.5, Point[Polygon[B, A, C], t - 2.5], If[5.5 ≥ t ≥ 4.5, Point[Polygon[D, H, G], t - 4.5], If[7.5 ≥ t ≥ 6, Point[Polygon[D, A, C], t - 6], If[10 > t > 9, Point[poly1, t - 9], If[12 ≥ t ≥ 10.5, Point[Polygon[A, B, D], t - 10.5], If[13 > t > 12, Point[poly3, t - 12], If[t > 13.5, Point[Polygon[C, B, D], t - 13.5]]]]]]]]) → ISegment(E, H) → g11Segment(B, D) → g22Segment(F, Point[Segment[F, G], (3 * (t - 37 / 3))]) → g3Segment(F, G) → g33Corner(1, 5) → J
AI Drawing Prompt Reference
Draw a parallelogram and label its diagonals to demonstrate that they divide the shape into four equal-area triangles. First, sketch the parallelogram and identify the midpoints of all four sides. Connect these midpoints to form a smaller parallelogram inside. Then, draw semicircles connecting the opposite sides of the inner parallelogram to illustrate the area division.
The prompt above was compiled from the original drawing commands and is for reference only.