Как применить физическую силу для ускорения корабля
Я знаю плавучесть и применяю ее; мой корабль сейчас плавает на воде. но я не знаю, как применить силу, чтобы контролировать и управлять моей скоростной лодкой?
Я использую физический движок Havok. мой код такой
body->applyForce( stepInfo.m_deltaTime,forwardWorld, pointx);
точка = моя точка приложения силы (-75,0,0); эта точка является 3D-точкой на задней стороне моего корабля
forwardWorld = значение силы и ее направление (100,0,0); приложить 100 нм к обратной стороне моего корабля
мое значение pointx всегда статично.
мои значения forwardWorld меняются каждый раз при сдаче экзамена:
когда я хочу, чтобы мой корабль пошел вперед, установите его (100,0,0)
когда я хочу, чтобы мой корабль пошел направо, я установил его (0,0,100)
когда я хочу, чтобы мой корабль пошел налево, я устанавливаю его (0,0,-100)
но это не очень хороший способ, потому что мой корабль будет тянуться и смещаться влево или вправо на высокой скорости, и это ошибка, пожалуйста, помогите мне.
1 ответ
Вы не сказали, для чего вам нужна модель. Если это игра, то, возможно, мой совет не удовлетворит вас, но если это для решения технических задач, то я рекомендую построить свою собственную модель маневрирования. Это может звучать пугающе, но на самом деле все сводится к решению трех дифференциальных уравнений (крен, рыскание и скачок; вы также можете добавить влияние в зависимости от того, что вас интересует). Вы можете легко решить их путем интеграции, скажем, методом Range-Kutta.
Вот статья, дающая хороший обзор того, о чем я говорю (есть много он-лайн): https://scl.snu.ac.kr/SCL_Research/data/research/science.pdf
Вам нужно будет найти коэффициенты для ваших уравнений движения. В статье, которую я перечислил выше, есть некоторые, многие другие можно найти в Интернете. Для начала я рекомендую перейти к данным KRISO, они широко доступны и хорошо представлены в литературе.
Изменить: мне не нравится MatLab, но если у вас есть доступ к нему, то вы можете действительно легко решить ваши уравнения, построив модель Simulink.