如何运用物理力量来加速船舶的速度

时间:2012-07-21 05:45:55

标签: math physics havok

我知道浮力并应用它;我的船现在漂浮在水面上。但我不知道如何使用武力控制和驾驶我的快艇?

我正在使用havok物理引擎。 我的代码就像这样

body-> applyForce(stepInfo.m_deltaTime,forwardWorld,pointx);

pointx =我的施力点(-75,0,0);这一点是我船背面的3d点

forwardWorld =强制值及其方向(100,0,0);申请100Nm到我的船的背面

我的pointx值始终是静态的。

我的forwardWorld值每次都会更改为考试:

当我想要我的船前往前面时将它设置为(100,0,0)

当我想要我的船到右边时,我将它设置为(0,0,100)

当我想要我的船向左转时我将它设置为(0,0,-100)

但这是一个很好的方法,因为我的船将以较高的速度向左或向右拖动 这是错误的 请帮帮我。

1 个答案:

答案 0 :(得分:0)

你没有说出你需要的模型。如果它是一个游戏,那么也许我的建议不会满足你,但如果它是为某种工程问题解决,那么我建议你建立自己的机动模型。这可能听起来令人生畏,但实际上它归结为解决三个微分方程(滚动,偏航和激增;你也可以根据你感兴趣的内容添加摇摆)。您可以使用Range-Kutta方法通过集成轻松解决这些问题。

这篇文章很好地概述了我所说的内容(网上有很多内容): https://scl.snu.ac.kr/SCL_Research/data/research/science.pdf

您需要找到运动方程的系数。我在上面列出的论文中有一些,可以在网上找到更多。首先,我建议您查看KRISO数据,它们可以广泛使用并在文献中很好地展示。

编辑:我不喜欢MatLab,但是如果你可以访问它,那么你可以通过构建Simulink模型来轻松解决方程式。