彩虹摆:多球摆动的动态模拟

彩虹摆:多球摆动的动态模拟
几何画板及绘图内容加载中,请稍等……
2021-09-24 14:48
所属专题 Pendulum simulations
① 本范例通过GeoGebra构建了一个由多个彩色小球组成的摆系统,模拟了摆锤在重力与阻尼作用下的运动轨迹,形成彩虹般的视觉效果。② 核心数学概念包括简谐运动、微分方程(数值积分)、向量分解、角度与角速度的迭代更新,以及阻尼对振幅的影响。③ 作图要点:使用Rotate、Translate、Segment等命令创建摆臂和球体,通过Sequence和Zip批量生成多个摆锤,利用Slider控制初始角度、阻尼和时间步长,并借助Length、Sphere等对象构建三维或二维可视化;对象包括angleV、force、speed、damping等变量,以及多个角度和角速度列表(angle1至angle16、angleV1等)。④ 适合高中物理或数学课程中讲解振动、周期运动、数值模拟入门,也可用于大学物理的演示实验,帮助学生直观理解微分方程的离散化解法。

GeoGebra 命令及参数

  1. Rotate(Segment[O, (posx, posy)], π / 2, xAxis) → s
  2. Rotate((posx, posy), π / 2, xAxis) → P
  3. Sphere(P, 1) → sph
  4. Zip("angle" + (Text[k]), k, Ln) → LnamAng
  5. Zip("angleV" + (Text[k]), k, Ln) → LnamAngV
  6. Zip("angleA" + (Text[k]), k, Ln) → LnamAngA
  7. Sequence(k, k, 0, 0.15, 0.01) → Ldiff, {0, 0.01, 0.02, 0.03, 0.04, 0.05, 0.060000000000000005, 0.07, 0.08, 0.09, 0.09999999999999999, 0.10999999999999999, 0.11999999999999998, 0.12999999999999998, 0.13999999999999999, 0.15}
  8. Length(Ldiff) → size
  9. Translate(Rotate[((L * sin(angle1)), (L * cos(angle1))), π / 2, xAxis], Vector[(0, 1, 0)]) → P1
  10. Translate(Rotate[((L * sin(angle2)), (L * cos(angle2))), π / 2, xAxis], Vector[(0, 2, 0)]) → P2
  11. Translate(Rotate[((L * sin(angle3)), (L * cos(angle3))), π / 2, xAxis], Vector[(0, 3, 0)]) → P3
  12. Translate(Rotate[((L * sin(angle4)), (L * cos(angle4))), π / 2, xAxis], Vector[(0, 4, 0)]) → P4
  13. Translate(Rotate[((L * sin(angle5)), (L * cos(angle5))), π / 2, xAxis], Vector[(0, 5, 0)]) → P5
  14. Translate(Rotate[((L * sin(angle6)), (L * cos(angle6))), π / 2, xAxis], Vector[(0, 6, 0)]) → P6
  15. Translate(Rotate[((L * sin(angle7)), (L * cos(angle7))), π / 2, xAxis], Vector[(0, 7, 0)]) → P7
  16. Translate(Rotate[((L * sin(angle8)), (L * cos(angle8))), π / 2, xAxis], Vector[(0, 8, 0)]) → P8
  17. Translate(Rotate[((L * sin(angle9)), (L * cos(angle9))), π / 2, xAxis], Vector[(0, 9, 0)]) → P9
  18. Translate(Rotate[((L * sin(angle10)), (L * cos(angle10))), π / 2, xAxis], Vector[(0, 10, 0)]) → P10
  19. Translate(Rotate[((L * sin(angle11)), (L * cos(angle11))), π / 2, xAxis], Vector[(0, 11, 0)]) → P11
  20. Translate(Rotate[((L * sin(angle12)), (L * cos(angle12))), π / 2, xAxis], Vector[(0, 12, 0)]) → P12
  21. Translate(Rotate[((L * sin(angle13)), (L * cos(angle13))), π / 2, xAxis], Vector[(0, 13, 0)]) → P13
  22. Translate(Rotate[((L * sin(angle14)), (L * cos(angle14))), π / 2, xAxis], Vector[(0, 14, 0)]) → P14
  23. Translate(Rotate[((L * sin(angle15)), (L * cos(angle15))), π / 2, xAxis], Vector[(0, 15, 0)]) → P15
  24. Translate(Rotate[((L * sin(angle16)), (L * cos(angle16))), π / 2, xAxis], Vector[(0, 16, 0)]) → P16
  25. Zip(Vector[(0, 0, 0), (0, k, 0)], k, Ln) → Lv
  26. Zip(Translate[O, Vector[v]], Vector[v], Lv) → TO
  27. Segment((0, 1, 0), P1) → segment1
  28. Segment((0, 2, 0), P2) → segment2
  29. Segment((0, 3, 0), P3) → segment3
  30. Segment((0, 4, 0), P4) → segment4
  31. Segment((0, 5, 0), P5) → segment5
  32. Segment((0, 6, 0), P6) → segment6
  33. Segment((0, 7, 0), P7) → segment7
  34. Segment((0, 8, 0), P8) → segment8
  35. Segment((0, 9, 0), P9) → segment9
  36. Segment((0, 10, 0), P10) → segment10
  37. Segment((0, 11, 0), P11) → segment11
  38. Segment((0, 12, 0), P12) → segment12
  39. Segment((0, 13, 0), P13) → segment13
  40. Segment((0, 14, 0), P14) → segment14
  41. Segment((0, 15, 0), P15) → segment15
  42. Segment((0, 16, 0), P16) → segment16

AI 绘图提示语参考

描述一个多球摆动模拟,有多个彩色球作为摆锤,在重力作用下摆动,并带有阻尼,形成彩虹效果。球通过摆臂连接,摆臂长度可能相同,球在不同的高度。摆动模拟使用数值积分,角度和角速度迭代更新。构造顺序:先创建摆臂和球心,然后创建摆臂,再模拟摆动。
以上提示语为根据原始绘图命令整理而来,仅供参考。