Dynamic Geometry Phenomenon with Equilateral Triangles on a Parallelogram (GoGeo
Loading the math board and drawing, please wait…
①This example dynamically illustrates a fascinating geometric phenomenon: when equilateral triangles are constructed outward on each side of any parallelogram, certain vertices or connecting lines form special shapes (such as squares, parabolas, etc.), and the configuration changes as the parallelogram is modified. ②Core mathematical concepts include equilateral triangles, parallelograms, rotation, translation, dilation, circles, parabolas, and compositions of geometric transformations. ③Construction highlights: using GeoGebra commands such as Rotate, Translate, Dilate, along with basic objects like Point, Intersect, Segment, Circle, Ray, Line, and controlled by Angle and Min parameters, the equilateral triangles and their derived figures are built; the object list includes many points, segments, circles, arcs, and vectors, showcasing interactive dynamic geometry. ④Suitable for middle/high school geometry classes, math exploration activities, or teacher training in dynamic geometry software, helping to understand properties of equilateral triangles, parallelogram symmetry, and the role of transformations in geometric proofs.
GeoGebra Commands & Parameters
Rotate(B, a°, A) → B'Angle(B, A, B') → αRay(A, B) → fRay(A, B') → gLine(B, g) → hPoint(g) → CLine(C, f) → iIntersect(h, i) → DSegment(C, D) → jSegment(A, B) → kSegment(B, D) → lSegment(A, C) → mMin(m, k) → bCircle(C, (0.2 * b)) → dCircle(A, (0.2 * b)) → eCircle(B, (0.2 * b)) → pCircle(D, (0.2 * b)) → cIntersect(e, k, 1) → EIntersect(e, m, 1) → FIntersect(p, k, 1) → GIntersect(p, l, 1) → HIntersect(d, g, 2) → IRay(C, I) → qIntersect(c, h, 2) → JRay(D, J) → rIntersect(c, i, 2) → KRay(D, K) → sDilate(A, If[0 < o ≤ 1, 1 - o, 0], B) → A'Segment(A, A') → tRotate(E, If[1 < o ≤ 2, ((o - 1) * α), α], A) → E'CircleSector(A, E, E') → c_1Dilate(A, If[2 < o ≤ 3, 3 - o, 0], C) → A'_1Vector(A, A'_1) → uTranslate(c_1, u) → d_1Segment(A, A'_1) → f_1Dilate(C, If[3 < o ≤ 4, 4 - o, 0], D) → C'Vector(C, C') → vTranslate(d_1, v) → e_1Segment(C, C') → g_1Dilate(D, If[4 < o ≤ 5, 5 - o, 0], B) → D'Segment(D, D') → h_1Polygon(A, B, D, C) → poly1, a_1, b_1, d_2, c_2Dilate(A, If[5.5 < o ≤ 6.5, 6.5 - o, 0], C) → A'_2Vector(A, A'_2) → wTranslate(A, w) → A'_3Translate(A', w) → A''Dilate(A, If[6.5 < o ≤ 7.5, 7.5 - o, 0], B) → A'_4Vector(A, A'_4) → u_1Translate(A, u_1) → A'_5Translate(A'_1, u_1) → LRotate(B, π / 3, D) → B'_1Rotate(D, π / 3, C) → D'_1Rotate(A, π / 3, B) → A'_6Rotate(C, π / 3, A) → C'_1Rotate(D, If[6 < o ≤ 7, ((-(o - 6)) * π / 3), ((-π)) / 3], B) → D'_2Rotate(D', If[6 < o ≤ 7, ((-(o - 6)) * π / 3), ((-π)) / 3], B) → D''Segment(D'_2, D'') → i_1Rotate(C, If[6 < o ≤ 7, ((-(o - 6)) * π / 3), ((-π)) / 3], D) → C'_2Rotate(C', If[6 < o ≤ 7, ((-(o - 6)) * π / 3), ((-π)) / 3], D) → C''Segment(C'_2, C'') → j_1Rotate(A, If[6 < o ≤ 7, ((-(o - 6)) * π / 3), ((-π)) / 3], C) → A'_7Rotate(A'_1, If[6 < o ≤ 7, ((-(o - 6)) * π / 3), ((-π)) / 3], C) → MSegment(A'_7, M) → k_1Rotate(A, If[6 < o ≤ 7, ((-(o - 6)) * π / 3), ((-π)) / 3], A) → A'_8Rotate(A', If[6 < o ≤ 7, ((-(o - 6)) * π / 3), ((-π)) / 3], A) → A''_1Segment(A'_8, A''_1) → t'Rotate(D, If[7 < o ≤ 8, ((o - 7) * π / 3), π / 3], D) → D'_3Rotate(D', If[7 < o ≤ 8, ((o - 7) * π / 3), π / 3], D) → D''_1Segment(D'_3, D''_1) → l_1Rotate(C, If[7 < o ≤ 8, ((o - 7) * π / 3), π / 3], C) → C'_3Rotate(C', If[7 < o ≤ 8, ((o - 7) * π / 3), π / 3], C) → C''_1Segment(C'_3, C''_1) → m_1Rotate(A, If[7 < o ≤ 8, ((o - 7) * π / 3), π / 3], A) → A'_9Rotate(A'_1, If[7 < o ≤ 8, ((o - 7) * π / 3), π / 3], A) → NSegment(A'_9, N) → n_1Rotate(A, If[7 < o ≤ 8, ((o - 7) * π / 3), π / 3], B) → A'_{10}Rotate(A', If[7 < o ≤ 8, ((o - 7) * π / 3), π / 3], B) → A''_2Segment(A'_{10}, A''_2) → t'_1Polygon(B, B'_1, D) → poly2, d_3, b_2, b'_1Polygon(B, A, A'_6) → poly3, a'_6, b_3, a_2Polygon(A, C, C'_1) → poly4, c'_1, a_3, c_3Polygon(C, D, D'_1) → poly5, d'_1, c_4, d_4Dilate(A'_6, If[8 < o ≤ 9, 9 - o, 0], B'_1) → OSegment(A'_6, O) → p_1Dilate(B'_1, If[9 < o ≤ 10, 10 - o, 0], D'_1) → PSegment(B'_1, P) → q_1Dilate(A'_6, If[10 < o ≤ 11, 11 - o, 0], C'_1) → QVector(A'_6, Q) → v_1Translate(A'_6, v_1) → RTranslate(O, v_1) → O'Segment(R, O') → r_1Dilate(B'_1, If[11 < o ≤ 12, 12 - o, 0], A'_6) → SVector(B'_1, S) → w_1Translate(B'_1, w_1) → TTranslate(P, w_1) → P'Segment(T, P') → s_1
AI Drawing Prompt Reference
Draw a parallelogram with equilateral triangles constructed outward on each side. Connect certain vertices of these triangles to reveal special shapes like squares and parabolas. Include circles, arcs, rays, and segments, with a slider controlling dynamic transformations such as rotation, translation, and scaling of the triangles. Emphasize symmetry and the interplay of geometric transformations.
The prompt above was compiled from the original drawing commands and is for reference only.