Regular Polygons Construction and Transformation
Loading the math board and drawing, please wait…
①This GeoGebra example dynamically demonstrates the construction of regular polygons and their transformations including translation, rotation, and scaling. ②Core mathematical concepts include the definition of regular polygons (equal sides and equal angles), the relationship between center and radius, rotational symmetry, and geometric transformations such as vector translation and homothety (dilation). ③Construction details: The Sequence command generates vertex sequences, Distance computes side lengths, Center determines the center, Rotate applies rotation, Polygon constructs the polygon, Vector and Translate perform translations, Dilate scales, Intersect finds intersection points, Segment connects segments, and Vertex extracts vertices; objects include Sides, β, list1, h, c, A, B_1, list2, b, list4, list5, A', list3, list6, poly1, d, e, a', u, list7, f, g, ah, C, D, i, D', v, list1', c', list2', poly2, E, F, w, poly3, poly3', G, j, poly4. ④Suitable for middle and high school geometry classes to explore properties of regular polygons and dynamic transformations, as well as extensions like interior angle sums and symmetry axes.
GeoGebra Commands & Parameters
Sequence((cos(((k * π) * β / 180)), sin(((k * π) * β / 180))), k, 0, Sides, 1) → list1Distance(Element[list1, 1], Element[list1, 2]) → hCenter(c) → ASequence(Polygon[Element[list1, k], A, Element[list1, k + 1]], k, 1, Sides, 1) → list2Sequence(Vertex[Element[list2, k], 3], k, 2, Sides, 1) → list4Sequence(Vertex[Element[list2, k], 3], k, 1, Sides - 1) → list5Rotate(A, (((-b) * 360) * ° / Sides), B_1) → A'Sequence(Rotate[Element[list1, k], ((((-(k - 1)) * b) * 360) * ° / Sides), Element[list1, k - 1]], k, 2, Sides, 1) → list3Sequence(Rotate[Element[list3, k], ((((-(k - 1)) * b) * 360) * ° / Sides), Element[list3, k - 1]], k, 2, Sides - 1, 1) → list6Polygon(Element[list1, 1], A', Element[list3, 1]) → poly1, d, e, a'Vector(Element[list1, 2], Element[list3, 1]) → uSequence(Vector[Element[list1, k], Element[list3, k - 1]], k, 2, Sides, 1) → list7Segment((0, -1), (6.283185307179586, -1)) → fIntersect(c, d, 1) → DSegment(D, C) → iDilate(D, If[0 < g ≤ 1, 1 - g, 0], C) → D'Vector(D, D') → vTranslate(list1, v) → list1'Translate(c, v) → c'Translate(list2, v) → list2'Rotate(Element[list2', 1], (((-g) * 360 / Sides))°, Element[list1', 1]) → poly2Vertex(Element[list2', 2], 1) → EVertex(poly2, 3) → FVector(Vertex[Element[list2', 2], 1], Vertex[poly2, 3]) → wTranslate(Element[list2', 2], w) → poly3Rotate(poly3, ((((-g) * 2) * 360 / Sides))°, F) → poly3'Vertex(poly3', 3) → GVector(Vertex[Element[list2', 3], 1], Vertex[poly3', 3]) → jTranslate(Element[list2', 3], j) → poly4Rotate(poly4, ((((-g) * 3) * 360 / Sides))°, G) → poly4'Vertex(poly4', 3) → HVector(Element[list1', 4], H) → kTranslate(Element[list2', 4], k) → poly5Rotate(poly5, ((((-g) * 4) * 360 / Sides))°, H) → poly5'Vertex(poly5', 3) → IVector(Element[list1', 5], I) → lTranslate(Element[list2', 5], l) → poly6Rotate(poly6, ((((-g) * 5) * 360 / Sides))°, I) → poly6'Vertex(poly6', 3) → JVector(Element[list1', 6], J) → mTranslate(Element[list2', 6], m) → poly7Rotate(poly7, ((((-g) * 6) * 360 / Sides))°, J) → poly7'Rotate(poly7, ((((-g) * 6) * 360 / Sides))°, J) → poly7'_1Vertex(poly7'_1, 3) → KVector(Element[list1', 7], K) → nTranslate(Element[list2', 7], n) → poly8Rotate(poly8, ((((-g) * 7) * 360 / Sides))°, K) → poly8'Vertex(poly8', 3) → LVector(Element[list1', 8], L) → pTranslate(Element[list2', 8], p) → poly9Rotate(poly9, ((((-g) * 8) * 360 / Sides))°, L) → poly9'Vertex(poly9', 3) → MVector(Element[list1', 9], M) → qTranslate(Element[list2', 9], q) → poly10Vertex(poly2, 2) → BVertex(poly3', 2) → NVertex(poly4', 2) → OVertex(poly5', 2) → PVertex(poly6', 2) → QVertex(poly7'_1, 2) → RVertex(poly8', 2) → SVertex(poly9', 2) → TRotate(poly2, (((-o) * 180))°, B) → poly2'Rotate(poly3', (((-o) * 180))°, N) → poly3''Rotate(poly4', (((-o) * 180))°, O) → poly4''Rotate(poly5', (((-o) * 180))°, P) → poly5''Rotate(poly6', (((-o) * 180))°, Q) → poly6''Rotate(poly7'_1, (((-o) * 180))°, R) → poly11Rotate(poly8', (((-o) * 180))°, S) → poly8''Rotate(poly9', (((-o) * 180))°, T) → poly9''Dilate(B, 1 - r, C) → B'Dilate(N, 1 - r, F) → N'Dilate(O, 1 - r, G) → O'Dilate(P, 1 - r, H) → P'Dilate(Q, 1 - r, I) → Q'Dilate(R, 1 - r, J) → R'Dilate(S, 1 - r, K) → S'Dilate(T, 1 - r, L) → T'Vector(N, N') → s_1Vector(B, B') → tVector(O, O') → u_1Vector(P, P') → v_1Vector(Q, Q') → w_1Vector(R, R') → a_1Vector(S, S') → b_1Vector(T, T') → c_1Translate(poly2', t) → poly2''Translate(poly3'', s_1) → poly3'''Translate(poly4'', u_1) → poly4'''Translate(poly5'', v_1) → poly5'''Translate(poly6'', w_1) → poly6'''Translate(poly11, a_1) → poly11'Translate(poly8'', b_1) → poly8'''Translate(poly9'', c_1) → poly9'''