三重太阳:用参数旋转与微分方程描绘多圆同构结构

三重太阳:用参数旋转与微分方程描绘多圆同构结构
几何画板及绘图内容加载中,请稍等……
2020-12-30 22:47
该范例通过“多个太阳外观”的叠合效果,展示若干圆在旋转与关联约束下形成的同构图形及其参数变化过程。核心数学概念包括:圆与弦长/距离关系、相似三角形思想(用于建立角度或尺度约束的几何量)、指数/相关系数所表达的比例或权重,以及用 NSolveODE 解常微分方程得到参数随时间的演化,从而驱动几何对象的运动。作图要点:使用 Circle 构造基础圆(对象如 S1、S2、S3 及其坐标与长度相关量 xs1、ys1、xs2、ys2、xs3、ys3、len),用 Rotate 实现对圆形结构的旋转叠加,并用 Vector 与 Distance/Length 建立向量方向与几何量度(xp0、yp0、k1、k2、k3 以及相关参数);同时用 NSolveODE 结合时间参数 t_{max}、初值 xv0、yv0 等求得轨迹/参数曲线(如 xv'、yv'、xp'、yp',以及 sol_1~sol_4 的解),再通过对象 First 与由求解结果驱动 starsize 等可视属性,生成“三重太阳”的视觉效果。适合中学进阶与大学初级微积分/解析几何课程,用于函数建模、几何变换与参数方程联动的教学展示与探究活动。

GeoGebra 命令及参数

  1. NSolveODE({xp', xv', yp', yv'}, 0, {xp0, xv0, yp0, yv0}, t_{max}) → sol_{1}, sol_{2}, sol_{3}, sol_{4}
  2. Length(sol_{1}) → len
  3. Distance(P, S3) → ds3
  4. Distance(P, S1) → ds1
  5. Distance(P, S2) → ds2
  6. Distance(P0, S1) → ds01
  7. Distance(P0, S2) → ds02
  8. Distance(P0, S3) → ds03
  9. Vector(P0, P0 + ((vsca * ((-k1)) / Distance[P0, S1]^(2)) * UnitVector[Vector[S1, P0]])) → f10
  10. Vector(P0, P0 + ((vsca * ((-k2)) / Distance[P0, S2]^(2)) * UnitVector[Vector[S2, P0]])) → f20
  11. Vector(P0, P0 + ((vsca * ((-k3)) / Distance[P0, S3]^(2)) * UnitVector[Vector[S3, P0]])) → f30
  12. Vector(P0, P0 + f10 + f20 + f30) → ftot0
  13. Vector(P, P + ((vsca * ((-k1)) / Distance[P, S1]^(2)) * UnitVector[Vector[S1, P]])) → f1
  14. Vector(P, P + ((vsca * ((-k2)) / Distance[P, S2]^(2)) * UnitVector[Vector[S2, P]])) → f2
  15. Vector(P, P + ((vsca * ((-k3)) / Distance[P, S3]^(2)) * UnitVector[Vector[S3, P]])) → f3
  16. Vector(P, P + f1 + f2 + f3) → ftot
  17. Vector(P + f1, P + f1 + f3) → f3'
  18. Vector(P + f1 + f3, P + f1 + f3 + f2) → f2'
  19. Vector(P, P + (vscav * (y(Point[sol_{2}, t]), y(Point[sol_{4}, t])))) → vvp
  20. Circle(S1, rstar) → cs1
  21. Circle(S2, rstar) → cs2
  22. Circle(S3, rstar) → cs3
  23. Circle(P, rpla + 0.03) → pla
  24. Rotate(earth_{LM}, (30 * t), P) → earth_{rot}
  25. Rotate(Star1, αs1t, SS1A + (starsize1 / 2, starsize1 / 2)) → Star1rot
  26. Rotate(Star2, αs2t, SS2A + (starsize2 / 2, starsize2 / 2)) → Star2rot
  27. Rotate(Star3, αs3t, SS3A + (starsize3 / 2, starsize3 / 2)) → Star3rot
  28. Zip(Point[{p, q}], p, liu, q, liw) → liuw
  29. First(Sequence[liuw(j), j, 1, len, 8], floor((t * floor(len / 8)) + 1)) → liuwt0

AI 绘图提示语参考

在同一坐标系中先给出三个固定圆心 S1、S2、S3,并用同一半径参数 rstar 画出三条同心结构的圆;同时取一个可随时间运动的点 P0。以 P0 到 S1、S2、S3 的距离构造三组沿着连线方向的矢量作用,使它们的和得到总速度方向;再用基于常微分方程的参数更新得到随时间变化的量,从而驱动点 P 在曲线运动。以 P 到三个圆心的距离作为比例关系,配合多次旋转:围绕固定中心 earth_{LM} 以与时间相关的角度旋转一组“earth”图元;把以 SS1A、SS2A、SS3A 为中心的三组星形图元分别旋转 αs1t、αs2t、αs3t 并受 starsize 控制。最后对星形与圆的重叠效果进行统一显示,形成可辨识的“三日”多圆复合图案。
以上提示语为根据原始绘图命令整理而来,仅供参考。