Динамика абсолютно твёрдого тела для ПК игры.

Здравствуйте и прошу вашего внимания. Я пишу компьютерную игру жанра «космический симулятор». И у меня проблема.

Дело в том что термех я плохо знаю(помню), в связи с чем уже неделю бьюсь над одной задачей.

Ситуация следующая: Летит корабль и сталкивается с астероидом. Корабль и астероид являются абсолютно твердыми телами. У корабля сложное движение (поступательное+ вращательное), у астероида тоже сложное движение. И астероиди самолет сложных форм. Столкновение происходит в произвольной точке, что у самолета что у астероида.

Задача: Вычислить силу удара корабля и силу удара астероида. Для того чтобы я ее отнял из «жизней» корабля, т.к. именно силой удара у меня будет, для начала, определяться урон нанесенный объектам.

Дано: И у корабля и у астероида известны,

«m» — масса

«V» — скорости — вектор или «векторообразная»(состоящая из трех чисел) величина.

«a» — ускорения — вектор или «векторообразная»(состоящая из трех чисел) величина.

«W»  — угловая скорости — вектор или «векторообразная»(состоящая из трех чисел) величина.

«B» -угловое ускорение — вектор или «векторообразная»(состоящая из трех чисел) величина.

«Tv» — диагональный тензор инерции — вектор или «векторообразная»(состоящая из трех чисел) величина.

«Tw» — вращательный тензор инерции — вектор или «векторообразная»(состоящая из трех чисел) величина.

так же мне известны координаты центра масс тел и координаты точки контакта. Из них мне известно «r» — расстояние от центра масс до точки контакта.

Найти: Силу столкновения самолета с астероидом. Я не знаю как ее следует высчитывать, и из чего. Надо ли складывать силы объектов в момент контакта? Равны ли эти силы у астероида и корабля? Голова уже кругом. Помогите прошу. Мне нужна формула.

P.S.: Еще я не совсем уверен что мне урон следует вычислять из сил при столкновении… Может мне его следует вычислять из кинетической энергии?

Ответы

ув. Октав, к сожалению по поводу формулы не подскажу, т.к. сам помню данную тему только в рамках механики/кинематики. Однако на Вашем месте обратил бы внимаение в сторону готовых библиотек физики. В XY случае — это Box2D. Расчитывает столкновение не только с учетом масс и центра, но и с учетом геометрии. Уверен, что есть что-то такое и в 3d.

К примеру, мои эксперименты с box2d на JS: snooker.gixx.ru

Попробуйте разобраться, оно поддерживает и более сложную физику.

07.03.13
Рекомендуем личную консультацию

✔Олеся / Математика

Сейчас на сайте
Кандидат физико-математических наук, доцент; специализация: высшая математика, математический анализ, дифференциальное и интегральное исчисление, аналитическая геометрия, линейная алгебра, векторный анализ, различные разделы общей физики
Посмотреть всех экспертов из раздела Учеба и наука > Физика
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store