Матрица вращения для вращений вокруг оси X
Создайте матрицу для вращения вектора вокруг оси X на 30 °. Затем позвольте матрице работать с вектором.
R = rotx(30)
R = 3×3
1.0000 0 0
0 0.8660 -0.5000
0 0.5000 0.8660
x = [2;-2;4]; y = R*x
y = 3×1
2.0000
-3.7321
2.4641
При вращении вокруг оси X x-компонент вектора является инвариантным.
ang
— Угол поворотаУгол поворота, заданный как скаляр с действительным знаком. Угол поворота положителен, если вращение находится в направлении против часовой стрелки, когда просматривается наблюдателем, смотрящим вдоль оси X на источник. Угловые модули в градусах.
Пример: 30.0
Типы данных: double
R
— Матрица вращения3х3 матрица вращения возвращена как
для угла поворота α.
Матрицы вращения используются, чтобы вращать вектор в новое направление.
В преобразовании векторов в 3-мерном пространстве часто сталкиваются с матрицами вращения. Матрицы вращения используются в двух смыслах: они могут использоваться, чтобы вращать вектор в новое положение, или они могут использоваться, чтобы вращать координатное основание (или система координат) в новую. В этом случае вектор оставлен в покое, но его компоненты в новом основании будут отличаться от тех в исходном основании. В Евклидово пространстве существует три основных вращения: один каждый вокруг x, y и осей z. Каждое вращение задано углом вращения. Угол поворота задан, чтобы быть положительным для вращения, которое является против часовой стрелки, когда просматривается наблюдателем, смотрящим вдоль оси вращения на источник. Любое произвольное вращение может состоять из комбинации этих трех (теорема вращения Эйлера). Например, можно вращать вектор в любом направлении с помощью последовательности трех вращений: .
Матрицами вращения, которые вращают вектор вокруг x, y, и оси z, дают:
Против часовой стрелки вращение вокруг оси X
Против часовой стрелки вращение вокруг оси Y
Против часовой стрелки вращение вокруг оси z
Следующие три рисунка показывают то, на что положительные вращения похожи для каждой оси вращения:
Для любого вращения существует обратное удовлетворение вращения . Например, инверсия матрицы вращения оси X получена путем изменения знака угла:
Этот пример иллюстрирует основное свойство: обратная матрица вращения является транспонированием оригинала. Матрицы вращения удовлетворяют A’A = 1, и следовательно det(A) = 1. При вращениях длины вектора сохраняются, а также углы между векторами.
Мы можем думать о вращениях в другом отношении. Рассмотрите исходный набор базисных векторов, , и вращайте их всех использование матрицы вращения A. Это производит новый набор базисных векторов связанный с оригиналом:
Используя транспонирование, можно записать новые базисные векторы как линейные комбинации старых базисных векторов:
Теперь любой вектор может быть записан как линейная комбинация любого набора базисных векторов:
Используя алгебраическую манипуляцию, можно вывести преобразование компонентов для фиксированного вектора, когда основание (или система координат) вращается. Это преобразование использует транспонирование матрицы вращения.
Следующая фигура иллюстрирует, как вектор преобразовывается, когда система координат вращается вокруг оси X. Рисунок после показывает, как это преобразование может быть интерпретировано как вращение вектора в противоположном направлении.
[1] Голдстайн, H. C. Пул и Й. Сафко, Классическая Механика, 3-й Выпуск, Сан-Франциско: Аддисон Уэсли, 2002, стр 142–144.
Указания и ограничения по применению:
Не поддерживает входные параметры переменного размера.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.