Комплексно сопряженные числа
ОПРЕДЕЛЕНИЕ
Сопряженное (или комплексно сопряженное) число с комплексным числом (
z=x+i y
) является числом (
overline{z}=x-i y
)
ПРИМЕР
поиска для комплексного числа (
z=-34-i
) является его сопряженное число.
Комплексное сопряженное число является числом вида (
overline{z}=x-i y
) . Вещественной частью комплексного числа (
z=-34-i
) является число (
x=operatorname{Re}
), (
z=-34
), мнимая часть равна (
y=operatorname{lm}
), (
z=-1
).
Следовательно, сопряженное число имеет вид: (
overline{z}=-34+i
)
(
overline{z}=-34+i
)
На комплексной плоскости сопряженные числа зеркалируются относительно оси действительных чисел.
Свойства комплексно-сопряженных чисел
1. (
|z|=|z|
), т. е. модули сопряженных чисел равны.
Например.
Модуль комплексного числа (
z=-4+i
) равен (
r=sqrt{(-4)^{2}+1^{2}}=sqrt{17}
). Присоединенным к комплексному числу является число (
z=-4-i
), модуль (
r=sqrt{(-4)^{2}+(-1)^{2}}=sqrt{17}
) которого равен модулю исходного числа.
2. (
arg z=-arg overline{z}
) т. е. Аргументы сопряженных чисел различаются по знаку.
3. (
overline{overline{z}}=z
) т. е. Комплексное сопряженное сопряженное число является исходным комплексным числом.
4. (
z cdot overline{z}=|z|^{2}
) т. е. В результате произведения сопряженных чисел получается вещественное число.
5.(
z+overline{z}=2 operatorname{Re} z
) т. е. Сумма сопряженных чисел также является вещественным числом.
6.(
overline{z_{1} cdot z_{2}}=overline{z_{1}} cdot overline{z_{2}}
) т. е. Сопряженное произведение двух комплексных чисел является произведением их сопряженных чисел.
7.(
overline{z_{1} div z_{2}}=overline{z_{1}} div overline{z_{2}}
) т. е. Сопряженное к ним частное число есть фактор сопряженного.
Примеры решения проблем
ПРИМЕР 1
Чтобы умножить комплексное число (
z=4-7 i
) на его сопряженное.
Сопряженное с номером (
z=4-7 i
) – это число (
z=4+7 i
). Найдите произведение двух чисел:
(
z cdot overline{z}=(4-7 i) cdot(4+7 i)=4 cdot 4+(-7) cdot 7 cdot i^{2}+i(4 cdot 7-7 cdot 4)=65
)
(
z cdot overline{z}=65
)
ПРИМЕР 2
Чтобы найти сопряженное к частному два комплексных числа: (
z 1=1-3 i
), (
z 2=2+5 i
).
Фактор комплексных чисел определяется путем умножения числителя и знаменателя на сопряженное число:
(
z_{1} div z_{2}=frac{1-3 i}{2+5 i}=frac{(1-3 i)(2-5 i)}{(2+5 i)(2-5 i)}=frac{1 cdot 2-3 cdot 5}{2^{2}+5^{2}}+i frac{-5 cdot 1-3 cdot 2}{2^{2}+5^{2}}=-frac{13}{29}-i frac{11}{29}
)
Сопряженным числом для конкретного будет число (
-frac{13}{29}+i frac{11}{29}
)
Мы получим тот же результат, если найдем фактор сопряженных чисел (
z rceil=1-3 i
), (
z 2=2+5 i
):
(
overline{z_{1}} div overline{z_{2}}=frac{1+3 i}{2-5 i}=frac{(1+3 i)(2+5 i)}{(2-5 i)(2+5 i)}=frac{1 cdot 2-3 cdot 5}{2^{2}+5^{2}}+i frac{5 cdot 1+3 cdot 2}{2^{2}+5^{2}}=-frac{13}{29}+i frac{11}{29}
)
(
overline{z_{1} div z_{2}}=-frac{13}{29}+i frac{11}{29}
)
Геометрическое представление и его сопряжённого на комплексной плоскости
Сопряжённые числа (комплексно-сопряжённые числа) — пара комплексных чисел, обладающих одинаковыми действительными частями и равными по абсолютной величине, но противоположными по знаку, мнимыми частями[1]. Например, сопряжёнными являются числа и . Число, сопряжённое к числу , обозначается . В общем случае, сопряжённым к числу (где и — действительные числа) является .
Например:
На комплексной плоскости сопряжённые числа представлены точками, симметричными относительно действительной оси. В полярной системе координат сопряжённые числа имеют вид и , что непосредственно следует из формулы Эйлера.
Сопряжёнными числами являются корни квадратного уравнения с действительными коэффициентами и отрицательным дискриминантом.
Свойства[править | править код]
Для произвольных комплексных чисел и :
Если является голоморфной функцией, сужение которой на множество действительных чисел является действительной функцией, и определены , то:
- .
В частности:
Определение координат числа и сопряжения[править | править код]
Прямоугольные и полярные координаты комплексного числа могут быть определены с помощью формул:
Примечания[править | править код]
- ↑ Weisstein, Eric W. Complex Conjugates (англ.) на сайте Wolfram MathWorld.
Литература[править | править код]
- Шабат Б. В. Введение в комплексный анализ. — М.: Наука, 1969. — 577 с.
Содержание:
- Определение
- Свойства комплексно-сопряженных чисел
Определение
Если $z=a+b i$, то число
$overline{z}=a-b i$ называется
комплексным сопряженным к числу $z$ .
То есть у комплексно сопряженных чисел действительные части равны, а мнимые отличаются знаком.
Например. Комплексно сопряженным к числу
$z=2-i$ есть число
$overline{z}=2+i$ .
На комплексной плоскости комплексно сопряжённые числа получаются зеркальным отражением друг друга относительно действительной оси.
Свойства комплексно сопряженных чисел
1) Если $z=overline{z}$, то можно сделать вывод,
что рассматриваемое число $z$ является действительным.
Например. $z=2 in R Rightarrow overline{z}=2$ и
$z=overline{z}$
2) Для любого комплексного числа
$z$ сумма
$z+overline{z}=2 operatorname{Re} z$ –
действительное число.
Например. Пусть
$z=2-3 i$, тогда
$overline{z}=2+3 i$, а тогда
$z+overline{z}=2-3 i+(2+3 i)=2-3 i+2+3 i=2+2=4 in R$
3) Для произвольного комплексного числа
$z=a+b i$ произведение
$z cdot overline{z}=|z|^{2} in R$ .
Например. Пусть
$z=2-3 i$, комплексно сопряженное к нему число
$overline{z}=2+3 i$, тогда произведение
$z cdot overline{z}=(2-3 i)(2+3 i)=2^{2}-(3 i)^{2}=2^{2}-3^{2} cdot i^{2}=$
4) Модули комплексно сопряженных чисел равны:
$|z|=|overline{z}|$, а аргументы отличаются знаком (рис. 1).
5) $overline{z_{1} pm z_{2}}=overline{z}_{1} pm overline{z}_{2}$
6) $overline{z_{1} cdot z_{2}}=overline{z_{1}} cdot overline{z}_{2}$
7) $frac{overline{z_{1}}}{z_{2}}=frac{overline{z}_{1}}{overline{z}_{2}}$
8) $overline{(overline{z})}=z$
9) Если $z=a+b i$ и
$overline{z}=a-b i$ – комплексно сопряженные числа, то
$a=operatorname{Re} z=frac{z+overline{z}}{2}, b=operatorname{Im} z=frac{z-overline{z}}{2 i}$
Читать дальше: формы записи комплексного числа.
236
проверенных автора готовы помочь в написании работы любой сложности
Мы помогли уже 4 430 ученикам и студентам сдать работы от решения задач до дипломных на отлично! Узнай стоимость своей работы за 15 минут!
Сопряжённые числа
Геометрическое
представление сопряжённых чисел
Если
комплексное число
,
то число
называется сопряжённым (или
комплексно сопряжённым) к
(обозначается
также
).
На комплексной плоскости сопряжённые
числа получаются зеркальным отражением
друг друга относительно вещественной
оси. Модуль сопряжённого числа такой
же, как у исходного, а их аргументы
отличаются знаком.
Переход
к сопряжённому числу можно рассматривать
как одноместную
операцию;
перечислим её свойства.
-
(сопряжённое
к сопряжённому есть исходное). -
-
-
-
Обобщение:
,
где
—
произвольный многочлен с вещественными
коэффициентами.
Значимость
сопряжения объясняется тем, что оно
является образующей группы
Галуа
.
Представление комплексных чисел Алгебраическая форма
Запись
комплексного числа
в
виде
,
,
называется алгебраической
формой комплексного
числа.
Сумма
и произведение комплексных чисел могут
быть вычислены непосредственным
суммированием и перемножением таких
выражений, как обычно раскрывая скобки
и приводя подобные, чтобы представить
результат тоже в стандартной форме (при
этом надо учесть, что
):
Тригонометрическая и показательная формы
Если
вещественную
и
мнимую
части
комплексного числа выразить через
модуль
и
аргумент
(
,
),
то всякое комплексное число
,
кроме нуля, можно записать в тригонометрической
форме
Также
может быть полезна показательная форма
записи комплексных чисел, тесно связанная
с тригонометрической через формулу
Эйлера:
где
—
расширение экспоненты для
случая комплексного показателя степени.
Отсюда
вытекают следующие широко используемые
равенства:
Формула Муавра и извлечение корней из комплексных чисел
Основная
статья: Формула
Муавра
Корни
пятой степени из единицы(вершины
пятиугольника)
Эта
формула позволяет возводить в целую
степень ненулевое комплексное число,
представленное в тригонометрической
форме. Формула Муавра имеет вид:
где
—
модуль, а
—
аргумент комплексного числа. В современной
символике она опубликована Эйлером в 1722
году.
Приведенная формуле справедлива при
любом целом n,
не обязательно положительном.
Аналогичная
формула применима также и при вычислении
корней
-ой
степени из ненулевого комплексного
числа:
Отметим,
что корни
-й
степени из ненулевого комплексного
числа всегда существуют, и их количество
равно
.
На комплексной плоскости, как видно из
формулы, все эти корни являются вершинами
правильного
-угольника,
вписанного в окружность радиуса
с
центром в начале координат (см. рисунок).
История
Впервые,
по-видимому, мнимые величины появились
в известном труде «Великое искусство,
или об алгебраических правилах» Кардано (1545),
который счёл их непригодными к
употреблению. Пользу мнимых величин, в
частности, при решении кубического
уравнения, в так называемом неприводимом
случае (когда вещественные корни
многочлена выражаются через кубические
корни из мнимых величин), впервые
оценил Бомбелли (1572).
Он же дал некоторые простейшие правила
действий с комплексными числами.
Выражения
вида
,
появляющиеся при решении квадратных и
кубических уравнений, стали называть
«мнимыми» в XVI—XVII
веках,
однако даже для многих крупных ученых XVII
века алгебраическая
и геометрическая сущность мнимых величин
представлялась неясной. Лейбниц,
например, писал: «Дух божий нашёл
тончайшую отдушину в этом чуде анализа,
уроде из мира идей, двойственной сущности,
находящейся между бытием и небытием,
которую мы называем мнимым корнем из
отрицательной единицы».[5]
Долгое
время было неясно, все ли операции над
комплексными числами приводят к
комплексным результатам, или, например,
извлечение корня может привести к
открытию какого-то нового типа чисел.
Задача о выражении корней степени
из
данного числа была решена в
работах Муавра (1707)
и Котса (1722).
Символ
предложил Эйлер (1777,
опубл. 1794),
взявший для этого первую букву
слова лат. imaginarius.
Он же распространил все стандартные
функции, включая логарифм,
на комплексную область. Эйлер также
высказал в 1751
году мысль
об алгебраической замкнутости поля
комплексных чисел. К такому же выводу
пришел д’Аламбер (1747),
но первое строгое доказательство этого
факта принадлежит Гауссу (1799).
Гаусс и ввёл в широкое употребление
термин «комплексное число» в 1831
году,
хотя этот термин ранее использовал в
том же смысле французский математик Лазар
Карно в 1803
году.
Геометрическое
истолкование комплексных чисел и
действий над ними появилось впервые в
работе Весселя (1799).
Первые шаги в этом направлении были
сделаны Валлисом(Англия)
в 1685
году.
Современное геометрическое представление,
иногда называемое «диаграммой Аргана»,
вошло в обиход после опубликования
в 1806-м
и 1814-м
годах работыЖ. Р. Аргана,
повторявшей независимо выводы Весселя.
Термины «модуль», «аргумент» и «сопряжённое
число» ввёл Коши.
Арифметическая
модель комплексных чисел как пар
вещественных чисел была
построена Гамильтоном (1837);
это доказало непротиворечивость их
свойств. Гамильтон предложил и обобщение
комплексных чисел — кватернионы,
алгебра которых некоммутативна.
Построение
поля комплексных чисел
Из
курса школьной математики известно,
что любое уравнение
имет
решение при
.
С другой стороны, квадратное уравнение
не всегда имеет решение. Например,
решения не имеет уравнение
.
Возникает вопрос, нельзя ли сделать
так, чтобы любое квадратное уравнение
имело решение?
Предположим,
что уравнение
имет
решение. Число (абстрактный элемент, не
принадлежащий полю вещественных чисел),
которое является решением, обозначим
буквой
,
то есть
.
Мы должны иметь возможность умножать
это число на любое вещественное число.
Значит, должны появиться числа вида
,
где
—
вещественное число. Для них должна быть
возможность сложения с любым вещественным
числом. Поэтому должны появиться числа
вида
.
Определение 17.1
Числа вида
,
где
и
—
вещественные числа, называются комплексными
числами.
Посмотрим,
какие действия арифметики можно
производить с комплексными числами.
Сложение чисел должно удовлетворять
обычным правилам, поэтому:
|
(17.1) |
При
вычислении произведения скобки раскроем
привычным способом:
Так
как
,
то получим
|
(17.2) |
Итак,
результаты сложения и умножения
комплексных чисел снова оказались
комплексными числами. Операцию вычитания
определить не сложно:
|
(17.3) |
Рассмотрим
операцию деления. Учтем, что при умножении
числителя и знаменателя дроби на одно
и то же число дробь не меняется:
Так
как
,
то
|
(17.4) |
Результат
деления двух комплексных чисел оказывается
снова комплексным числом. Как видно из
полученной формулы, деление нельзя
выполнить лишь в том случае, когда
,
но в этом случае делитель
тоже
равен нулю. Следовательно, невозможно
лишь деление на нуль, что соответствует
обычным правилам действий с числами.
Итак,
мы вроде бы расширили множество
вещественных чисел. Но есть в этом
построении один существенный пробел.
Мы предположили, что есть такое число
,
что
.
А, может быть, его на самом деле нет?2 Чтобы
исправить это упущение, используем для
построения комплексных чисел уже
существующее множество.
Пусть
—
множество пар вещественных чисел:
.
На этом множестве определим операции
-
сложения:
-
вычитания:
-
умножения:
-
деления:
Очевидно,
что комплексное число, как оно было
определено раньше, — просто другая
форма записи пары вещественных чисел
,
где вместо запятой стоит “+”, а
второй элемент пары выделяется умножением
на букву
.
В новой форме записи вещественные
числа — это пары
,
числу
соответствует
пара
,
сложение, вычитание, умножение и деление
пар чисел и комплексных чисел происходят
по одинаковым правилам. Таким образом,
комплексные числа стали реально
существующим множеством.
Однако
в математике, в силу традиции, используется
запись комплексного числа
,
введенная в начале раздела3.
Причем принято считать, что
Можно
проверить, что комплексные числа образуют
поле. В нем обратным элементом к
комплексному числу
служит
результат деления 1 на
:
Это
поле называется полем
комплексных чисел и
обозначается
.
Число
называется мнимой
единицей,
числа
— мнимыми
числами.
Если
,
то число
называется вещественной
частью комплексного
числа и обозначается
,
число
называется мнимой
частью и
обозначается
.
Число
называется сопряженным числу
и
обозначается
,
то есть
.
Замечание 17.1
В электротехнике, где буква
обозначает
ток, мнимую единицу обозначают буквой
.
Если
операции сложения, вычитания и умножения
комплексных чисел соответствуют обычным
правилам раскрытия скобок, то для
выполнения деления нужно или запомнить
формулу (17.4),
или, что проще, каждый раз при выполнении
деления умножать числитель и знаменатель
дроби на число, сопряженное знаменателю.
Пример 17.1
Пусть
,
.
Тогда:
Вычислим
еще
:
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
Доступно о кватернионах и их преимуществах
Время на прочтение
13 мин
Количество просмотров 178K
От переводчика: ровно 175 лет и 3 дня назад были изобретены кватернионы. В честь этой круглой даты я решил подобрать материал, объясняющий эту концепцию понятным языком.
Концепция кватернионов была придумана ирландским математиком сэром Уильямом Роуэном Гамильтоном в понедельник 16 октября 1843 года в Дублине, Ирландия. Гамильтон со своей женой шёл в Ирландскую королевскую академию, и переходя через Королевский канал по мосту Брум Бридж, он сделал потрясающее открытие, которое сразу же нацарапал на камне моста.
Памятная табличка на мосту Брум Бридж через Королевский канал в честь открытия фундаментальной формулы умножения кватернионов.
В этой статье я постараюсь объяснить концепцию кватернионов простым для понимания образом. Я объясню, как можно визуализировать кватернион, а также расскажу о разных операциях, которые можно выполнять с кватернионами. Кроме того, я сравню использование матриц, углов Эйлера и кватернионов, а затем попытаюсь объяснить, когда стоит использовать кватернионы вместо углов Эйлера или матриц, а когда этого делать не нужно.
Содержание
- 1. Введение
- 2. Комплексные числа
- 2.1. Сложение и вычитание комплексных чисел
- 2.2. Умножение комплексного числа на скалярное значение
- 2.3. Произведение комплексных чисел
- 2.4. Квадрат комплексных чисел
- 2.5. Сопряжённые комплексные числа
- 2.6. Абсолютное значение комплексного числа
- 2.7. Частное двух комплексных чисел
- 3. Степени
- 4. Комплексная плоскость
- 4.1. Роторы
- 5. Кватернионы
- 5.1. Кватернионы как упорядоченная пара
- 5.2. Сложение и вычитание кватернионов
- 5.3. Произведение кватернионов
- 5.4. Вещественный кватернион
- 5.5. Умножение кватерниона на скалярную величину
- 5.6. Чистые кватернионы
- 5.7. Аддитивная форма кватерниона
- 5.8. Единичный кватернион
- 5.9. Бинарная форма кватерниона
- 5.10. Сопряжённые кватернионы
- 5.11. Норма кватерниона
- 5.12. Нормализация кватерниона
- 5.13. Обратный кватернион
- 5.14. Скалярное произведение кватернионов
- 6. Повороты
- 7. Интерполяция кватернионов
- 7.1. SLERP
- 7.1.1. Разность кватернионов
- 7.1.2. Возведение кватерниона в степень
- 7.1.3. Дробная разность кватернионов
- 7.1.4. Факторы, которые нужно учитывать
- 7.2. SQUAD
- 7.1. SLERP
- 8. Заключение
- 9. Загрузка демо
- 10. Справочные материалы
Невозможно полностью понять кватернионы за 45 минут.
В этой статье чрезвычайно много математики, так что она не для слабаков.
Введение
В компьютерной графике для описания позиции в пространстве (перемещения), а также ориентации в пространстве (поворота) используются матрицы. Также можно также использовать одну матрицу преобразований для описания масштаба объекта. Эту матрицу можно считать «пространством базиса». Если умножить вектор или точку (или даже другую матрицу) на матрицу преобразований, то мы «преобразуем» этот вектор, точку или матрицу в пространство, представленное этой матрицей.
В этой статье я не буду в подробностях рассказывать о матрицах преобразований. Подробно о матрицах преобразований можно прочитать в моей статье Matrices.
В данной статье я хочу рассказать об альтернативном способе описания ориентации объекта (поворота) в пространстве при помощи кватернионов.
Комплексные числа
Для того, чтобы полностью понять кватернионы, нам сначала нужно понять, откуда они взялись. Принцип кватернионов основан на концепции системы комплексных чисел.
Наряду с хорошо известными множествами чисел (натуральным, целым, вещественным и рациональным), система комплексных чисел добавляет новое множество чисел, называемых мнимыми числами. Мнимые числа были придуманы для решения определённых уравнений, не имевших решений, например:
Чтобы решить это выражение, нам нужно заявить, что
, а это, как известно, невозможно, потому что квадрат любого числа (положительного или отрицательного) всегда положителен.
Математики не могли смириться с тем, что выражение не имеет решения, поэтому было изобретено новое понятие — мнимое число, которое можно использовать для решения таких уравнений.
Мнимое число имеет следующий вид:
Не пытайтесь понять это допущение, потому что логичных причин его существования нет. Нам просто нужно принять, что
— это просто некая величина, квадрат которой равен
.
Множество мнимых чисел можно обозначить как
.
Множество комплексных чисел (обозначаемое символом
— это сумма вещественного и мнимого числа в следующей форме:
Можно также заявить, что все вещественные числа являются комплексными с
, а все мнимые числа являются комплексными с
.
Сложение и вычитание комплексных чисел
Комплексные числа можно складывать и вычитать сложением и вычитанием вещественной и мнимой частей.
Сложение:
Вычитание:
Умножение комплексного числа на скалярное значение
Комплексное число умножается на скаляр умножением каждого члена комплексного числа на скаляр:
Произведение комплексных чисел
Кроме того, комплексные числа можно также перемножать, используя обычные алгебраические правила.
Квадрат комплексных чисел
Также комплексное число можно возвести в квадрат, умножив на само себя:
Сопряжённые комплексные числа
Сопряжённой величиной комплексного числа является комплексное число с изменённым знаком мнимой части, обозначаемой как
или как
.
Перемножение комплексного числа с его сопряжённой величиной даёт интересный результат.
Абсолютное значение комплексного числа
Мы можем использовать сопряжённое число комплексного числа, чтобы вычислить абсолютное значение (или норму, или величину) комплексного числа. Абсолютное значение комплексного числа — это квадратный корень из комплексного числа, умноженного на его сопряжённое число. Оно обозначается как
:
Частное двух комплексных чисел
Чтобы вычислить частное двух комплексных чисел, мы умножаем числитель и знаменатель на сопряжённое число знаменателя.
Степени
Если мы утверждаем, что
, то должна существовать возможность возводить
и в другие степени.
Если мы продолжим записывать этот ряд, то заметим закономерность
.
Похожая закономерность возникает при увеличении отрицательных степеней.
Возможно, вы уже видели такую закономерность в математике, но в виде
, который получается поворотом точки на 90° против часовой стрелки на двухмерной декартовой плоскости; ряд
создаётся поворотом точки на 90° градусов на двухмерной декартовой плоскости.
Декартова плоскость
Комплексная плоскость
Мы можем аналогичным образом нанести комплексные числа на двухмерную сетку, называемую комплексной плоскостью, привязав вещественную часть к горизонтальной оси, а мнимую — к вертикальной.
Комплексная плоскость
Как видно из предыдущего ряда, мы можем сказать, что если умножим комплексное число на
, то сможем поворачивать комплексное число на комплексной плоскости с шагом в 90°.
Давайте проверим, верно ли это. Мы возьмём на комплексной плоскости произвольную точку
:
и умножим её на
, получив
:
Умножив
на
, получим
:
А умножив
на
, получим
:
А умножив
на
, получим
:
И мы получили ровно то, с чего начинали (
). Если нанести эти комплексные числа на комплексную плоскость, то получим следующий результат.
Комплексные числа на комплексной плоскости
Теперь мы можем выполнять поворот на комплексной плоскости и по часовой стрелке, умножая комплексное число на
.
Роторы
Также мы можем выполнять на комплексной плоскости произвольные повороты, задав комплексное число в следующем виде:
При умножении любого комплексного числа на ротор
получаем общую формулу:
Что также можно записать в матричном виде:
Что является способом поворота против часовой стрелки произвольной точки на комплексной плоскости относительно точки начала координат.
Кватернионы
Узнав о системе комплексных чисел и комплексной плоскости, мы можем вывести их в трёхмерное пространство, добавив к системе чисел наряду с
ещё два мнимых числа.
Кватернионы имеют следующий обобщённый вид
Где в соответствии со знаменитым выражением Гамильтона:
Можно заметить, что отношения между
,
и
очень похожи на правила векторного умножения единичных декартовых векторов:
Гамильтон также заметил, что мнимые числа
,
и
можно использовать для представления трёх декартовых единичных векторов
,
и
с теми же свойствами мнимых чисел, так что
.
Графическое представление свойств , ,
На представленном выше изображении графически представлены взаимосвязи между декартовыми единичными векторами в виде
,
и
.
Кватернионы как упорядоченная пара
Также мы можем представить кватернионы в виде упорядоченной пары:
Где
можно также представить как его отдельные компоненты:
С помощью этой записи мы можем проще представить общие черты кватернионов и комплексных чисел.
Сложение и вычитание кватернионов
Кватернионы можно складывать и вычитать аналогично комплексным числам:
Произведения кватернионов
Также мы можем выразить произведение двух кватернионов:
Что даёт нам ещё один кватернион. Если мы заменим в предыдущем выражении мнимые числа
,
и
упорядоченными парами (также известными как кватернионные единицы), то получим
А подставив обратно в исходное выражение с
, получим:
Развернув это выражение в сумму упорядоченных пар, получим:
Если умножить на кватернионную единицу и извлечь общие векторые компоненты, то можно переписать это уравнение следующим образом:
Это уравнение даёт нам сумму двух упорядоченных пар. Первая упорядоченная пара — это вещественный кватернион, а вторая — чистый кватернион. Две этих упорядоченных пары можно соединить в одну упорядоченную пару:
Если подставить, то мы получим
Получаем:
Это и есть общее уравнение произведения кватернионов.
Вещественный кватернион
Вещественный кватернион — это кватернион, в который входит вектор
:
А произведением двух вещественных кватернионов является ещё один вещественный кватернион:
Что аналогично произведению двух комплексных чисел, содержащих нулевой мнимый член.
Умножение кватерниона на скалярную величину
Также мы можем умножать кватернион на скаляр, при этом придерживаясь следующего правила:
Мы можем убедиться в этом с помощью показанного выше произведения вещественных кватернионов, умножив кватернион на скаляр как вещественный кватернион:
Чистые кватернионы
Кроме вещественных кватернионов, Гамильтон также определил чистый кватернион как кватернион с нулевым скалярным членом:
Или если записать по компонентам:
И мы снова можем взять произведение двух чистых кватернионов:
в соответствии с представленным выше правилом произведения кватернионов.
Аддитивная форма кватерниона
Кроме того, мы можем выразить кватернионы как сумму вещественной и чистой частей кватерниона:
Единичный кватернион
Взяв произвольный вектор
, можно выразить этот вектор и через его скалярную величину, и через его направление следующим образом:
Объединив это определение с определением чистого кватерниона, получим:
Также мы можем описать единичный кватернион, имеющий нулевой скаляр и единичный вектор:
Бинарная форма кватерниона
Теперь мы можем объединить определения единичного кватерниона и аддитивную форму кватерниона, получив форму кватернионов, схожую с записью, используемой при описании комплексных чисел:
Что даёт нам способ представить кватернион в форме, очень похожей на комплексные числа:
Сопряжённое число кватерниона
Сопряжённое число кватерниона можно вычислить, взяв противоположную по знаку векторную часть кватерниона:
Произведение кватерниона и его сопряжённого числа даёт нам следующее:
Норма кватерниона
Вспомним определение нормы комплексного числа:
Аналогично, норма (или величина) кватерниона определяется как:
Что позволяет нам выразить норму кватерниона следующим образом:
Нормализация кватерниона
Имея определение нормы кватерниона, мы можем использовать её для нормализации кватерниона. Кватернион нормализуется делением на
:
Например, давайте нормализуем кватернион:
Сначала нам нужно вычислить норму кватерниона:
Затем мы должны разделить кватернион на норму кватерниона, чтобы вычислить нормализованный кватернион:
Обратный кватернион
Обратный кватернион обозначается как
. Для вычисления обратного кватерниона мы берём сопряжённое число кватерниона и делим его на квадрат нормы:
Чтобы показать это, мы можем воспользоваться определением обратной величины:
И умножить обе стороны на сопряжённое число кватерниона, что даст нам:
Подстановкой мы получаем:
Для единичных кватернионов-норм, норма которых равна 1, мы можем записать:
Скалярное произведение кватернионов
Аналогично скалярному произведению векторов мы можем вычислить скалярное произведение двух кватернионов, перемножив соответствующие скалярные части и просуммировав результаты:
Также мы можем использовать скалярное произведение кватернионов для вычисления угловой разности между кватернионами:
Для единичных кватернионов-норм мы можем упростить уравнение:
Повороты
Напомню, что мы определили особую форму комплексного числа под названием ротор, которую можно использовать для поворота точки на двухмерной плоскости следующим образом:
Благодаря схожести комплексных чисел с кватернионами должна существовать возможность выразить кватернион, который можно использовать для поворота точки в трёхмерном пространстве:
Давайте проверим, верна ли эта теория, вычислив произведение кватерниона
и вектора
. Во-первых, мы можем выразить
как чистый кватернион в следующем виде:
А
— это единичный кватернион-норма в виде:
Тогда
Мы видим, что результатом является общий кватернион со скалярной и векторной частями.
Давайте сначала рассмотрим «особый» случай, при котором
перпендикулярен
. В таком случае член скалярного произведения
и результат становится чистым кватернионом:
В таком случае для поворота
относительно
мы просто подставляем
и
.
Например, давайте повернём вектор
на 45° относительно оси Z; тогда наш кватернион
будет равен:
И давайте возьмём вектор
, который относится к особому случаю, где
перпендикулярен
:
Теперь давайте найдём произведение
:
Что даёт нам чистый кватернион, повёрнутый на 45° относительно оси
. Мы можем также убедиться, что величина конечного вектора сохранилась:
В точности то, чего мы и ожидали!
Мы можем показать это графически следующим изображением:
Поворот кватерниона (1)
Теперь давайте рассмотрим кватернион, не ортогональный к
. Если мы примем для векторной части кватерниона смещение в 45° от
, то получим:
А умножив наш вектор
на
, получим:
После подстановки
,
и
получаем:
То есть это больше не чистый кватернион, он не повёрнут на 45° а норма вектора больше не равна 2 (она уменьшилась до
).
Этот результат можно показать графически.
Поворот кватерниона (2)
Строго говоря, некорректно представлять кватернион в трёхмерном пространстве, потому что на самом деле это четырёхмерный вектор! Ради упрощения я покажу только векторный компонент кватернионов.
Однако не всё потеряно. Гамильтон выяснил (но не опубликовал этого), что если мы затем умножим результат
на значение, обратное
, то результатом будет чистый кватернион, а норма векторного компонента сохранится. Давайте посмотрим, можно ли применить это в нашем примере.
Для начала давайте вычислим
:
При
получаем:
Объединив предыдущее значение
и
, получим:
Что является чистым кватернионом, а норма результата равна:
что равно
, то есть норма вектора сохранилась.
На изображении ниже показан результат поворота.
Поворот кватерниона (3)
Мы видим, что результат является чистым кватернионом, а норма исходного вектора сохранилась, но вектор повернулся на 90°, а не на 45°, что вдвое больше необходимого! Поэтому для корректного поворота вектора
на угол
относительно произвольной оси
нам нужно взять половинный угол и создать следующий кватернион:
Что является общим видом кватерниона поворота!
Интерполяция кватерниона
Одна из самых важных причин использования кватернионов в компьютерной графике заключается в том, что кватернионы очень хорошо описывают повороты в пространстве. Кватернионы избавляют от проблем, отягощающих другие способы поворота точек в 3D-пространстве, такие как складывание рамок, в котором проблема заключается в представлении поворота в углах Эйлера.
С помощью кватернионов мы можем определить несколько методов, представляющих интерполяцию поворота в 3D-пространстве. Первый рассматриваемый мной метод называется SLERP. Он используется для плавной интерполяции точки между двумя ориентациями. Второй метод является развитием SLERP и называется SQUAD. Он используется для интерполяции по ряду ориентаций, задающих путь.
SLERP
SLERP расшифровывается как Spherical Linear Interpolation (сферическая линейная интерполяция). SLERP предоставляет возможность плавной интерполяции точки между двумя ориентациями.
Я обозначу первую ориентацию как
, а вторую как
. Интерполируемую точку обозначим как
, интерполированную точку обозначим как
. Параметр интерполяции
будет интерполировать
от
при
до
при
.
Стандартная формула линейной интерполяции имеет вид:
Вот основные шаги для применения этого уравнения:
Мы можем использовать тот же основной принцип, чтобы выполнить интерполяцию между двумя ориентациями кватернионов.
Разность кватернионов
Первый шаг означает, что нам нужно вычислить разность между
и
. В контексте кватернионов это аналогично вычислению угловой разности между двумя кватернионами.
Возведение кватерниона в степень
На следующем шаге нужно взять дробную часть этой разности. Мы можем вычислить дробную часть кватерниона, возведя его в степень, значение которой находится в интервале
.
Общая формула возведения кватерниона в степень имеет следующий вид:
Где экпоненциальная функция для кватернионов выглядит так:
А логарифм кватерниона имеет вид:
При
мы имеем следующее:
А при
мы имеем
Дробная разность кватернионов
Чтобы вычислить интерполированный угловой поворот, мы изменяем исходную ориентацию
на дробную часть разности между
и
.
Что является общим видом сферической линейной интерполяции для кватернионов. Однако это не тот вид уравнения SLERP, который обычно используется на практике.
Мы можем применить похожую формулу для выполнения сферической интерполяции векторов в кватернионы. Общий вид сферической интерполяции для векторов задаётся так:
Графически это можно показать следующим изображением.
Интерполяция кватернионов
Эту формулу можно без изменений применить к кватернионам:
И мы можем получить угол
, вычислив скалярное произведение
и
.
Факторы, которые нужно учитывать
У этой реализации есть две проблемы, которые нужно учитывать при использовании.
Во-первых, если скалярное произведение кватернионов оказывается отрицательным значением, то интерполяция пойдёт по «долгому пути» на четырёхмерной сфере, а это не всегда желательно. Чтобы решить эту проблему, мы можем проверить результат скалярного произведения и если он отрицательный, то можно взять значение, противоположное одной из ориентаций. Инвертирование скалярной и векторной части кватерниона не меняет представляемую им ориентацию, но сделав это, мы гарантируем, что поворот будет происходить по «кратчайшему» пути.
Ещё одна проблема возникает, если угловая разность между
и
очень мала, при этом
становится 0. Если это происходит, то при делении на
мы можем получить неопределённый результат. В таком случае можно вернуться к использованию линейной интерполяции между
и
.
SQUAD
Так же, как SLERP можно использовать для интерполяции между двумя кватернионами, SQUAD (Spherical and Quadrangle — сферическая и четырёхугольная) можно использовать для плавной интерполяции по пути поворотов.
Если у нас есть ряд кватернионов:
И мы определили «вспомогательный» кватернион (
), который мы можем считать промежуточной контрольной точкой:
Ориентация вдоль части кривой определяется как:
при времени t это даёт нам:
Заключение
Несмотря на сложность для понимания, при работе с поворотами кватернионы обеспечивают несколько очевидных преимуществ по сравнению с матрицами и углами Эйлера.
- Интерполяция кватернионов с помощью SLERP и SQUAD предоставляет способ плавной интерполяции между ориентациями в пространстве.
- Конкатенация поворотов с помощью кватернионов выполняется быстрее, чем объединение поворотов, выраженных в матричном виде.
- Для единичных кватернионов-норм обратная величина поворота берётся вычитанием векторной части кватерниона. Вычисление обратной величины матрицы поворота значительно медленнее, если матрица не ортонормирована (если она ортонормирована, то это всего лишь транспонирование матрицы).
- Преобразование кватернионов в матрицы немного быстрее, чем для углов Эйлера.
- Для описания поворота кватернионам требуется всего 4 числа (3, если они нормализованы. Вещественную часть можно вычислять во время выполнения программы), в то время как матрицам необходимо не менее 9 значений.
Однако наряду со всеми преимуществами использования кватернионов существует также несколько недостатков.
- Кватернионы могут становиться недействительными из-за ошибки округления чисел с плавающей запятой; однако эту «вкравшуюся ошибку» можно устранить ренормализацией кватерниона.
- Вероятно, самое значительное препятствие для применения кватернионов — высокая сложность их понимания. Надеюсь, эту проблему вы решите, прочитав мою статью.
Есть множество математических библиотек, реализующих кватернионы, и только некоторые из них реализуют кватернионы правильно. По моему собственному опыту хорошей математической библиотекой с качественной реализацией кватернионов является GLM (OpenGL Math Library). Если вы хотите использовать кватернионы в собственных приложениях, то рекомендую эту библиотеку.
Загрузка демо
Я создал небольшое демо, демонстрирующее использование кватерниона для поворота объекта в пространстве. Демо было создано в Unity 3.5.2, можете скачать бесплатно скачать этот движок и просмотреть исходный код демо. В файле zip также содержится двоичный исполняемый файл Windows, но в Unity вы можете собрать приложение и для Mac.
Understanding Quaternions.zip
Справочные материалы
Vince, J (2011). Quaternions for Computer Graphics. 1st. ed. London: Springer. |
Dunn, F. and Parberry, I. (2002). 3D Math Primer for Graphics and Game Development. 1st. ed. Plano, Texas: Wordware Publishing, Inc. |