三维空间中三个动点诱导球面上的八条几何中线

三维空间中三个动点诱导球面上的八条几何中线
几何画板及绘图内容加载中,请稍等……
2020-12-10 23:57
这个范例演示了在三维空间中三个移动点如何诱导球面上形成八条几何中线。涉及的核心数学概念包括向量、几何变换、立体几何和函数。作图要点使用了GeoGebra命令如Polygon、PointIn、Sphere、Vector、Translate等来创建点和几何体,并通过动画展示点的运动轨迹。适合高中及以上学生学习和理解空间几何与向量应用。

GeoGebra 命令及参数

  1. Polygon({((-π), ((-π)) / 2), ((-π), π / 2), (π, π / 2), (π, ((-π)) / 2)}) → q
  2. Polygon({B01, B02, B04, B03}) → q2
  3. PointIn(q2) → B10
  4. PointIn(q2) → B9
  5. PointIn(q2) → B8
  6. PointIn(q2) → B7
  7. PointIn(q2) → B6
  8. PointIn(q2) → B5
  9. PointIn(q2) → B4
  10. PointIn(q2) → B3
  11. PointIn(q2) → B2
  12. PointIn(q2) → B1
  13. First({P1, P2, P3, P4, P5, P6, P7, P8, P9, P10}, n) → lP
  14. Sphere(O, R) → b
  15. PointIn(q) → A_2
  16. Circle(O, R, xOyPlane) → c
  17. PointIn(q) → RZ1_2
  18. PointIn(q) → RZ2_2
  19. Angle(sumunitA, vA) → αA
  20. Angle(sumunitZ1, vZ1) → αZ1
  21. Angle(sumunitZ2, vZ2) → αZ2
  22. Zip(Segment[A, p], p, lP) → seg
  23. Sum(seg) → sum_seg
  24. PolyLine({((-π), ((-π)) / 2), ((-π), π / 2), (π, π / 2), (π, ((-π)) / 2), ((-π), ((-π)) / 2)}) → q1
  25. Flatten(Sequence[Sequence[((-π) + ((2 * π / na) * i), ((-π)) / 2 + (π / na * j)), j, 1, na - 1], i, 1, na - 1]) → ltest_2
  26. Zip((R; x(a); y(a)), a, ltest_2) → ltest_3
  27. Length(lZmax') → lälZmax'
  28. Zip(Vector[(R * UnitVector[a])], a, lZmax') → vlZmax
  29. Zip(Vector[(R * UnitVector[a])], a, lZmin') → vlZmin
  30. Zip(Vector[(R * UnitVector[Sum[Zip[UnitVector[p - b], p, lP]]])], b, lZmax') → sumunit_max
  31. Zip(Vector[(R * UnitVector[Sum[Zip[UnitVector[p - b], p, lP]]])], b, lZmin') → sumunit_min
  32. Zip(Angle[a, Vector[b]], Vector[a], sumunit_max, Vector[b], vlZmax) → αmax
  33. Zip(Angle[a, Vector[b]], Vector[a], sumunit_min, Vector[b], vlZmin) → αmin
  34. Zip((arg(a), alt(a)), a, lP) → lP_2
  35. Textfield(n) → InputBox11
  36. Zip(Vector[(R * UnitVector[a])], a, lZsad') → vlZsad
  37. If(αZ1 > 100°, 180° - αZ1, αZ1) → αZ1'
  38. KeepIf(x > 0, Sequence[If[abs(Element[αsad, i] - π) < 0.001 ∨ abs(Element[αsad, i]) < 0.001, i, 0], i, 1, Length[αsad]]) → Nαsad
  39. Textfield(m_2) → InputBox14
  40. PointIn(q) → RZ3_2
  41. Sum(Zip[1 / Length[p - Z3], p, lP]) → ZahZ3
  42. Angle(sumunitZ3, vZ3) → αZ3
  43. Textfield(R) → InputBox1
  44. Textfield(na) → InputBox2
  45. Function((q_f * f(u, v)) + b_0f - 0.9999, u, (-π), π, v, ((-π)) / 2, π / 2) → f0
  46. Max(f(Zmax_2)) → m
  47. Zip((x(a), y(a), f0(a)), a, Zmax_2) → fmax3D
  48. Zip((x(a), y(a), f0(a)), a, Zmin_2) → fmin3D
  49. Zip((x(a), y(a), f0(a)), a, Zsad_2) → fsad3D
  50. Sequence(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_sad1
  51. Sequence(Vector[(1.3 * Point[O, Vector[Element[vlZmax, i]]]), (1.5 * Point[O, Vector[Element[vlZmax, i]]])], i, 1, Length[vlZmax]) → vsumunit_max2
  52. Sequence(Vector[(1.3 * vlZmax(i)), (1.5 * vlZmax(i))], i, 1, Length[vlZmax]) → lvlmax
  53. Sequence(Vector[(1.3 * vlZmax(i)), (-1.1 * sumunit_max(i))], i, 1, Length[sumunit_max]) → l1z
  54. Sequence(Vector[(1.3 * vlZmin(i)), (1.5 * vlZmin(i))], i, 1, Length[vlZmin]) → lvlmin
  55. Sequence(Vector[(1.3 * vlZmin(i)), (-1.1 * sumunit_min(i))], i, 1, Length[sumunit_min]) → l2z
  56. Sequence(Vector[(1.3 * vlZsad(i)), (1.5 * vlZsad(i))], i, 1, Length[vlZsad]) → lvlsad
  57. Sequence(Vector[(1.3 * vlZsad(i)), (-1.1 * sumunit_sad(i))], i, 1, Length[sumunit_sad]) → l3z
  58. Zip((Length[a]; arg(a); alt(a)), a, lP) → lPsphere
  59. CurveCartesian((-π) + ((2 * π) * a), ((-π)) / 2, f0((-π) + ((2 * π) * a), ((-π)) / 2), a, 0, 1) → par1
  60. CurveCartesian((-π) + ((2 * π) * a), π / 2, f0((-π) + ((2 * π) * a), π / 2), a, 0, 1) → par2
  61. CurveCartesian(π, ((-π)) / 2 + (π * a), f0(π, ((-π)) / 2 + (π * a)), a, 0, 1) → par4
  62. Zip(Text["d_{" + (a) + "}", (A + Element[lP, a]) / 2], a, 1…n) → lPtxt
  63. CurveCartesian((-π), ((-π)) / 2 + (π * a), f0((-π), ((-π)) / 2 + (π * a)), a, 0, 1) → par3
  64. Zip((x(a), y(a)), a, lP) → lP_{Gr1}
  65. Textfield(q_f) → InputBox3
  66. Textfield(b_0f) → InputBox4
  67. Textfield(step1) → InputBox5
  68. Textfield(step2) → InputBox6
  69. TableText(Append["i", Sequence[Length[αmax]]], Append["P_{Max }", lZmax'], Append["(f'x,f'y)", lZf'xymax], Append[" Δα≟ π ", αmax], "v") → text2a
  70. TableText(Append["i", Sequence[Length[αmin]]], Append["P_{Min }", lZmin'], Append["(f'x,f'y)", lZf'xymin], Append[" Δα≟ π ", αmin], "v") → text2b
  71. TableText(Append["i", Sequence[Length[αsad]]], Append["P_{sad }", lZsad'], Append["(f'x,f'y)", lZf'xysad], Append[" Δα≟ π ", αsad], "v") → text2c
  72. First({aP1, aP2, aP3, aP4, aP5, aP6, aP7, aP8, aP9, aP10}, n) → Output
  73. Vector((1.3 * A), (1.5 * A)) → lvA
  74. Vector((1.3 * A), (1.1 / 1.7 * Point[O, Vector[(-sumunitA)]])) → l1A
  75. Zip(Segment[F_o, p], p, lP) → seg0
  76. Sum(seg0) → sum_seg0
  77. Translate(q, Vector[(0, 0, -1)]) → q'
  78. Zip(Segment[(x(a), y(a), -1), (x(a), y(a), f0(x(a), y(a)))], a, {((-π), ((-π)) / 2), ((-π), π / 2), (π, π / 2), (π, ((-π)) / 2)}) → lseg
  79. RotateText(txt, 90°) → txt1

AI 绘图提示语参考

在三维空间中建立一条以原点为中心的球面,并在球面上放置由一个正多边形生成的若干候选点。用球面与平面截面形成弧与圆的投影关系,随后在这些点对应的轨迹方向上取向量,标出若干角度量。再选取三维标量函数把球面坐标映射成高度值,在球面上标出函数的极大与极小位置,并连同对应的方向向量与角度一起显示,突出由三点运动所诱导的八处几何中值在球面上的分布。
以上提示语为根据原始绘图命令整理而来,仅供参考。