Форум программистов, компьютерный форум, киберфорум
Программирование мультимедиа
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/21: Рейтинг темы: голосов - 21, средняя оценка - 4.67
18 / 18 / 6
Регистрация: 02.07.2011
Сообщений: 67
1

Как произвести вращение вокруг локальной оси, если система координат задана матрицей поворота?

06.04.2015, 02:54. Показов 4049. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть локальная координатная система, которая задана одной матрицей поворота 3x3. Пространство трёхмерное.
Чтобы получить координаты точки в этой системе, точка представляется как матрица-столбец (с координатами из глобальной системы) и умножается на матрицу поворота. Также известны углы поворота вокруг глобальных осей для преобразования глобальной системы координат в локальную.

Как можно вращать локальную координатную систему вокруг своих осей? Удобно было бы составить новую матрицу поворота вокруг локальной оси, на которую можно было бы умножать изначальную матрицу поворота.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.04.2015, 02:54
Ответы с готовыми решениями:

Вращение объекта вокруг оси. Матрицы поворота.
добрый день, нужно сделать программу вращение куба вокруг оси z. Применил матрицу поворота к точкам...

Вращение планеты вокруг солнца, и вокруг своей оси
У меня есть Солнце, которое находиться в координатах(0.0.0), и нужно вращать планеты, как по...

Как реализовать вращение треугольника вокруг оси на компоненте image?
Использую формулу X := X*Cos(a) - Y*Sin(a); Y := X*Sin(a) + Y*Cos(a); для каждой точки. ...

Как сделать вращение четырехугольной пирамиды вокруг оси Ох, как в примере?
Как сделать вращение четырехугольной пирамиды вокруг оси Ох, как в примере? uses...

3
2063 / 1542 / 168
Регистрация: 14.12.2014
Сообщений: 13,402
08.04.2015, 20:11 2
Лучший ответ Сообщение было отмечено andreysv как решение

Решение

Умножаешь наоборот. т.е. не текущую матрицу трансформации на матрицу поворота, а матрицу поворота на текущую матрицу трансформации

Добавлено через 1 минуту
Цитата Сообщение от andreysv Посмотреть сообщение
Есть локальная координатная система, которая задана одной матрицей поворота 3x3.
Да кстати - если у тебя матрица 3x3 то центр локальной системы координат совпадает с центром глобальной, т.к смещение центра в 4-ой строке матрицы.
1
18 / 18 / 6
Регистрация: 02.07.2011
Сообщений: 67
10.04.2015, 23:39  [ТС] 3
Fulcrum_013, спасибо! Идеальный вариант для меня, и решение красивое. Опыт - ценнейшая вещь.
Пока линейную алгебру "знаю" так, что не понимаю толком, почему матрица поворота правильно трансформирует точку. Поэтому использую простейшую матрицу поворота (для камеры в визуализаторе графов - самый лучший вариант).
0
2063 / 1542 / 168
Регистрация: 14.12.2014
Сообщений: 13,402
11.04.2015, 00:02 4
Цитата Сообщение от andreysv Посмотреть сообщение
Пока линейную алгебру "знаю" так, что не понимаю толком, почему матрица поворота правильно трансформирует точку.
Вообще, если обобщенно - матрица трансформации это матрица перехода от одного базиса к другому. т.е. в матрице 3x3 просто записаны i,j,k новой системы.
Цитата Сообщение от andreysv Посмотреть сообщение
Поэтому использую простейшую матрицу поворота (для камеры в визуализаторе графов - самый лучший вариант).
Да в принципе LookAt матрица тоже штука простая. а трансформация относительно локальных осей вообще применяется везде и повсюду. в любой компьютерной игре объекты обычно вокруг своих осей вертятся а не вокруг глобальных. Так же собственно говоря как и в реальном мире.
1
11.04.2015, 00:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.04.2015, 00:02
Помогаю со студенческими работами здесь

Матрица поворота вокруг произвольной оси
Хочу сделать функцию для поворота вектора вокруг произвольной оси( да,я знаю про glRotatef), в...

Как сделать свободное вращение камеры вокруг начала координат?
Как сделать свободное вращение камеры вокруг начала координат ?

Матрица поворота. Вращение прямоугольника вокруг точки пересечения диагоналей
Нужно сделать вращение прямоугольника вокруг его центра. Написал метод, где в цикле каждая из...

Найти матрицу поворота вокруг произвольной оси
Помогите решить проблему. Мне нужно найти матрицу поворота вокруг произвольной оси (не проходящей...

Матрицы поворота вокруг оси(ребра) куба
Здравствуйте, не могу понять как использовать матрицы поворота. Хотел сделать поворот вокруг одного...

Вращение прямоугольника вокруг оси
Программа должна вращать прямоугольник с заданными параметрами длины и ширины, вокруг оси. Общий...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru