0

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

我正在使用 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)

但这不是一个好方法,因为我的船会以最高速度向左或向右移动,这是错误的,请帮助我。

4

1 回答 1

0

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

这是一篇很好地概述了我正在谈论的内容的论文(网上有很多): https ://scl.snu.ac.kr/SCL_Research/data/research/science.pdf

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

编辑:我不喜欢 MatLab,但是如果您可以访问它,那么您可以通过构建 Simulink 模型来非常轻松地求解您的方程。

于 2013-01-22T19:03:05.920 回答