三维空间中6个动点在球面上诱导14个几何中位线
几何画板及绘图内容加载中,请稍等……
这个范例演示了在三维空间中6个移动点如何诱导出球面上的14个几何中位线。涉及的核心数学概念包括立体几何、向量、函数和几何变换。作图要点使用了GeoGebra命令如Polygon、PointIn、Sphere、Vector、Translate等来创建点和几何对象,并通过Sum、Flatten等命令处理复杂结构。适合高中及以上学生用于理解空间几何和向量运算,以及探索几何构造的动态变化。
GeoGebra 命令及参数
Polygon({((-π), ((-π)) / 2), ((-π), π / 2), (π, π / 2), (π, ((-π)) / 2)}) → qPolygon({B01, B02, B04, B03}) → q2PointIn(q2) → B10PointIn(q2) → B9PointIn(q2) → B8PointIn(q2) → B7PointIn(q2) → B6PointIn(q2) → B5PointIn(q2) → B4PointIn(q2) → B3PointIn(q2) → B2PointIn(q2) → B1First({P1, P2, P3, P4, P5, P6, P7, P8, P9, P10}, n) → lPSphere(O, R) → bPointIn(q) → A_2Circle(O, R, xOyPlane) → cPointIn(q) → RZ1_2PointIn(q) → RZ2_2Angle(sumunitA, vA) → αAAngle(sumunitZ1, vZ1) → αZ1Angle(sumunitZ2, vZ2) → αZ2Zip(Segment[A, p], p, lP) → segSum(seg) → sum_segPolyLine({((-π), ((-π)) / 2), ((-π), π / 2), (π, π / 2), (π, ((-π)) / 2), ((-π), ((-π)) / 2)}) → q1Flatten(Sequence[Sequence[((-π) + ((2 * π / na) * i), ((-π)) / 2 + (π / na * j)), j, 1, na - 1], i, 1, na - 1]) → ltest_2Zip((R; x(a); y(a)), a, ltest_2) → ltest_3Length(lZmax') → lälZmax'Zip(Vector[(R * UnitVector[a])], a, lZmax') → vlZmaxZip(Vector[(R * UnitVector[a])], a, lZmin') → vlZminZip(Vector[(R * UnitVector[Sum[Zip[UnitVector[p - b], p, lP]]])], b, lZmax') → sumunit_maxZip(Vector[(R * UnitVector[Sum[Zip[UnitVector[p - b], p, lP]]])], b, lZmin') → sumunit_minZip(Angle[a, Vector[b]], Vector[a], sumunit_max, Vector[b], vlZmax) → αmaxZip(Angle[a, Vector[b]], Vector[a], sumunit_min, Vector[b], vlZmin) → αminZip((arg(a), alt(a)), a, lP) → lP_2Textfield(n) → InputBox11Zip(Vector[(R * UnitVector[a])], a, lZsad') → vlZsadIf(αZ1 > 100°, 180° - αZ1, αZ1) → αZ1'KeepIf(x > 0, Sequence[If[abs(Element[αsad, i] - π) < 0.001 ∨ abs(Element[αsad, i]) < 0.001, i, 0], i, 1, Length[αsad]]) → NαsadTextfield(m_2) → InputBox14PointIn(q) → RZ3_2Sum(Zip[1 / Length[p - Z3], p, lP]) → ZahZ3Angle(sumunitZ3, vZ3) → αZ3Textfield(R) → InputBox1Textfield(na) → InputBox2Function((q_f * f(u, v)) + b_0f - 0.9999, u, (-π), π, v, ((-π)) / 2, π / 2) → f0Max(f(Zmax_2)) → mZip((x(a), y(a), f0(a)), a, Zmax_2) → fmax3DZip((x(a), y(a), f0(a)), a, Zmin_2) → fmin3DZip((x(a), y(a), f0(a)), a, Zsad_2) → fsad3DSequence(Vector[(1.3 * Point[O, Vector[Element[sumunit_sad, i]]]), (1.5 * Point[O, Vector[Element[sumunit_sad, i]]])], i, 1, Length[sumunit_sad]) → sumunit_sad1Sequence(Vector[(1.3 * Point[O, Vector[Element[vlZmax, i]]]), (1.5 * Point[O, Vector[Element[vlZmax, i]]])], i, 1, Length[vlZmax]) → vsumunit_max2Sequence(Vector[(1.3 * vlZmax(i)), (1.5 * vlZmax(i))], i, 1, Length[vlZmax]) → lvlmaxSequence(Vector[(1.3 * vlZmax(i)), (-1.1 * sumunit_max(i))], i, 1, Length[sumunit_max]) → l1zSequence(Vector[(1.3 * vlZmin(i)), (1.5 * vlZmin(i))], i, 1, Length[vlZmin]) → lvlminSequence(Vector[(1.3 * vlZmin(i)), (-1.1 * sumunit_min(i))], i, 1, Length[sumunit_min]) → l2zSequence(Vector[(1.3 * vlZsad(i)), (1.5 * vlZsad(i))], i, 1, Length[vlZsad]) → lvlsadSequence(Vector[(1.3 * vlZsad(i)), (-1.1 * sumunit_sad(i))], i, 1, Length[sumunit_sad]) → l3zZip((Length[a]; arg(a); alt(a)), a, lP) → lPsphereCurveCartesian((-π) + ((2 * π) * a), ((-π)) / 2, f0((-π) + ((2 * π) * a), ((-π)) / 2), a, 0, 1) → par1CurveCartesian((-π) + ((2 * π) * a), π / 2, f0((-π) + ((2 * π) * a), π / 2), a, 0, 1) → par2CurveCartesian(π, ((-π)) / 2 + (π * a), f0(π, ((-π)) / 2 + (π * a)), a, 0, 1) → par4Zip(Text["d_{" + (a) + "}", (A + Element[lP, a]) / 2], a, 1…n) → lPtxtCurveCartesian((-π), ((-π)) / 2 + (π * a), f0((-π), ((-π)) / 2 + (π * a)), a, 0, 1) → par3Zip((x(a), y(a)), a, lP) → lP_{Gr1}Textfield(q_f) → InputBox3Textfield(b_0f) → InputBox4Textfield(step1) → InputBox5Textfield(step2) → InputBox6TableText(Append["i", Sequence[Length[αmax]]], Append["P_{Max }", lZmax'], Append["(f'x,f'y)", lZf'xymax], Append[" Δα≟ π ", αmax], "v") → text2aTableText(Append["i", Sequence[Length[αmin]]], Append["P_{Min }", lZmin'], Append["(f'x,f'y)", lZf'xymin], Append[" Δα≟ π ", αmin], "v") → text2bTableText(Append["i", Sequence[Length[αsad]]], Append["P_{sad }", lZsad'], Append["(f'x,f'y)", lZf'xysad], Append[" Δα≟ π ", αsad], "v") → text2cFirst({aP1, aP2, aP3, aP4, aP5, aP6, aP7, aP8, aP9, aP10}, n) → OutputVector((1.3 * A), (1.5 * A)) → lvAVector((1.3 * A), (1.1 / 1.7 * Point[O, Vector[(-sumunitA)]])) → l1AZip(Segment[F_o, p], p, lP) → seg0Sum(seg0) → sum_seg0Translate(q, Vector[(0, 0, -1)]) → q'Zip(Segment[(x(a), y(a), -1), (x(a), y(a), f0(x(a), y(a)))], a, {((-π), ((-π)) / 2), ((-π), π / 2), (π, π / 2), (π, ((-π)) / 2)}) → lsegRotateText(txt, 90°) → txt1
AI 绘图提示语参考
画一个三维球面几何构造:先在球面上建立一层以赤道为界的四边形起始环,给出在经向与纬向角度为 ±π、±π/2 的对应四个顶点并形成多边形面。再从该面中取多组球面上的内部点,设置成随参数移动的6个点。以这些点生成方向向量与角度度量,围绕球心建立球面并配合若干圆与线段辅助显示。进一步在球面上计算并标出若干几何中位数位置(本例得到14个),同时对最大与最小相关的角度进行约束与筛选,形成最终中位数集合的空间分布。
以上提示语为根据原始绘图命令整理而来,仅供参考。