彩虹摆波模拟
几何画板及绘图内容加载中,请稍等……
所属专题
Pendulum simulations
该范例演示了多个摆锤在重力作用下形成的波浪状运动,通过不同摆长产生相位差,形成周期性变化的彩虹色波带。核心数学概念包括简谐运动、周期与摆长的平方根关系、相位差以及波的叠加。作图要点:使用GeoGebra的Rotate、Sphere、Zip、Sequence、Length、Translate、Segment等命令,构建多个摆锤对象(L1至L16),每个摆锤通过角度变量(angle1至angle16)控制旋转,并利用按钮(button1)和滑块(slider)驱动动画,实现摆动的动态模拟。适合中学物理或数学课程中讲解简谐运动、波动现象以及参数化动画设计,也可用于大学物理演示。通过调整摆长和初始角度,学生可以直观观察波的形成与传播。
GeoGebra 命令及参数
Rotate(Segment[O, (posx, posy)], π / 2, xAxis) → sRotate((posx, posy), π / 2, xAxis) → PSphere(P, 1) → sphZip("angle" + (Text[k]), k, Ln) → LnamAngZip("angleV" + (Text[k]), k, Ln) → LnamAngVZip("angleA" + (Text[k]), k, Ln) → LnamAngASequence(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}Length(Ldiff) → sizeTranslate(Rotate[((L1 * sin(angle1)), ((-L1) * cos(angle1))), π / 2, xAxis], Vector[(0, 1, 0)]) → P1Zip(Vector[(0, 0, 0), (0, k, 0)], k, Ln) → LvZip(Translate[O, Vector[v]], Vector[v], Lv) → TOSegment((0, 1, 0), P1) → segment1Translate(Rotate[((L2 * sin(angle2)), ((-L2) * cos(angle2))), π / 2, xAxis], Vector[(0, 2, 0)]) → P2Segment((0, 2, 0), P2) → segment2Translate(Rotate[((L3 * sin(angle3)), ((-L3) * cos(angle3))), π / 2, xAxis], Vector[(0, 3, 0)]) → P3Segment((0, 3, 0), P3) → segment3Translate(Rotate[((L4 * sin(angle4)), ((-L4) * cos(angle4))), π / 2, xAxis], Vector[(0, 4, 0)]) → P4Segment((0, 4, 0), P4) → segment4Translate(Rotate[((L5 * sin(angle5)), ((-L5) * cos(angle5))), π / 2, xAxis], Vector[(0, 5, 0)]) → P5Segment((0, 5, 0), P5) → segment5Translate(Rotate[((L6 * sin(angle6)), ((-L6) * cos(angle6))), π / 2, xAxis], Vector[(0, 6, 0)]) → P6Segment((0, 6, 0), P6) → segment6Translate(Rotate[((L7 * sin(angle7)), ((-L7) * cos(angle7))), π / 2, xAxis], Vector[(0, 7, 0)]) → P7Segment((0, 7, 0), P7) → segment7Translate(Rotate[((L8 * sin(angle8)), ((-L8) * cos(angle8))), π / 2, xAxis], Vector[(0, 8, 0)]) → P8Segment((0, 8, 0), P8) → segment8Translate(Rotate[((L9 * sin(angle9)), ((-L9) * cos(angle9))), π / 2, xAxis], Vector[(0, 9, 0)]) → P9Segment((0, 9, 0), P9) → segment9Translate(Rotate[((L10 * sin(angle10)), ((-L10) * cos(angle10))), π / 2, xAxis], Vector[(0, 10, 0)]) → P10Segment((0, 10, 0), P10) → segment10Translate(Rotate[((L11 * sin(angle11)), ((-L11) * cos(angle11))), π / 2, xAxis], Vector[(0, 11, 0)]) → P11Segment((0, 11, 0), P11) → segment11Translate(Rotate[((L12 * sin(angle12)), ((-L12) * cos(angle12))), π / 2, xAxis], Vector[(0, 12, 0)]) → P12Segment((0, 12, 0), P12) → segment12Translate(Rotate[((L13 * sin(angle13)), ((-L13) * cos(angle13))), π / 2, xAxis], Vector[(0, 13, 0)]) → P13Segment((0, 13, 0), P13) → segment13Translate(Rotate[((L14 * sin(angle14)), ((-L14) * cos(angle14))), π / 2, xAxis], Vector[(0, 14, 0)]) → P14Segment((0, 14, 0), P14) → segment14Translate(Rotate[((L15 * sin(angle15)), ((-L15) * cos(angle15))), π / 2, xAxis], Vector[(0, 15, 0)]) → P15Segment((0, 15, 0), P15) → segment15Translate(Rotate[((L16 * sin(angle16)), ((-L16) * cos(angle16))), π / 2, xAxis], Vector[(0, 16, 0)]) → P16Segment((0, 16, 0), P16) → segment16Zip((9.81 * (120 / (((2 * π) * (13.44 + k + 1))))^(2)), k, Ln) → LlengthSphere(P1, 0.5) → S1Sphere(P2, 0.5) → S2Sphere(P3, 0.5) → S3Sphere(P4, 0.5) → S4Sphere(P5, 0.5) → S5Sphere(P6, 0.5) → S6Sphere(P7, 0.5) → S7Sphere(P8, 0.5) → S8Sphere(P9, 0.5) → S9Sphere(P10, 0.5) → S10Sphere(P11, 0.5) → S11Sphere(P12, 0.5) → S12Sphere(P13, 0.5) → S13Sphere(P14, 0.5) → S14Sphere(P15, 0.5) → S15Sphere(P16, 0.5) → S16Segment(Q0, Q1) → topSegment(Q0', Q0'') → top'Segment(Q1', Q1'') → top''Segment(Q1', Q3) → leg1Segment(Q1'', Q4) → leg2Segment(Q0', Q5) → leg3Segment(Q0'', Q6) → leg4
AI 绘图提示语参考
画一个由16个不同长度的摆组成的彩虹波形,每个摆的摆长由其位置决定,初始角度分别为angle1到angle16。摆的运动通过旋转和平移实现,摆的末端用球体表示,球体半径为0.5。摆的长度由公式9.81 * (120 / (2π * (13.44 + k + 1)))^2计算,其中k从0到0.15,步长为0.01。摆的运动通过角度angle1到angle16控制。
以上提示语为根据原始绘图命令整理而来,仅供参考。