Как повернуть объект вокруг точки с помощью кватернионов?

Intel предоставляет предварительно скомпилированные модули Python бесплатно в разделе «Распределение Intel для Python». Модули скомпилированы с использованием MKL (Math Kernel Library) от Intel и оптимизированы для повышения производительности. Пакет включает в себя NumPy, SciPy, scikit-learn, pandas, matplotlib, Numba, tbb, pyDAAL, Jupyter и другие. Для получения дополнительной информации и ссылки для загрузки здесь

5
задан user17544 22 May 2009 в 18:37
поделиться

2 ответа

Я не уверен, почему вы ожидаете изменения ротации. У вас есть программные «существа», представляющие исходную точку, точку назначения и поворот. Вычисление точки назначения на основе двух других «существ» не должно влиять на них.

А как насчет обычного подхода? Если вам нужно повернуть позицию (x, y, z) вокруг точки (a, b, c), сначала переместите позицию так, чтобы вращение было вокруг начала координат: используйте (xa, yb, zc) как позицию , поверните вокруг начала координат, как обычно, чтобы получить новую переведенную позицию (x'-a, y'-b, z'-c), и переместите обратно и получите новую позицию (x ', y', z ').

8
ответ дан 14 December 2019 в 01:16
поделиться

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

1
ответ дан 14 December 2019 в 01:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: