正多边形构造与变换演示
几何画板及绘图内容加载中,请稍等……
①本范例通过GeoGebra动态演示正多边形的生成过程,并展示其平移、旋转、缩放等变换操作。②核心数学概念包括正多边形的定义(各边相等、各角相等)、中心与半径的关系、旋转对称性,以及向量平移、位似缩放等几何变换。③作图要点:使用Sequence命令生成顶点序列,Distance计算边长,Center确定中心,Rotate实现旋转,Polygon构造多边形,Vector和Translate进行平移,Dilate进行缩放,Intersect求交点,Segment连接线段,Vertex提取顶点;涉及对象包括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等。④适合中学几何教学,用于理解正多边形性质及动态变换,也可用于探究多边形内角和、对称轴等拓展内容。
GeoGebra 命令及参数
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'''