从圆到多边形:伊斯兰几何图案的构造
几何画板及绘图内容加载中,请稍等……
该范例演示了如何通过圆与多边形的组合,生成具有对称性的伊斯兰风格几何图案。核心数学概念包括圆、正多边形、对称变换(旋转与镜像)、以及利用中点、垂线等构造元素。作图要点:使用GeoGebra的ConstructionStep逐步构建,通过Point定义关键点,Rotate实现旋转对称,Line与Mirror创建镜像线,Intersect求交点,Sequence生成重复结构,Midpoint确定中点,Circle绘制基础圆,Segment与PolyLine连接边线,OrthogonalLine构造垂线,最终用Polygon形成多边形区域。该范例适合中学及以上学段,用于探索几何变换、对称性与图案设计,也可作为数学与艺术融合的教学素材。
GeoGebra 命令及参数
ConstructionStep() → stapPoint(xAxis) → ARotate(A, 54°) → A'Line(O, A') → fMirror(A', xAxis) → A''Line(O, A'') → gLine(A', g) → hLine(A'', f) → iIntersect(h, i) → BSequence(Translate[f, ((nn * x(B)), 0)], nn, -3, 3) → l1Sequence(Translate[h, ((nn * x(B)), 0)], nn, -4, 3) → l2Midpoint(O, A') → CCircle(A', C) → cCircle(O, C) → dSequence(Translate[c, Vector[(nn * Vector[A', B])]], nn, -1, 3) → l3Sequence(Translate[l3, ((nn * x(B)), 0)], nn, -4, 3) → l4Rotate(C, 36°) → C'Rotate(C, (-(36°))) → C'_1Rotate(C, (-(72°))) → C'_2Rotate(C, 72°) → C'_3Rotate(C, 108°) → C'_4Rotate(C, (-(108°))) → C'_5Rotate(C, 144°) → C'_6Rotate(C, (-(144°))) → C'_7Rotate(C, 180°) → C'_8Segment(C', C'_6) → jSegment(C'_3, C'_8) → kSegment(C'_4, C'_7) → lSegment(C'_6, C'_5) → mSegment(C'_8, C'_2) → nSegment(C'_7, C'_1) → pSegment(C'_5, C) → qSegment(C'_2, C') → rSegment(C'_1, C'_3) → sSegment(C, C'_4) → tIntersect(s, t) → DIntersect(j, s) → EIntersect(k, t) → FIntersect(j, k) → GIntersect(j, l) → HIntersect(k, l) → IIntersect(k, m) → JIntersect(l, m) → KIntersect(l, n) → LIntersect(m, n) → MIntersect(m, p) → NIntersect(n, p) → PIntersect(n, q) → QIntersect(p, q) → RIntersect(p, r) → SIntersect(q, r) → TIntersect(q, s) → UIntersect(r, s) → VIntersect(r, t) → WPolyLine(C', E, C'_7, N, C'_5, Q, C'_2, S, C'_1, U, C, W, C'_3, C', F, C'_4, H, C'_6, J, C'_8, L) → aIntersect(j, t) → ZPolyLine(D, E, M, N, P, Q, R, S, T, U, V, W, Z, D, F, G, H, I, J, K, L) → bSegment(O, C'_3) → eOrthogonalLine(C'_3, e) → f_1Segment(C, O) → g_1OrthogonalLine(C, g_1) → h_1Segment(C', O) → i_1OrthogonalLine(C', i_1) → j_1Intersect(h_1, j_1) → A_1Intersect(f_1, j_1) → B_1Polygon(A_1, B_1, 10) → veelhoek1, k_1, a_1, C_1, D_1, E_1, F_1, G_1, H_1, I_1, J_1, l_1, m_1, n_1, p_1, q_1, r_1, s_1, t_1Sequence(Translate[veelhoek1, Vector[(nn * Vector[A', B])]], nn, -2, 2) → l6Sequence(Translate[l6, Vector[(nn * Vector[O, B])]], nn, -4, 4) → l7Sequence(PolyLine[Translate[C', Vector[(nn * Vector[O, A''])]], Translate[E, Vector[(nn * Vector[O, A''])]], Translate[C'_3, Vector[(nn * Vector[O, A''])]], Translate[F, Vector[(nn * Vector[O, A''])]], Translate[C'_4, Vector[(nn * Vector[O, A''])]], Translate[H, Vector[(nn * Vector[O, A''])]], Translate[C'_6, Vector[(nn * Vector[O, A''])]], Translate[J, Vector[(nn * Vector[O, A''])]], Translate[C'_8, Vector[(nn * Vector[O, A''])]], Translate[L, Vector[(nn * Vector[O, A''])]], Translate[C'_7, Vector[(nn * Vector[O, A''])]], Translate[N, Vector[(nn * Vector[O, A''])]], Translate[C'_5, Vector[(nn * Vector[O, A''])]], Translate[Q, Vector[(nn * Vector[O, A''])]], Translate[C'_2, Vector[(nn * Vector[O, A''])]], Translate[S, Vector[(nn * Vector[O, A''])]], Translate[C'_1, Vector[(nn * Vector[O, A''])]], Translate[U, Vector[(nn * Vector[O, A''])]], Translate[C, Vector[(nn * Vector[O, A''])]], Translate[W, Vector[(nn * Vector[O, A''])]], Translate[C', Vector[(nn * Vector[O, A''])]]], nn, -3, 3) → l8Sequence(PolyLine[Translate[D, Vector[(nn * Vector[O, A''])]], Translate[E, Vector[(nn * Vector[O, A''])]], Translate[Z, Vector[(nn * Vector[O, A''])]], Translate[F, Vector[(nn * Vector[O, A''])]], Translate[G, Vector[(nn * Vector[O, A''])]], Translate[H, Vector[(nn * Vector[O, A''])]], Translate[I, Vector[(nn * Vector[O, A''])]], Translate[J, Vector[(nn * Vector[O, A''])]], Translate[K, Vector[(nn * Vector[O, A''])]], Translate[L, Vector[(nn * Vector[O, A''])]], Translate[M, Vector[(nn * Vector[O, A''])]], Translate[N, Vector[(nn * Vector[O, A''])]], Translate[P, Vector[(nn * Vector[O, A''])]], Translate[Q, Vector[(nn * Vector[O, A''])]], Translate[R, Vector[(nn * Vector[O, A''])]], Translate[S, Vector[(nn * Vector[O, A''])]], Translate[T, Vector[(nn * Vector[O, A''])]], Translate[U, Vector[(nn * Vector[O, A''])]], Translate[V, Vector[(nn * Vector[O, A''])]], Translate[W, Vector[(nn * Vector[O, A''])]], Translate[D, Vector[(nn * Vector[O, A''])]]], nn, -3, 3) → l9Sequence(Translate[l8, Vector[(nn * Vector[O, B])]], nn, -3, 3) → l10Sequence(Translate[l9, Vector[(nn * Vector[O, B])]], nn, -3, 3) → l11Mirror(E, Segment[B_1, A_1]) → E'Mirror(W, Segment[B_1, A_1]) → W'Mirror(D, Segment[B_1, A_1]) → D'Polygon(E', C', W', D') → vierhoek1, e', c', w', d'Mirror(E', y = y(A')) → E''Mirror(C', y = y(A')) → C''Mirror(W', y = y(A')) → W''Mirror(D', y = y(A')) → D''Polygon(E'', C'', W'', D'') → vierhoek1', e'', c'', w'', d''Sequence(Translate[l12, Vector[(nn * Vector[O, A''])]], nn, -3, 3) → l13Sequence(Translate[l13, Vector[(nn * Vector[O, B])]], nn, -3, 3) → l14