Формула Родрига: поворот вектора вокруг оси
Формула Родрига - это компактный способ повернуть вектор вокруг произвольной единичной оси на угол без явного перебора координатных плоскостей. Её применяют в компьютерной графике, робототехнике, механике твёрдого тела и задачниках по линейной алгебре - везде, где нужно описать поворот в пространстве одной формулой. Попробуйте калькулятор ниже: задайте угол и вектор - и сразу увидите результат с разбивкой по трём слагаемым формулы.
Что такое формула Родрига
Формула Родрига записывается так:
где - исходный вектор, - единичная ось вращения (), - угол поворота, - результат.
У формулы три слагаемых, и каждое отвечает за свою часть поворота:
- - проекция исходного вектора, «прижатая» к плоскости вращения, уменьшенная на ;
- - вращение на в плоскости, ортогональной оси, умноженное на ;
- - компенсация проекции вектора на ось, которая не меняется при повороте.
Если перпендикулярен оси , то и третье слагаемое исчезает. Формула сводится к обычному повороту в плоскости: .
Вывод формулы
Разложим на два ортогональных слагаемых: проекцию на ось и компоненту, перпендикулярную оси, .
При повороте на угол вокруг :
- не меняется (она вдоль оси);
- вращается в плоскости, перпендикулярной . В этой плоскости есть удобный ортонормированный базис: и .
Поворот даёт .
Заметим, что (параллельная компонента не даёт вклад в крест-произведение). Собирая всё вместе:
что после перегруппировки даёт исходную формулу.
Матрица поворота через формулу Родрига
Формула Родрига удобна не только для конкретного вектора, но и для построения матрицы поворота . Если ось , то:
где - единичная матрица, - матрица проекции, - кососимметрическая матрица оси:
Эта запись - стандарт в компьютерной графике. Вместо того чтобы хранить три угла Эйлера и бороться с их порядком, достаточно хранить ось и угол (так называемое представление ось-угол), а нужную матрицу строить по формуле выше.

Частный случай: поворот вокруг координатных осей
Проверим формулу Родрига на простом примере: поворот вектора вокруг оси на угол .
Вычислим слагаемые:
- ;
- ; умноженное на даёт ;
- , третье слагаемое равно нулю.
Итог: - ось повернулась в ось , что совпадает с матрицей поворота вокруг на .
Применение в задачах
Формула Родрига появляется в нескольких типах задач, и понимать её геометрический смысл важнее, чем заучивать наизусть.
Задачи на поворот в 3D. Дан вектор и произвольная ось - нужно найти координаты повёрнутого вектора. Алгоритм: нормировать ось (), вычислить скалярное произведение и векторное , подставить в формулу. Проверить: длина должна совпасть с .
Составление матрицы поворота. Если угол и ось заданы, матрицу строят по формуле выше - это быстрее, чем перемножать три матрицы элементарных поворотов вокруг , , по очереди, и не требует выбора порядка следования осей (который в задачнике не всегда указан явно).
Проверка изометрии. Любой поворот сохраняет длину вектора: и взаимные углы между векторами. Это хорошая проверка вычислений - если длина изменилась, где-то ошибка в знаке или подстановке. Второй полезный контроль: сумма квадратов элементов каждой строки матрицы должна быть равна единице.
Кватернионы. Формула Родрига - прямой предшественник кватернионного поворота. Единичный кватернион кодирует ту же самую ось-угол и действует на вектор через . Это избегает «гимбального замка» углов Эйлера и упрощает интерполяцию поворотов (SLERP) при анимации.
Бесконечно малый поворот. При : , , и формула Родрига переходит в - линейное приближение, широко используемое в механике твёрдого тела при малых поворотах.
Частые ошибки
- Ненормированная ось. Формула Родрига верна только для единичного . Если , сначала нормируйте: .
- Перепутан порядок в векторном произведении. и отличаются знаком. В формуле стоит именно - ось «крест» вектор.
- Угол в градусах вместо радиан. В и подставляют радианы. Если угол дан в градусах, умножьте на .
- Забытое третье слагаемое. Если вектор не перпендикулярен оси, и третье слагаемое ненулевое - без него результат неверен.
- Применение к ненулевому при оси . При и произвольном компонента не меняется (она вдоль оси). Третье слагаемое как раз восстанавливает - не вычёркивайте его из формулы.
FAQ
Что делать, если ось вращения не единичная? Нормируйте её перед подстановкой: . Формула Родрига требует - это единственное условие на ось.
Как связана формула Родрига с матрицей поворота? Она и есть матрица поворота, записанная через произведения ось-вектор. Подставляя последовательно , , , получаем три столбца матрицы . Развёрнутая запись: .
Можно ли составить поворот вокруг двух осей через формулу Родрига? Последовательное применение формулы Родрига дважды даёт корректный результат, но ось и угол составного поворота уже не складываются тривиально. Для цепочек поворотов удобнее кватернионное умножение, которое основано на той же формуле.
Коротко
Формула Родрига поворачивает произвольный вектор вокруг единичной оси на угол за три арифметических слагаемых. Каждое из них имеет геометрический смысл: косинусная компонента в плоскости, синусная поперечная и сохранение проекции вдоль оси. Из той же формулы напрямую строится матрица поворота и кватернионное представление - ключевые инструменты трёхмерной геометрии.
Читайте также

Самосопряжённый оператор: спектральная теорема
Самосопряжённый оператор и спектральная теорема простыми словами: почему собственные числа вещественны, собственные векторы ортогональны и оператор диагонализуется в ортонормированном базисе.

Координаты вектора в новом базисе: формула и пример
Как найти координаты вектора в новом базисе через матрицу перехода и обратную матрицу. Формула P в минус первой степени на вектор, наглядное разложение и разбор типовой задачи по линейной алгебре.

Матрица перехода от одного базиса к другому: формула
Матрица перехода от одного базиса к другому: как её составить из координат новых векторов, как пересчитать координаты вектора, найти определитель и обратную матрицу, где ошибаются студенты.