欢迎光临散文网 会员登陆 & 注册

水平面圆周运动的GGB模拟——转盘上的物块(带摩擦)

2023-05-12 16:55 作者:井中天  | 我要投稿

首先,创建基本的物理参数。

摩擦系数μ=0.8,显示

物块质量m=1,

重力加速度g=9.8,

初始速度水平分量v_%7Bx0%7D=0,初始速度垂直分量v_%7By0%7D=0,显示

速度矢量v=(0,0),隐藏

转盘半径R=5,

转盘c=circle(O,R),隐藏标签

物块所在位置:描点A;设置点径大小3,显示轨迹,

物块位移r=vector(O,A),隐藏

切向单位向量u=UnitPerpendicularVector(r),隐藏

转盘转速ω=1.5,显示

时间微元dt=0.01,

物块相对于转盘的切向速度v_t=-ω*|r|*u,隐藏

物块相对于转盘的相对速度v'=v_t+v,隐藏

径向拉力数值:F_T=slider(-20,20,0.1),显示

径向拉力矢量:FT=vector(-r/|r| F_T),隐藏

加速度a=如果(abs(r)≤R,向量(-(μ g) ((v')/(abs(v')))+((FT)/(m))),(0,0)),隐藏

速度微元dv=a*dt,隐藏

位移微元dA=v*dt,隐藏

时间t=slider(0,100),显示

控制条tt=0,

重置按钮:脚本:

    启动动画(tt,false)

    赋值(tt,0)

    赋值(t,0)

    赋值(v,(0,0))

    赋值(A,(1,1))

速度箭头:w=向量(A,A+v),设置标题为v

力箭头:F=向量(A,A+m a)

tt脚本:

    赋值(t,t+dt)

    赋值(A,A+dA)

    赋值(v,v+dv)

开始按钮:脚本:

    启动动画(tt,true)

暂停按钮:脚本:

    启动动画(tt,false)

清除轨迹按钮:脚本:

    放大(1)

设置点:C=(R cos(ω t+((π)/(2))),R sin(ω t+((π)/(2))))

设置线段:f=线段(O,C),隐藏标签,设置样式为虚线

注意事项:加速度与微元法的结合在模拟圆周运动时,不可避免地会出现:在物块本应圆周运动时,圆周越来越大的情况、力矢量箭头在临界状态乱晃的情况。可以考虑用旋转指令与微元法结合来优化。

水平面圆周运动的GGB模拟——转盘上的物块(带摩擦)的评论 (共 条)

分享到微博请遵守国家法律