Физика пружины. Как узнать момент вращения через кватернион? Здравствуйте. Пишу симуляцию пружины при помощи ODE и Panda3D для визуализации. С простым движением всё просто: прикладывается сила пропорционально расстоянию, вычитается сила пропорционально скорости и тело плавно возвращается в заданную точку. Если пропорционально скорости не вычитывать, тело совершает гармонические колебания в окрестностях заданной точки. С вращением и моментом полное... Ни матрицы вращения, ни их производные, ни их арккосинусы и арксинусы не дают результата. В лучшем случае тело раскручивается вокруг 0Z, в худшем совершает случайные вращения и улетает в космос. Держаться заданного угла не хочет ни в какую.
Самая успешная реализация вращения у меня пока учитывает вращение только по 0X и 0Y. У тела получаем квартернион и прикладываем момент пропорционально X или Y. Само собой любое отклонение вокруг оси Z влечёт раскручивание и полёт в космос. Если тело вокруг Z не вращается, тело успешно держит заданный угол при прикладывании внешних сил.
Как рассчитать момент, необходимый для поворота в направлении заданном кватернионом, чтобы тело придерживалось заданного угла?

21 Авг 2019 в 06:13
126 +1
0
Ответы
1

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

Получите текущий кватернион, представляющий ориентацию вашего тела.Вычислите разницу между текущим кватернионом и желаемым кватернионом (который задан вами как требуемая ориентация).Преобразуйте эту разницу в углы Эйлера или ось вращения, которую необходимо применить, чтобы перейти от текущей ориентации к желаемой ориентации.Используйте эту ось вращения и углы, чтобы расчитать момент, который необходимо приложить к телу для его поворота в требуемом направлении.

Этот подход позволит вам точно определить момент, который нужно приложить к телу, чтобы оно придерживалось заданного угла, описанного в кватернионе.

20 Апр в 13:21
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 90 211 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир