GoGeometry 191: Comprehensive Geometric Transformations
Loading the math board and drawing, please wait…
This example demonstrates how to use GeoGebra to construct a comprehensive geometric figure including parallelograms, squares, isosceles triangles, rhombuses, and 3D vectors. Core mathematical concepts cover plane geometry properties, vector operations, geometric transformations (rotation, dilation, translation, reflection), and 3D vector representation. Construction key points: Use Point for key vertices, Polygon for shapes, Dilate for scaling, Rotate for rotation, Vector and Translate for vector operations, Mirror for reflection, CircleArc and CircleSector for arcs and sectors, Midpoint for midpoint finding, and OrthogonalLine for perpendicular lines. This example is suitable for middle school geometry teaching, vector concept instruction, and GeoGebra skill training, demonstrating relationships and transformation rules between geometric figures.
GeoGebra Commands & Parameters
Point(xAxis) → APoint(Ray[A, A + (1, 0)]) → B_2Polygon(A, B_2, 4) → poly1, a, b, c, d, C, DSegment(B_2, C) → hDilate(A, If[0 < e ≤ 1, 1 - e, 0], B_2) → A'Rotate(A', If[1 < e ≤ 2, ((-(e - 1)) * π / 2), -1.5707963267948966], B_2) → A''Rotate(A'', If[2 < e ≤ 3, ((-(e - 2)) * π / 2), -1.5707963267948966], C) → A'''Rotate(A, If[1 < e ≤ 2, ((-(e - 1)) * π / 2), -1.5707963267948966], B_2) → A'_1Rotate(A'_1, If[2 < e ≤ 3, ((-(e - 2)) * π / 2), -1.5707963267948966], C) → RSegment(R, A''') → f''Segment(A, B_2) → gCircle(B_2, g) → q_2Ray(A, B_2) → m_2Intersect(q_2, m_2, 2) → J_1Segment(B_2, J_1) → n_2Point(Ray[B_2, B_2 + (1, 0)]) → K_1Segment(B_2, K_1) → r_2Circle(K_1, r_2) → t_2OrthogonalLine(K_1, r_2) → s_2Intersect(t_2, s_2, 2) → L_1OrthogonalLine(L_1, h) → f_3Intersect(f_3, h) → M_1Dilate(A, If[17 < e ≤ 18, 18 - e, 0], M_1) → A'_4Line(K_1, M_1) → i_2Midpoint(A, C) → VCircleArc(V, C, D) → g_2Point(g_2) → BSegment(C, B) → j_1Segment(A, B) → nIntersect(n, f'') → ZSegment(B, Z) → l_1Segment(A, A') → fSegment(A'_1, A'') → f'Segment(C, D) → iCircle(B_2, (0.25 * r_2)) → pSegment(D, A) → jCircle(C, Radius[p]) → kCircle(A, (0.1 * j)) → qCircle(D, (0.1 * j)) → rSegment(A, C) → lSegment(D, B_2) → mIntersect(r, j, 1) → FIntersect(r, m, 1) → GIntersect(r, i, 1) → HIntersect(k, i, 1) → IIntersect(k, l, 1) → JIntersect(k, h, 1) → KIntersect(p, h, 1) → LIntersect(p, m, 1) → MIntersect(p, g, 1) → NIntersect(q, g, 1) → OIntersect(q, l, 1) → PIntersect(q, j, 1) → QCircleSector(B_2, L, N) → sRotate(R, If[3 < e ≤ 4, ((-(e - 3)) * π / 2), -1.5707963267948966], D) → R'Rotate(A''', If[3 < e ≤ 4, ((-(e - 3)) * π / 2), -1.5707963267948966], D) → SSegment(R', S) → f'''Dilate(B_2, If[4 < e ≤ 5, 5 - e, 0], C) → B'Vector(B_2, B') → uTranslate(s, u) → s'Rotate(s', If[5 < e ≤ 6, ((e - 5) * π / 2), 1.5707963267948966], C) → s''Dilate(C, If[6 < e ≤ 7, 7 - e, 0], D) → C'Vector(C, C') → vTranslate(s'', v) → s'''Rotate(s''', If[7 < e ≤ 8, ((e - 7) * π / 2), 1.5707963267948966], D) → tDilate(D, If[8 < e ≤ 9, 9 - e, 0], A) → D'Vector(D, D') → wTranslate(t, w) → t'Rotate(t', If[9 < e ≤ 10, ((e - 9) * π / 2), 1.5707963267948966], A) → t''Dilate(B_2, If[18 < e ≤ 19, 19 - e, 0], C) → B'_1Dilate(B_2, If[18 < e ≤ 19, 19 - e, 0], A) → B'_2Dilate(B_2, If[18 < e ≤ 19, 19 - e, 0], D) → B'_3Vector(B_2, B'_1) → v_1Vector(B_2, B'_3) → w_1Vector(B_2, B'_2) → i_1Circle(A, n - j_1) → h_2Dilate(B, If[10 < e ≤ 11, 11 - e, 0], C) → W'Dilate(B_2, If[13 < e ≤ 14, 14 - e, 0], B) → B'_4Vector(B_2, B'_4) → u_1Translate(s, u_1) → s'_1Line(B, f') → a_1Point(a_1) → UAngle(U, B, C) → αRotate(B, If[14 < e ≤ 15, ((-(e - 14)) * π / 2), ((-π)) / 2], B) → W'_2Rotate(W', If[14 < e ≤ 15, ((-(e - 14)) * π / 2), ((-π)) / 2], B) → W''Line(A, B_2) → h_1Angle(B, A, D) → βDilate(D, If[19 < e ≤ 20, 20 - e, 0], B) → D'_1Mirror(C, D) → C'_1Rotate(C, ((-π)) / 3, B_2) → C'_2Segment(B_2, C'_2) → f_1Segment(C, C'_2) → g_1Intersect(k, g_1, 1) → EIntersect(k, h) → T,CircleSector(C, T, E) → d_1Rotate(D, 15°, C) → D'_2Angle(D, C, D'_2) → γRay(C, D'_2) → k_1Rotate(C, (-(15°)), D) → C'_3Angle(C'_3, D, C) → δRay(D, C'_3) → m_1Intersect(k_1, m_1) → WRotate(B_2, If[10 < e ≤ 11, (((-π)) / 3 * (e - 10)), ((-π)) / 3], B_2) → A_1Rotate(C, If[10 < e ≤ 11, (((-π)) / 3 * (e - 10)), ((-π)) / 3], B_2) → C'_4Rotate(B_2, If[11 < e ≤ 12, (π / 3 * (e - 11)), π / 3], C) → B_1Rotate(C, If[11 < e ≤ 12, (π / 3 * (e - 11)), π / 3], C) → C'_5Rotate(E, If[12 < e ≤ 13, (((-π)) / 6 * (e - 12)), ((-π)) / 6], C) → E'Polygon(C, W, D) → poly2, d_2, c_2, w_2Polygon(A, W, D) → poly3, d_3, a_2, w_3Polygon(B_2, W, C) → poly4, c_3, b_2, w_4Polygon(A, B_2, W) → poly5, w_5, a_3, b_1Rotate(T, 15°, C) → T'Angle(T, C, T') → εRay(C, T') → q_1Dilate(C, If[21 < e ≤ 22, 22 - e, 0], D) → C'_8Vector(C, C'_8) → u_2Dilate(D, If[23 < e ≤ 24, 24 - e, 0], W) → D'_3Dilate(C, If[23 < e ≤ 24, 24 - e, 0], W) → C'_9Dilate(B_2, If[25 < e ≤ 26, 26 - e, 0], W) → G_1Dilate(A, If[25 < e ≤ 26, 26 - e, 0], W) → A'_2Rotate(B_2, If[26.75 < e ≤ 27.75, (π / 2 * (e - 26.75)), π / 2], B_2) → H_1Rotate(C'_2, If[26.75 < e ≤ 27.75, (π / 2 * (e - 26.75)), π / 2], B_2) → I_1Rotate(C, If[26.75 < e ≤ 27.75, (π / 2 * (e - 26.75)), π / 2], B_2) → C'_{10}Dilate(B_2, If[10 < e ≤ 11, 11 - e, 0], K_1) → C_1Segment(B_2, C_1) → n_1Rotate(B_2, If[11 < e ≤ 12, ((-(e - 11)) * π / 2), ((-π)) / 2], K_1) → D_1Rotate(C_1, If[11 < e ≤ 12, ((-(e - 11)) * π / 2), ((-π)) / 2], K_1) → E_1Segment(D_1, E_1) → p_1Rotate(D_1, If[12 < e ≤ 13, ((-(e - 12)) * π / 2), ((-π)) / 2], L_1) → F_1Rotate(E_1, If[12 < e ≤ 13, ((-(e - 12)) * π / 2), ((-π)) / 2], L_1) → N_1Segment(F_1, N_1) → r_1Rotate(F_1, If[13 < e ≤ 14, ((-(e - 13)) * π / 2), ((-π)) / 2], M_1) → O_1Rotate(N_1, If[13 < e ≤ 14, ((-(e - 13)) * π / 2), ((-π)) / 2], M_1) → P_1Segment(O_1, P_1) → s_1Polygon(B_2, K_1, L_1, M_1) → poly6, b_3, k_2, l_3, m_3Dilate(B_2, If[14 < e ≤ 15, 15 - e, 0], K_1) → Q_1Vector(B_2, Q_1) → c_1Translate(s, c_1) → s'_2Segment(C, K_1) → e_1Line(A, M_1) → t_1Intersect(t_1, e_1) → R_1Segment(A, R_1) → f_2Dilate(C, If[15 < e ≤ 16, 16 - e, 0], K_1) → C'_6Dilate(A, If[16 < e ≤ 17, 17 - e, 0], M_1) → A'_3Dilate(M_1, If[17 < e ≤ 18, 18 - e, 0], R_1) → S_1Line(R_1, p_1) → g_3Point(g_3) → U_1Angle(U_1, R_1, K_1) → ζPolygon(A, B_2, C, D) → poly7, a_4, b_4, c_4, d_4Dilate(K_1, If[15 < e ≤ 16, 16 - e, 0], M_1) → W_1Line(A, K_1) → k_3Rotate(D_1, If[15 < e ≤ 16, ((-(e - 15)) * π / 2), ((-π)) / 2], K_1) → H_2Rotate(E_1, If[15 < e ≤ 16, ((-(e - 15)) * π / 2), ((-π)) / 2], K_1) → I_2Segment(H_2, I_2) → f_4Rotate(B_2, If[15 < e ≤ 16, ((-(e - 15)) * π / 2), ((-π)) / 2], K_1) → J_2Rotate(K_1, If[15 < e ≤ 16, ((-(e - 15)) * π / 2), ((-π)) / 2], K_1) → K_2Rotate(L_1, If[15 < e ≤ 16, ((-(e - 15)) * π / 2), ((-π)) / 2], K_1) → L_2Rotate(M_1, If[15 < e ≤ 16, ((-(e - 15)) * π / 2), ((-π)) / 2], K_1) → M_2Polygon(J_2, K_2, L_2, M_2) → poly6'_{1}, g_4, h_4, i_4, j_4Rotate(F_1, If[15 < e ≤ 16, ((-(e - 15)) * π / 2), ((-π)) / 2], K_1) → N_2Rotate(N_1, If[15 < e ≤ 16, ((-(e - 15)) * π / 2), ((-π)) / 2], K_1) → O_2Segment(N_2, O_2) → k_4Rotate(O_1, If[15 < e ≤ 16, ((-(e - 15)) * π / 2), ((-π)) / 2], K_1) → P_2Rotate(P_1, If[15 < e ≤ 16, ((-(e - 15)) * π / 2), ((-π)) / 2], K_1) → Q_2Segment(P_2, Q_2) → l_4Rotate(B_2, If[15 < e ≤ 16, ((-(e - 15)) * π / 2), ((-π)) / 2], K_1) → R_2Rotate(C_1, If[15 < e ≤ 16, ((-(e - 15)) * π / 2), ((-π)) / 2], K_1) → S_2Segment(R_2, S_2) → m_4Dilate(A, If[16 < e ≤ 17, 17 - e, 0], D_1) → A'_{7}Segment(A, A'_{7}) → p_2Rotate(A, If[17 < e ≤ 18, (((-π)) / 2 * (e - 17)), ((-π)) / 2], D_1) → A'_{6}Segment(D_1, A'_{6}) → e_2Dilate(D_1, If[18 < e < -19, 19 - e, 0], A'_{6}) → T_1Dilate(D_1, If[18 < e < 19, 19 - e, 0], A'_{6}) → V_1Vector(D_1, V_1) → v_2Translate(A, v_2) → A'_{5}Translate(A'_{7}, v_2) → Z_1Segment(A'_{5}, Z_1) → j_3Dilate(D_1, If[19 < e ≤ 20, 20 - e, 0], A) → A_2Vector(D_1, A_2) → u_3Translate(D_1, u_3) → C_2Translate(A'_{6}, u_3) → D_2Segment(C_2, D_2) → n_3Dilate(R, If[20 < e < 21, 21 - e, 0], T_1) → R'_{1}Vector(R, R'_{1}) → v_3Translate(s'', v_3) → s'''_{1}Line(T_1, f'') → p_3Point(p_3) → E_2Angle(E_2, T_1, A'_{5}) → ηRotate(s'''_{1}, If[20 < e ≤ 21, ((-(e - 20)) * ((2 * π) - η)), (-((2 * π) - η))], R'_{1}) → e_3Dilate(A'_{5}, If[21 < e ≤ 22, 22 - e, 0], D) → F_2Vector(A'_{5}, F_2) → q_3Segment(A'_{5}, F_2) → r_3Dilate(D, If[22 < e ≤ 23, 23 - e, 0], H_2) → D'_{4}Segment(D, D'_{4}) → s_3Dilate(H_2, If[23 < e ≤ 24, 24 - e, 0], D_1) → G_2Vector(H_2, G_2) → t_3Translate(D, t_3) → D'_{5}Translate(D'_{4}, t_3) → T_2Segment(D'_{5}, T_2) → n_4Dilate(A'_{5}, If[24 < e ≤ 25, 25 - e, 0], D_1) → U_2Vector(A'_{5}, U_2) → u_4Translate(A'_{5}, u_4) → V_2Translate(F_2, u_4) → W_2Segment(V_2, W_2) → p_4Polygon(A'_{5}, D, H_2, D_1) → q1, a'_{5}, d_5, j_2, l_2
AI Drawing Prompt Reference
Construct a comprehensive geometric figure: start with a square, then create a dynamic triangle on one side that undergoes scaling, rotation, and reflection based on a parameter. Outside the square, add a circle and a perpendicular line to form intersection points, and connect relevant segments. Draw an arc centered at the midpoint of the square's diagonal, pick a point on the arc, and connect it to the square's vertices to form a triangle. Finally, add several small circles near the square's sides with their intersection points to complete the transformation demonstration.
The prompt above was compiled from the original drawing commands and is for reference only.