我正在尝试模拟一个摆,当没有施加任何阻尼时,它应该在两个最大点之间振荡,但是它会继续加速。
我尝试将g的值更改为较低的值,尝试将加速度值或A缩小比例(本质上是相同的)。
编辑:
theta:当前弧度(弧度)。
v =时刻t的摆速度。
x:摆锤的摆锤位置。
y:摆的y位置。
r:字符串的长度。
g:恒定引力。
a:加速度。
while (true)
{
theta += v;
x = r * sin(theta);
y = r * cos(theta);
v += a;
a = -(g/r) * sin(theta);
}