Написание документации: кватернионы и версоры
This commit is contained in:
parent
5c80084b1e
commit
3ff894cf5d
21 changed files with 114 additions and 18 deletions
47
docs/versor-rus.md
Normal file
47
docs/versor-rus.md
Normal file
|
@ -0,0 +1,47 @@
|
|||
# Версоры
|
||||
|
||||
[Кватернионы](./quaternion-rus.md) - это гиперкомплексные числа, у которых имеется одна действительная
|
||||
компонента и три комплексных компоненты:
|
||||
|
||||

|
||||
|
||||
Кватернион имеет четыре степени свободы. Но если ввести ограничение в виде
|
||||
требования, чтобы модуль этого кватерниона был равен единице, то такое множество
|
||||
кватернионов будет иметь только три степени свободы.
|
||||
|
||||
Эти кватернионы представляют собой сферу радиуса 1 в четырёхмерном пространстве.
|
||||
"Поверхность" этой сферы имеет размерность равную трём.
|
||||
|
||||
Кватернионы единичной длины очень хорошо описывают повороты в трёхмерном
|
||||
пространстве. И это логично, потому что повороты в трёхмерном пространстве имеют
|
||||
три степени свободы, точно также как и сфера в четырёхмерном пространстве
|
||||
|
||||
Для кватерниона единичной длины существует специальное название: версор.
|
||||
|
||||
Версоры - это кватернионы единичной длины. И к определению кватерниона необходимо
|
||||
просто добавить уравнение:
|
||||
|
||||

|
||||
|
||||
## Версоры в библиотеке
|
||||
|
||||
Библиотека имеет отдельную реализацию для версоров в виде специальных структур и
|
||||
набора функций, которые поддерживают модуль версоров близким к единице.
|
||||
|
||||
Для описания версора имеется две структуры: **BgFP32Versor** и **BgFP64Versor**:
|
||||
|
||||
typedef struct {
|
||||
const float s0, x1, x2, x3;
|
||||
} BgFP32Versor;
|
||||
|
||||
typedef struct {
|
||||
const double s0, x1, x2, x3;
|
||||
} BgFP64Versor;
|
||||
|
||||
Поля намеренно объявлены констрантными (const), чтобы у разработчика,
|
||||
использующего данные структуры, не было соблазна изменять значения полей
|
||||
напрямую.
|
||||
|
||||
С данными структурами лучше использовать специальные функции, которые позволяют
|
||||
устанавливать новые значения в поля структур **BgFP32Versor** и
|
||||
**BgFP64Versor**.
|
Loading…
Add table
Add a link
Reference in a new issue