Как повернуть уравнение плоскости относительно точки? Добрый день.
Есть уравнение плоскости вида Ax+By+Cz+D=0
так же есть её базисы, если нужно,
есть некоторая точка M(x, y,z)
необходимо повернуть эм уравнение плоскости на угол Y U W (относительно осей ox, oy, oz)
Подскажите, пожалуйста, алгоритм.
P.S. Кватернионы не предлагать =)
Скорее всего мне помогут матрицы...

21 Авг 2019 в 06:16
166 +1
0
Ответы
1

Для поворота уравнения плоскости относительно точки M на углы Y, U, W можно воспользоваться матрицами поворота.

Найдите матрицы поворота относительно каждой из осей ox, oy, oz на углы Y, U, W. Например, матрица поворота относительно оси ox на угол Y будет:

Rox = [1,0,0],[0,cos(Y),−sin(Y)],[0,sin(Y),cos(Y)][1, 0, 0],
[0, cos(Y), -sin(Y)],
[0, sin(Y), cos(Y)]
[1,0,0],[0,cos(Y),sin(Y)],[0,sin(Y),cos(Y)]

Аналогично найдите матрицы Rоy и Roz для поворота относительно осей oy и oz на углы U и W соответственно.

Переведите координаты точки M и базисы плоскости в матричную форму:

M_matrix = [x],[y],[z][x],
[y],
[z]
[x],[y],[z]

Базисы плоскости преобразуйте в матрицу 3x3, где каждый столбец - это координаты базисного вектора.

Умножьте матрицы базисов плоскости и точки M на полученные матрицы поворота Rоx, Rоy, Roz:

M_rotated = Rox M_matrix
Basis_rotated = Rox Basis_matrix

После этого повторите процедуру для матриц Rоy и Roz.

Найдите новые координаты точки M и базисы плоскости после всех поворотов.

Составьте новое уравнение плоскости с использованием новых коэффициентов A', B', C', D':

A'x + B'y + C'z + D' = 0

Таким образом, вы получите уравнение плоскости, повернутое относительно точки M на заданные углы Y, U, W.

20 Апр 2024 в 13:21
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир