Isosceles Triangles and Rhombus in Unit Circle Translation Animation
Loading the math board and drawing, please wait…
This example demonstrates a dynamic geometry animation based on a unit circle, where isosceles triangles, quadrilaterals, and rhombi are constructed through rotations, translations, and dilations, and their motion is observed as parameters change. The core mathematical concepts include properties of isosceles triangles, rhombus criteria, angle relationships on the unit circle, vector translation and scaling, and composition of geometric transformations. The construction uses GeoGebra commands such as Rotate, Angle, Ray, Point, Circle, Intersect, Segment, Line, LineBisector, CircleSector, Dilate, Vector, Translate, Midpoint, and Polygon, involving many auxiliary objects like B_1, C, A', α, f, g, etc. It is suitable for high school or early college students to understand geometric transformations and dynamic constructions, and also serves as an animated demonstration for teachers.
GeoGebra Commands & Parameters
Rotate(B_1, 45°, C) → A'Angle(B_1, C, A') → αRay(C, A') → fRay(C, B_1) → gRotate(A', 45°, C) → A''Angle(A', C, A'') → βRay(C, A'') → hPoint(f) → ACircle(C, A) → cIntersect(c, h, 1) → DSegment(A, D) → iLine(A, g) → jIntersect(j, h) → ELineBisector(A, E) → kIntersect(k, g) → BSegment(A, B) → lSegment(B, E) → mCircle(C, m / 2) → dIntersect(d, h, 1) → FSegment(B, F) → nSegment(A, C) → pSegment(C, B) → qLine(C, F) → rCircle(C, 1) → eIntersect(e, r, 1) → GRay(C, G) → sCircle(E, (0.3 * Distance[E, D])) → tIntersect(t, j, 2) → HIntersect(t, h, 2) → ICircleSector(E, H, I) → c_1Segment(A, E) → aSegment(D, C) → bRotate(c_1, If[0 < o ≤ 1, ((-o) * π / 2), ((-π)) / 2], E) → d_1Dilate(E, If[1.5 < o ≤ 2.5, 2.5 - o, 0], C) → E'Vector(E, E') → uTranslate(d_1, u) → e_1Circle(C, Radius[t]) → f_1Intersect(f_1, p, 1) → JIntersect(f_1, q) → K,Dilate(C, If[2.5 < o ≤ 3.5, 3.5 - o, 0], A) → C'Rotate(D, If[2.5 < o ≤ 3.5, ((-(o - 2.5)) * π / 4), ((-π)) / 4], C) → D'Rotate(C, If[2.5 < o ≤ 3.5, ((-(o - 2.5)) * π / 4), ((-π)) / 4], C) → C'_1Segment(D', C'_1) → b'Intersect(f_1, b) → L,CircleSector(C, J, L) → g_1Rotate(g_1, If[4 < o ≤ 5, ((-(o - 4)) * π / 4), ((-π)) / 4], C) → h_1Segment(C, F) → i_1Segment(F, E) → j_1Segment(E, D) → k_1Dilate(C, If[5 < o ≤ 6, 6 - o, 0], F) → C'_2Segment(C, C'_2) → l_1Midpoint(B, E) → MDilate(B, If[6 < o ≤ 7, 7 - o, 0], M) → B'Segment(B, B') → m_1Dilate(M, If[7 < o ≤ 8, 8 - o, 0], E) → M'Segment(M, M') → n_1Line(M, j_1) → p_1Point(p_1) → NAngle(N, M, B) → γDilate(F, If[8 < o ≤ 9, 9 - o, 0], M) → F'Vector(F, F') → vTranslate(C, v) → C'_3Translate(C'_2, v) → OSegment(C'_3, O) → q_1Rotate(C'_3, If[9 < o ≤ 10, ((-(o - 9)) * (π - γ)), (-(π - γ))], M) → PRotate(O, If[9 < o ≤ 10, ((-(o - 9)) * (π - γ)), (-(π - γ))], M) → O'Segment(P, O') → r_1Rotate(P, If[10 < o ≤ 11, ((-(o - 10)) * π), (-π)], M) → P'Rotate(O', If[10 < o ≤ 11, ((-(o - 10)) * π), (-π)], M) → O''Segment(P', O'') → s_1Angle(A, B, E) → δRotate(P, If[11 < o ≤ 12, ((-(o - 11)) * δ), (-δ)], B) → P'_1Rotate(O', If[11 < o ≤ 12, ((-(o - 11)) * δ), (-δ)], B) → O''_1Segment(P'_1, O''_1) → t_1Rotate(P', If[11 < o ≤ 12, ((-(o - 11)) * δ), (-δ)], B) → P''Rotate(O'', If[11 < o ≤ 12, ((-(o - 11)) * δ), (-δ)], B) → O'''Segment(P'', O''') → a_1Dilate(A, If[12 < o ≤ 13, 13 - o, 0], D) → A'_1Segment(B, D) → f_2Circle(B, f_2 / 3) → c_2Intersect(c_2, f_2, 1) → QCircle(Q, f_2 / 3) → d_2Intersect(d_2, f_2, 2) → RDilate(B, If[13 < o ≤ 14, 14 - o, 0], Q) → B'_1Dilate(Q, If[14 < o ≤ 15, 15 - o, 0], R) → B'_2Dilate(R, If[15 < o ≤ 16, 16 - o, 0], D) → R'Segment(B, B'_1) → g_2Segment(Q, B'_2) → h_2Segment(R, R') → i_2Angle(D, B, C) → εRotate(C, If[16 < o ≤ 17, ((-(o - 16)) * ε), (-ε)], B) → C'_4Rotate(B, If[16 < o ≤ 17, ((-(o - 16)) * ε), (-ε)], B) → B'_3Segment(C'_4, B'_3) → q'Rotate(C'_4, If[17 < o ≤ 18, ((o - 17) * π), π], Q) → SRotate(B'_3, If[17 < o ≤ 18, ((o - 17) * π), π], Q) → TSegment(S, T) → q''Rotate(S, If[18 < o ≤ 19, ((o - 18) * π), π], R) → S'Rotate(T, If[18 < o ≤ 19, ((o - 18) * π), π], R) → T'Segment(S', T') → q'''Segment(B, F) → j_2Circle(B, q / 2) → e_2Intersect(e_2, j_2, 1) → UCircle(U, q / 2) → k_2Intersect(k_2, j_2, 2) → VDilate(B, If[19 < o ≤ 20, 20 - o, 0], U) → B'_4Dilate(U, If[20 < o ≤ 21, 21 - o, 0], V) → U'Dilate(V, If[21 < o ≤ 22, 22 - o, 0], F) → V'Dilate(F, If[19 < o ≤ 20, 20 - o, 0], V) → F'_1Dilate(V, If[20 < o ≤ 21, 21 - o, 0], U) → V'_1Dilate(U, If[21 < o ≤ 22, 22 - o, 0], B) → U'_1Segment(F, F'_1) → l_2Segment(V, V'_1) → m_2Segment(U, U'_1) → n_2Angle(F, B, C) → ζRotate(F, If[22 < o ≤ 23, ((o - 22) * π), π], V) → F'_2Rotate(F'_1, If[22 < o ≤ 23, ((o - 22) * π), π], V) → WSegment(F'_2, W) → p_2Rotate(F'_2, If[23 < o ≤ 24, ((o - 23) * π), π], U) → ZRotate(W, If[23 < o ≤ 24, ((o - 23) * π), π], U) → W'Segment(Z, W') → q_2Rotate(Z, If[24 < o ≤ 25, ((o - 24) * ζ), ζ], B) → Z'Rotate(W', If[24 < o ≤ 25, ((o - 24) * ζ), ζ], B) → W''Segment(Z', W'') → r_2Rotate(Z', If[25 < o ≤ 26, ((o - 25) * π), π], Z') → Z''Rotate(W'', If[25 < o ≤ 26, ((o - 25) * π), π], Z') → W'''Segment(Z'', W''') → s_2Polygon(A, D, C, B) → poly1, a_2, d_3, c_3, b_2Segment(A, D) → b_1