18.10. Представление вращений
Как можно представлять вращения? Имеется примерно восемь обычно используемых способов. Они включают в себя ортогональные матрицы размером 3 х 3, а также углы Эйлера. Однако необходимо найти возможность равномерного разбиения пространства возможных вращений. Чтобы сделать это, необходимо договориться, как понимать «расстояние» между двумя ориентациями. Это означает, что пространство вращений необходимо описывать так, чтобы на нем можно было определить метрику. Оказывается, что такую метрику можно определить, если представить вращения посредством единичных кватернионов.
18.10.1. Кватернионы
Кватернионы являются элементами векторного пространства, снабженного операцией умножения. Кватернион можно представить в виде вектора с четырьмя компонентами или сложного комплексного числа с одной действительной и тремя различными типами мнимых частей. Еще один способ — это представить кватернион в виде суммы скалярной и векторной частей . Кватернионы можно умножать следующим образом. Если , то скалярная и векторная части определяются в виде Умножение ассоциативно, но не коммутативно, что можно легко проверить. Для кватернионов можно определить скалярное произведение Норма кватерниона задается в виде Норма единичною кватерниона равна единице, т. е. Сопряженное значение
кватерниона получается при изменении знака векторной части:
Вращения в трехмерном пространстве можно удобно представлять единичными кватернионами. Единичный кватернион, соответствующий повороту на 0 вокруг единичного вектора со, задается выражением Заметим, что кватернион — определяет тот же самый поворот, что и кватернион так как поворот на —0 вокруг оси это то же самое, что и поворот на 0 вокруг оси . С другой стороны, сопряженное значение единичного кватерниона соответствует повороту на тот же угол, но вокруг противоположной оси. Таким образом, сопряженное значение единичного кватерниона является обратным значением единичного кватерниона. В результате для единичного кватерниона имеем
Единичные кватернионы соответствуют точкам на единичной сфере в четырехмерном пространстве. Две противоположные точки на этой сфере соответствуют одному конкретному повороту. Точно так же лучи, проходящие через начало в четырехмерном пространстве, можно рассматривать как соответствующие поворотам в трехмерном пространстве.
Поворот, определяемый с помощью кватерниона преобразует вектор х в вектор х согласно формуле Композиция поворотов соответствует умножению кватернионов:
Представление с помощью единичного кватерниона может часто упрощать задачи, в которых возникает вопрос об ориентации объекта в пространстве. Например, некоторые фотограмметрические задачи из гл. 13 можно решить в удобной форме, если использовать эти обозначения.
18.10.2. Равномерное разбиение пространства вращений
Такая задача становится задачей единообразного размещения точек на единичной сфере в четырехмерном пространстве. Подобное разбиение мы используем потому, что мы хотели бы иметь как можно большее минимальное расстояние между точками отсчета.
Сопоставление гистограмм ориентации методом «грубой силы» может оказаться дорогостоящим в тех случаях, когда потребуется вычислять ориентацию объектов с высокой точностью. Это происходит потому, что пространство вращений является трехмерным, а исследуемое число отсчетов возрастает обратно пропорционально кубу расстояний между ними. Поэтому более привлекательными кажутся методы постепенного уточнения для поиска в пространстве вращений, однако трудно ожидать, что они будут очень хорошо работать. Оказывается, что значение корреляции заметно возрастает только в тех случаях, когда мы весьма близки к правильному сопоставлению, а
поведение функции корреляции очень нестабильно из-за различных эффектов квантования. В упражнении 18.8 исследуется новый метод, который не страдает от наличия этих проблем.