通过向量变换绘制多边形
几何画板及绘图内容加载中,请稍等……
这个范例演示了如何通过向量变换和几何操作绘制复杂的多边形。涉及的核心数学概念包括向量、平移、镜像、序列和解析几何。作图要点使用了GeoGebra的Vector、Translate、Mirror、Sequence、Element、CurveCartesian、Surface等命令和对象。适合高中及以上学生学习和探索几何变换与多边形构造。
GeoGebra 命令及参数
Vector(O, X) → wVector(O, Z) → uVector(O, Y) → vTranslate(O, Vector[(g * u)]) → A_1Segment(O, A_1) → dMirror(A_1, O) → E_1Segment(E_1, O) → iSequence(CurveCartesian[x(O) + ((R * cos(j°)) * sin(i)^(2)), y(O) + ((R * sin(j°)) * sin(i)^(2)), z(O) + ((R * h) * cos(i)), j, 0, 360], i, tt, t, π / ((2 * n))) → liste1Element(liste1, Length[liste1]) → aaTranslate(aa, Vector[A, B]) → aa'Sequence((x(A) + ((R - 0.15) * cos(i)), y(A) + ((R - 0.15) * sin(i)), z(A)), i, 0, 6.28319, (2 * π / m)) → liste3Sequence((x(B) + ((R - 0.15) * cos(i)), y(B) + ((R - 0.15) * sin(i)), z(B)), i, 0, 6.28319, (2 * π / m)) → liste4Sequence(Segment[Element[liste3, i], Element[liste4, i]], i, 1, Length[liste3]) → liste5Sequence((x(C) + ((R - 0.175) * cos(i + 0.05)), y(C) + ((R - 0.175) * sin(i + 0.05)), z(C)), i, 0, 6.28319, (2 * π / m)) → liste6Sequence((x(C) + ((R - 0.25) * cos(i + 0.086)), y(C) + ((R - 0.25) * sin(i + 0.086)), z(C)), i, 0, 6.28319, (2 * π / m)) → liste9Sequence(Segment[Element[liste4, i], Element[liste6, i]], i, 1, Length[liste4]) → liste8Sequence(Segment[Element[liste4, i + 1], Element[liste9, i]], i, 1, Length[liste4]) → liste10Sequence((x(D) + ((R - 0.25) * cos(i + 0.05)), y(D) + ((R - 0.25) * sin(i + 0.05)), z(D)), i, 0, 6.28319, (2 * π / m)) → liste7Sequence((x(D) + ((R - 0.25) * cos(i + 0.086)), y(D) + ((R - 0.25) * sin(i + 0.086)), z(D)), i, 0, 6.28319, (2 * π / m)) → liste11Sequence(Segment[Element[liste6, i], Element[liste7, i]], i, 1, Length[liste6]) → liste12Sequence(Segment[Element[liste9, i], Element[liste11, i]], i, 1, Length[liste10]) → liste13CurveCartesian(x(O) + (R * sin(i°)), y(O) - (R * cos(i°)), z(O) - (R * sin(i°)), i, 0, 360) → eCurveCartesian(x(D) + ((R - 0.25) * cos(i°)), y(D) - ((R - 0.25) * sin(i°)), z(D), i, 0, 360) → jCurveCartesian(x(O) + (R * sin(i°)^(3)), y(O) - (R * cos(i°)^(3)), z(O) - (R * sin(i°)^(3)), i, 0, 360) → fCurveCartesian(x(O) + (R * sin(i°)), y(O) - (R * cos(i°)), z(O) - ((R * 0) * sin(i°)), i, 0, 360) → h_1CurveCartesian(x(E) + ((R - 0.25) * cos(i°)), y(E) - ((R - 0.25) * sin(i°)), z(E), i, 0, 360) → oCurveCartesian(x(E) + ((R - 0.3) * cos(i°)), y(E) - ((R - 0.3) * sin(i°)), z(E), i, 0, 360) → pCurveCartesian(x(I) + ((R - 3.75) * cos(i°)), y(I) - ((R - 3.75) * sin(i°)), z(I) - 0.2, i, 0, 360) → sSurface(x(O) + (((R - 0.05) * cos(j°)) * sin(i)^(2)), y(O) + (((R - 0.05) * sin(j°)) * sin(i)^(2)), z(O) + (((R - 0.05) * h) * cos(i)), j, 0, 360, i, tt, t) → cSequence((x(H) + ((R - 2.3) * cos(i)), y(H) - ((R - 2.3) * sin(i)), z(H) + 0.05), i, 0, 6.28319, (2 * π / n)) → liste15Sequence(Segment[Element[liste15, i], I], i, 1, Length[liste15]) → liste16Sequence((x(H) + ((R - 2.3) * cos(i + 0.15)), y(H) - ((R - 2.3) * sin(i + 0.15)), z(H) - 0.05), i, 0, 6.28319, (4 * π / n)) → liste17Sequence(Polygon[Element[liste17, i], Element[liste15, i], I], i, 1, Length[liste17]) → liste18CurveCartesian(x(P), y(P) + (0.25 * cos(i°)), z(P) - (0.25 * sin(i°)), i, 0, 180) → qSegment(P, N) → rSegment(N, M) → a_1Segment(M, L) → b_1CurveCartesian(x(I) + ((R - 3.75) * cos(i°)), y(I) - ((R - 3.75) * sin(i°)), z(I) - 0.2, i, 0, 360) → c_1CurveCartesian(x(E) + ((R - 0.3) * cos(i°)), y(O) - ((R - 0.3) * sin(i°)), z(E), i, 0, 360) → ppSequence(Translate[p, Vector[(Vector[E, FF] * i)]], i, 0, 1, 0.01) → liste19Sequence(Translate[p, Vector[(Vector[E, G] * i)]], i, 0, 1, 0.01) → liste14CurveCartesian(x(B) + ((R - 0.175) * cos(i°)), y(B) - ((R - 0.175) * sin(i°)), z(B) + 0.225, i, 0, 360) → lSequence((x(B) + ((R - 0.175) * cos(i°)), y(B) - ((R - 0.175) * sin(i°)), z(B) + 0.35), i, 0, 360, 120 / n) → liste20Segment(Q, P) → d_1Sequence(CurveCartesian[x(O) + ((R * cos(j°)) * sin(i)^(2)), y(O) + ((R * sin(j°)) * sin(i)^(2)), z(O) + ((R * h) * cos(i)), i, tt, t], j, 0, 360, 270 / n) → liste2