模拟“杰克盒子”(物理和Lua)

上面的函数是用来模拟玩具弹跳盒中的"杰克"(当你打开盒子时,弹簧负载的"杰克"会以全力弹出,然后随着时间的推移,慢慢地摇晃,直到停止。我们可以借助一些三角函数来模拟弹跳盒。)但是我们为什么要使用余弦波来计算呢?我一直很困惑的是,到底是应该用正弦还是余弦?唯一的原因是因为杰克沿着x轴以一定速度左右摆动吗?还是有其他的原因呢? 
点赞
用户869951
用户869951

弦和余弦是相同的,只是相位差为pi/2弧度。换句话说,它们之间只有相位差为pi/2。因此,使用哪个函数并不重要,除非相位由初始条件确定:在t=0时,弹簧处于y = y0(通常速度为零,但不是必需的)。从这里确定相位,尽管如果速度为0,你知道弹簧必须在顶峰。如果选择正弦函数,则t=0处的sin a*t为0,因此需要相位为pi/2。如果选择余弦函数,则t=0已经处于函数的顶峰,因此相位为零。

使用的函数与由弹簧与竖直平面的初始非零角度、重力对弹簧CofM施加的力矩以及跨越弹簧横截面的可能不均匀垂直压缩造成的一些弯曲之间引起的横向CofM运动之间没有关系。

总之,你可以使用任何一个函数,但是根据初始条件,使用余弦函数会得到一个更简单的方程。其他初始条件可能导致正弦函数得到更简单的方程,而另一些初始条件可能导致两个函数的复杂度类似。

2014-04-13 14:38:38