Dynamic Construction of Equilateral Triangles on Arbitrary Sides
Loading the math board and drawing, please wait…
This example dynamically illustrates the construction and properties of equilateral triangles built on the sides of any polygon. It involves core mathematical concepts such as equilateral triangle construction, rotation, vectors, parametric curves, and geometric transformations. The construction utilizes commands like Segment, Rotate, Angle, Point, Polygon, Midpoint, Dilate, Vector, Translate, and Line in GeoGebra. Suitable for high school and advanced mathematics education and geometric exploration.
GeoGebra Commands & Parameters
Segment(A, B) → fRotate(B, (a * π / 180), A) → B'Angle(B, A, B') → αRay(A, B') → gPoint(g) → CSegment(B, C) → hSegment(A, C) → iPolygon(A, B, C) → poly1, c, a_1, bPolygon(C, B, 3) → poly2, j, k, l, DPolygon(A, C, 3) → poly3, m, n, p, ERotate(A, If[0 < d ≤ 1, (d * π / 3), π / 3], A) → A'Rotate(C, If[0 < d ≤ 1, (d * π / 3), π / 3], A) → C'Segment(A', C') → i'Rotate(B, If[0 < d ≤ 1, (d * π / 3), π / 3], C) → B'_1Rotate(C, If[0 < d ≤ 1, (d * π / 3), π / 3], C) → C'_1Segment(B'_1, C'_1) → h'Rotate(B'_1, If[1 < d ≤ 2, ((d - 1) * π / 3), π / 3], D) → IRotate(C'_1, If[1 < d ≤ 2, ((d - 1) * π / 3), π / 3], D) → JSegment(I, J) → h''Rotate(A', If[1 < d ≤ 2, ((d - 1) * π / 3), π / 3], E) → A''Rotate(C', If[1 < d ≤ 2, ((d - 1) * π / 3), π / 3], E) → C''Segment(A'', C'') → i''Midpoint(E, D) → LDilate(D, If[4 < d ≤ 5, 5 - d, 0], L) → D'Dilate(L, If[5 < d ≤ 6, 6 - d, 0], E) → L'Rotate(D, If[6 < d ≤ 7, ((-(d - 6)) * π), (-π)], L) → D'_1Rotate(D', If[6 < d ≤ 7, ((-(d - 6)) * π), (-π)], L) → D''Dilate(A, If[3 < d ≤ 4, 4 - d, 0], D) → A'_1Dilate(D, If[5 < d ≤ 6, 6 - d, 0], B) → D'_2Vector(D, D'_2) → uTranslate(A, u) → A'_2Translate(A'_1, u) → FSegment(A'_2, F) → q'Line(E, B) → sSegment(A, B) → qRotate(A, If[2 < d ≤ 3, ((d - 2) * π / 3), π / 3], A) → A'_3Rotate(B, If[2 < d ≤ 3, ((d - 2) * π / 3), π / 3], A) → B'_2Segment(A'_3, B'_2) → q'_1Rotate(A'_3, If[3 < d ≤ 4, ((d - 3) * π / 3), π / 3], B'_2) → GRotate(B'_2, If[3 < d ≤ 4, ((d - 3) * π / 3), π / 3], B'_2) → HSegment(G, H) → rPolygon(A, B'_2, B) → t1, b_1, a_2, b'_2Dilate(C, If[5 < d ≤ 6, 6 - d, 0], E) → C'_2Vector(C, C'_2) → vTranslate(B'_1, v) → KTranslate(C'_1, v) → MSegment(K, M) → h''_1Dilate(C, If[6 < d ≤ 7, 7 - d, 0], D) → C'_3Vector(C, C'_3) → wTranslate(A'', w) → A'''Translate(C'', w) → C'''Segment(A''', C''') → i'''Polygon(E, C, D, B'_2) → q1, e, c_1, d_1, b'_1