Arhn - архитектура программирования

Направление (знак) поворота/угла между двумя N-мерными векторами

Предположим, что у меня есть вектор, скажем, vectorA=[1,2,3,4]. Я могу повернуть вектор А на некоторый угол alpha в некоторых direction так, чтобы после поворота он стал vectorB=[6,7,8,9]. Учитывая два вектора, вектор А и вектор В, как я могу определить угол и направление вращения?

Что касается угла, это достаточно просто: я могу использовать любой из ответов на этот вопрос.

Что касается направления (по часовой стрелке/против часовой стрелки), я немного не в курсе. Я знаю, как это сделать в двух измерениях и в 3 измерения. Как мне сделать это для N измерений, т.е. 4D и выше?


  • Если вы знаете плоскость вращения, вы можете спроецировать эти векторы ND в 2D и использовать стандартное перекрестное произведение 3D, проверяя знак компонента z, или сделать CW/CCW=sign(dot(cross(v0,v1,v2...),axis)) Однако, если вы не знаете плоскость вращения. Проблема в том, что нормаль плоскости вычисляется перекрестное произведение, которое имеет n-1 входных векторов, и у вас есть только 2 для 4D (отсутствует один) ... Однако там, где также формула, использующая dot вместо пересечения, которое IIRC работало в ND с 2 операндами, однако я не могу найти формулу, и это не помогло бы вы, как нормальный, не были бы той осью, которая вам нужна большую часть времени ... 12.06.2021
  • @Spektre Спасибо за комментарий! На самом деле получить плоскость вращения легко. Знание того, что vectorA становится vectorB, полностью определяет его. Однако после этого осталось N-2 размеров. В 3D это 3-2=1 дает вам удобное понятие нормального вектора, и я могу использовать предложенную вами формулу. В 4D это будет 4-2=2, поэтому мне нужно будет выбрать 2 вектора нормалей? Как это работает? 12.06.2021
  • Если у вас есть плоскость ..., то 1. постройте 2 единичных перпендикулярных вектора друг к другу U,V внутри этой плоскости. Затем преобразуйте любой P (точка/вектор) в 2D uv-отображение u=dot(P-P0,U); v=dot(P-P0,V);, где P0 — это любая точка внутри плоскости... из этого (u,v) это просто 2D-вектор. Один из векторов U,V может быть вашим входным вектором, другой должен быть вычислен... 12.06.2021
  • Наконец-то я нашел уравнение... был уверен, что оно близко к одному из моих ответов ND ? .... P2 = P2 - dot(P1, P2)*P1; P2 = P2 / | P2 | однако будьте осторожны, я думаю, что если вы используете свои входные векторы, это не сработает, поскольку их порядок всегда будет соответствовать кресту ... поэтому вам придется подразумевать некоторые вспомогательные правила, на какой стороне нормали самолета должен идти 12.06.2021
  • Вы знаете, например, направление взгляда или что-то в этом роде, потому что если вы посмотрите на вращение с одной стороны по часовой стрелке, а с другой против часовой стрелки... например, если оно связано с какой-то сеткой, вы можете использовать ось/нормаль, которые указывают наружу от сетки, или использовать направление взгляда камеры... или что еще у вас есть 12.06.2021

Новые материалы

Коллекции публикаций по глубокому обучению
Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

Представляем: Pepita
Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

Советы по коду Laravel #2
1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

3 способа решить квадратное уравнение (3-й мой любимый) -
1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

Создание VR-миров с A-Frame
Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

Демистификация рекурсии
КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..