Страница 1 из 1

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

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


Юнити ругается. Кватернионы не могут быть умножены на вектор.

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

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

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

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

Спасибо. Но не могу уже. Скоро краб мозга случится.

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

СообщениеДобавлено: 24 фев 2017, 14:10
Woolf
А вот тут-то мы и вспоминаем про курс аналитической геометрии и операции с матрицами. Раньше в институтах читали, а нонче, говорят, уже и в школах.

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

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

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

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

СообщениеДобавлено: 24 фев 2017, 14:21
simmetr
Woolf писал(а):А вот тут-то мы и вспоминаем про курс аналитической геометрии и операции с матрицами. Раньше в институтах читали, а нонче, говорят, уже и в школах.

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

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

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

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

Учитывая "Само растаит" и др. фразы, лично я бы не стал относиться к публичным фразам данной личности, как к умным.

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

СообщениеДобавлено: 24 фев 2017, 14:22
NOVA
Гуманитарии это не тянут.

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

СообщениеДобавлено: 24 фев 2017, 14:27
Woolf
Это для полностью 3-х мерного поворота (не вокруг какой либо оси)...что одну координату надо перемножить на синус, другую на косинус

Чем хороши матрицы, это тем, что какую матрицу задашь, такой поворот и получишь (плюс смещение и масштабирование в одном флаконе). А перемножение координат на синус-косинус это частный случай умножения на матрицу.

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

СообщениеДобавлено: 24 фев 2017, 14:28
NOVA
Походу это не последний вопрос по векторам. Придётся идти другим путём. Пойду тему создавать.

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

СообщениеДобавлено: 25 фев 2017, 02:17
Syberex
Да матрицы сложны к понимаю, это больше похоже на магию :ymparty:

Но иногда можно подойти к вопросу с другой стороны, например не пытаться повернуть вектор,
а построить другой вектор под нужным углом к первому... Как? В 99% случае выручит прямоугольный треугольник и теорема Пифагора ;)
Согласитесь легче матриц? Так вот берем прямоугольный треугольник с нужным нам углом, выбираем какой катет исходный вектор, другой искомый. И уже понимаем откуда у Вульфа взялись косинусы и синусы :D

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

СообщениеДобавлено: 25 фев 2017, 03:27
waruiyume
Развели тут шарманка, матрицы шматрицы B-)
Юнити ругается. Кватернионы не могут быть умножены на вектор.

Не надо лохматить бабушку, компилятор не это говорит, кватернионы можно умножать на векторы, наоборот нельзя.