Как повернуть вектор?

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Как повернуть вектор?

Сообщение NOVA 24 фев 2017, 13:37

Это последний вопрос по вектору.
Как получить тот же вектор, но повёрнутый на "n" градусов по глобальной "X" оси?
Вот это работать не хотит.
Скрытый текст:
http://answers.unity3d.com/questions/46770/rotate-a-vector3-direction.html


Юнити ругается. Кватернионы не могут быть умножены на вектор.
Аватара пользователя
NOVA
Адепт
 
Сообщения: 1741
Зарегистрирован: 17 май 2011, 11:45
Откуда: Дядя Саша from Mother Russia

Re: Как повернуть вектор?

Сообщение simmetr 24 фев 2017, 13:44

Как вариант - можно перемножить координаты вектора, при плоском повороте (не в 3д, а а 2д), т.е. при повороте вокруг оси z, надо перемножать x и y вектора на sin или cos угла, на который требуется повернуть ( смотри тригонометрический круг). У меня работает.
Сори забыл - работает до 180 градусов, из за возвращения какой то ф-ии юнити только положительных чисел.
Последний раз редактировалось simmetr 24 фев 2017, 13:55, всего редактировалось 1 раз.
simmetr
UNец
 
Сообщения: 17
Зарегистрирован: 24 фев 2017, 13:19

Re: Как повернуть вектор?

Сообщение NOVA 24 фев 2017, 13:47

simmetr писал(а):Как вариант - можно перемножить координаты вектора, при плоском повороте (не в 3д, а а 2д), т.е. при повороте вокруг оси z, надо перемножать x и y вектора на sin или cos угла, на который требуется повернуть ( смотри тригонометрический круг). У меня работает.

Спасибо. Но не могу уже. Скоро краб мозга случится.
Последний раз редактировалось NOVA 24 фев 2017, 14:42, всего редактировалось 1 раз.
Аватара пользователя
NOVA
Адепт
 
Сообщения: 1741
Зарегистрирован: 17 май 2011, 11:45
Откуда: Дядя Саша from Mother Russia

Re: Как повернуть вектор?

Сообщение Woolf 24 фев 2017, 14:10

А вот тут-то мы и вспоминаем про курс аналитической геометрии и операции с матрицами. Раньше в институтах читали, а нонче, говорят, уже и в школах.

Все просто, надо умножить вектор http://ru.solverbook.com/spravochnik/ma ... na-vektor/
на матрицу поворота http://dic.academic.ru/dic.nsf/ruwiki/1028815

Скоро рак мозга случится

Сплюньте три раза через левое плечо в церкви, держа свечку в левой руке. Вы не знаете о чем говорите и что призываете на свою голову. Как говорил Городецкий, "это не просто слова".
Разработчик theFisherOnline - там, где клюёт
Разработчик Atom Fishing II - Первая 3D MMO про рыбалку
Разработчик Atom Fishing - Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Аватара пользователя
Woolf
Адепт
 
Сообщения: 7179
Зарегистрирован: 02 мар 2009, 16:59

Re: Как повернуть вектор?

Сообщение simmetr 24 фев 2017, 14:21

Woolf писал(а):А вот тут-то мы и вспоминаем про курс аналитической геометрии и операции с матрицами. Раньше в институтах читали, а нонче, говорят, уже и в школах.

Все просто, надо умножить вектор http://ru.solverbook.com/spravochnik/ma ... na-vektor/
на матрицу поворота http://dic.academic.ru/dic.nsf/ruwiki/1028815

Скоро рак мозга случится

Сплюньте три раза через левое плечо в церкви, держа свечку в левой руке. Вы не знаете о чем говорите и что призываете на свою голову. Как говорил Городецкий, "это не просто слова".

Это для полностью 3-х мерного поворота (не вокруг какой либо оси). Для 2х мерного (вокруг одной их осей) будут матрицы 2х2, а далее это просто превтатится, что одну координату надо перемножить на синус, другую на косинус.

Учитывая "Само растаит" и др. фразы, лично я бы не стал относиться к публичным фразам данной личности, как к умным.
Последний раз редактировалось simmetr 24 фев 2017, 14:23, всего редактировалось 1 раз.
simmetr
UNец
 
Сообщения: 17
Зарегистрирован: 24 фев 2017, 13:19

Re: Как повернуть вектор?

Сообщение NOVA 24 фев 2017, 14:22

Гуманитарии это не тянут.
Аватара пользователя
NOVA
Адепт
 
Сообщения: 1741
Зарегистрирован: 17 май 2011, 11:45
Откуда: Дядя Саша from Mother Russia

Re: Как повернуть вектор?

Сообщение Woolf 24 фев 2017, 14:27

Это для полностью 3-х мерного поворота (не вокруг какой либо оси)...что одну координату надо перемножить на синус, другую на косинус

Чем хороши матрицы, это тем, что какую матрицу задашь, такой поворот и получишь (плюс смещение и масштабирование в одном флаконе). А перемножение координат на синус-косинус это частный случай умножения на матрицу.
Разработчик theFisherOnline - там, где клюёт
Разработчик Atom Fishing II - Первая 3D MMO про рыбалку
Разработчик Atom Fishing - Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Аватара пользователя
Woolf
Адепт
 
Сообщения: 7179
Зарегистрирован: 02 мар 2009, 16:59

Re: Как повернуть вектор?

Сообщение NOVA 24 фев 2017, 14:28

Походу это не последний вопрос по векторам. Придётся идти другим путём. Пойду тему создавать.
Аватара пользователя
NOVA
Адепт
 
Сообщения: 1741
Зарегистрирован: 17 май 2011, 11:45
Откуда: Дядя Саша from Mother Russia

Re: Как повернуть вектор?

Сообщение Syberex 25 фев 2017, 02:17

Да матрицы сложны к понимаю, это больше похоже на магию :ymparty:

Но иногда можно подойти к вопросу с другой стороны, например не пытаться повернуть вектор,
а построить другой вектор под нужным углом к первому... Как? В 99% случае выручит прямоугольный треугольник и теорема Пифагора ;)
Согласитесь легче матриц? Так вот берем прямоугольный треугольник с нужным нам углом, выбираем какой катет исходный вектор, другой искомый. И уже понимаем откуда у Вульфа взялись косинусы и синусы :D
Аватара пользователя
Syberex
Адепт
 
Сообщения: 2292
Зарегистрирован: 14 янв 2011, 20:35
Откуда: Кострома
  • Сайт

Re: Как повернуть вектор?

Сообщение waruiyume 25 фев 2017, 03:27

Развели тут шарманка, матрицы шматрицы B-)
Юнити ругается. Кватернионы не могут быть умножены на вектор.

Не надо лохматить бабушку, компилятор не это говорит, кватернионы можно умножать на векторы, наоборот нельзя.
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 29