8 / 8 / 0
Регистрация: 16.07.2013
Сообщений: 149
|
|
1 | |
Способы поворота вектора нормали на 90 градусов в трехмерном пространстве24.10.2018, 04:56. Показов 10766. Ответов 8
Метки нет (Все метки)
Доброго времени суток.
Имеется вектор нормали (нормализованный вектор направления) направления заданный как n(ax,ay,az,w) где ax,ay,az - направляющие косинусы вектора, w - расстояние от начала координат до начала вектора. Так же известны и координаты начала вектора (x,y,z). Вопрос - можно ли повернуть этот вектор нормали на 90 градусов по всем трем осям каким-нибудь способом попроще (учитывая, что нужен поворот ровно на 90 градусов) чем с использованием матриц поворота? (для двумерного вектора вроде как было бы достаточно поменять компоненты X и Y местами, можно ли провернуть что-то подобное для трехмерного вектора?)
0
|
24.10.2018, 04:56 | |
Ответы с готовыми решениями:
8
Получение углов поворота из вектора нормали Вычисление модуля вектора в трехмерном декартовом пространстве Наследование классов. Длина вектора на плоскости и в трехмерном пространстве Даны два вектора в трехмерном пространстве; найти угол между ними |
4183 / 3051 / 919
Регистрация: 19.11.2012
Сообщений: 6,196
|
|
24.10.2018, 09:31 | 2 |
Скажем поворот на 90 градусов вокруг оси х-ов можно так описать: переставляем координаты y и z и меняем знак у одной из них.
1
|
2710 / 864 / 327
Регистрация: 10.02.2018
Сообщений: 2,044
|
|
24.10.2018, 09:55 | 3 |
Я бы, наверное, посмотрел в сторону векторного произведения. Один вектор - вектор оси вращения, второй - вектор нормали.
3
|
8 / 8 / 0
Регистрация: 16.07.2013
Сообщений: 149
|
|
24.10.2018, 10:38 [ТС] | 4 |
Попробую и то и то.
0
|
0 / 0 / 0
Регистрация: 21.09.2019
Сообщений: 1
|
|
18.04.2020, 14:15 | 5 |
MikeNew, Какой способ сработал?
0
|
1471 / 826 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|
18.04.2020, 15:27 | 6 |
По идее оба работают. Пробуйте векторное это скорей по классике жанра.
Матрица поворота вокруг произвольной оси в 3д. Задаете ось и угол…проста как двери. Альтернатива для извращенцев тоже самое только через кватернион.
0
|
18.04.2020, 16:21 | 7 |
Вот такой переход, по-вашему, есть поворот на 90 градусов? Я правильно вас понял?
Добавлено через 27 минут Раз известны координаты начала вектора, то и расстояние на автомате тоже (оно вычисляется). Тогда параметр w не нужен. Что такое, по-вашему, "поворот по оси ОХ", например? В 3-х мерном пространстве. Как вы себе это представляете? Да, и в одной из координат поменять знак, т.е. сделать такой переход: . Но это всё так, если начало вектора находится в начале координат и эта точка при повороте неподвижна. У вас же зачем-то дано начало вектора не в (0;0;0), а где-то.
0
|
1471 / 826 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|
18.04.2020, 19:02 | 8 |
Вообще выглядит странно.
В игре например нужно крутить массивы 100500 векторов на произвольные углы вокруг произвольных осей но пристали к оптимизации повернуть вектор на 90 град…непрактичный бред а не оптимизация.
0
|
4183 / 3051 / 919
Регистрация: 19.11.2012
Сообщений: 6,196
|
|
19.04.2020, 13:08 | 9 |
0
|
19.04.2020, 13:08 | |
19.04.2020, 13:08 | |
Помогаю со студенческими работами здесь
9
Составить описание класса для вектора, заданного его координатами в трехмерном пространстве Составить описание класса для вектора, заданного координатами его концов в трехмерном пространстве Составить описание класса для вектора, заданного координатами его концов в трехмерном пространстве Трехмерном пространстве Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |