Прошу сильно не пинать, в геометрической терминологии я семиклассник.

Есть трехмерное пространство, координатные оси X, Y, Z (по Декарту, если не ошибаюсь). Есть куб, который стоит на своей нижней грани. Его я поворачиваю на случайный угол по двум осям (в моем случае это X и Y, углы поворота всякие-разные, в пределах 0-90 градусов).

Возник вопрос - по какой формуле рассчитать новые углы поворота, чтобы просто перевернуть куб на другую грань? (необходимо поворачивать на разные грани)

Прилагаю ссылки на картинки, так как вставить в сообщение не могу. Больше не знаю, как выразить суть своей проблемы. Заранее благодарен за помощь.

  1. http://prineside.com/media/stuff/c_1.png
  2. http://prineside.com/media/stuff/c_2.png
  3. http://prineside.com/media/stuff/c_3.png

задан 12 Ноя '13 23:57

Для того, чтобы получить конфигурацию 3, надо сначала повернуть куб вдоль оси X на 90 градусов по часовой стрелке. При этом бывшая грань top займёт положение, которое изначально занимала грань front. После этого выполняются те преобразования, которые делались, то есть поворот на 10 градусов по X и на 20 градусов по Y.

(13 Ноя '13 0:19) falcao

Задача состоит в создании одной функции... Я слабо представляю, как это проделать, если куб приидется поворачивать на каждую грань.

В голове у меня возможное решение - "повернуть объект, сбросить систему координат, не поворачивая куб (ось Z смотрит вверх...) и повернуть куб еще раз", но ни формулами, ни представлением, как это сделать, я не владею

(13 Ноя '13 0:35) prineside

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

(13 Ноя '13 3:13) falcao

Я, конечно же, "гуглил". Как выяснил для себя, проще перевести угол поворота в кватернион, так как матрицы поворотов требуют большое количество вычислений, да и наглядности меньше.

(13 Ноя '13 15:36) prineside
10|600 символов нужно символов осталось
Знаете, кто может ответить? Поделитесь вопросом в Twitter или ВКонтакте.

Ваш ответ

Если вы не нашли ответ, задайте вопрос.

Здравствуйте

Математика - это совместно редактируемый форум вопросов и ответов для начинающих и опытных математиков, с особенным акцентом на компьютерные науки.

Присоединяйтесь!

отмечен:

×120

задан
12 Ноя '13 23:57

показан
716 раз

обновлен
13 Ноя '13 15:36

Отслеживать вопрос

по почте:

Зарегистрировавшись, вы сможете подписаться на любые обновления

по RSS:

Ответы

Ответы и Комментарии

Дизайн сайта/логотип © «Сеть Знаний». Контент распространяется под лицензией cc by-sa 3.0 с обязательным указанием авторства.
Рейтинг@Mail.ru