Написание документации: версоры

This commit is contained in:
Andrey Pokidov 2024-11-25 02:30:13 +07:00
parent 3ff894cf5d
commit bf71f65adb

View file

@ -13,12 +13,12 @@
"Поверхность" этой сферы имеет размерность равную трём.
Кватернионы единичной длины очень хорошо описывают повороты в трёхмерном
пространстве. И это логично, потому что повороты в трёхмерном пространстве имеют
три степени свободы, точно также как и сфера в четырёхмерном пространстве
пространстве. Вращения в трёхмерном пространстве имеют три степени свободы,
точно также как и сфера в четырёхмерном пространстве.
Для кватерниона единичной длины существует специальное название: версор.
Версоры - это кватернионы единичной длины. И к определению кватерниона необходимо
Версоры - это кватернионы единичной длины. К определению кватерниона необходимо
просто добавить уравнение:
![Определение версора](./media/versor_definition.png)
@ -28,7 +28,7 @@
Библиотека имеет отдельную реализацию для версоров в виде специальных структур и
набора функций, которые поддерживают модуль версоров близким к единице.
Для описания версора имеется две структуры: **BgFP32Versor** и **BgFP64Versor**:
Для описания версора имеется две структуры:
typedef struct {
const float s0, x1, x2, x3;
@ -38,10 +38,12 @@
const double s0, x1, x2, x3;
} BgFP64Versor;
Поля намеренно объявлены констрантными (const), чтобы у разработчика,
использующего данные структуры, не было соблазна изменять значения полей
напрямую.
Поля намеренно объявлены констрантными (const), чтобы побудить разработчика
использовать функции работы с версорами, вместо того, чтобы непосредственно
задавать значения полей. Функции работы с версорами поддерживают модуль версора
равным единицы.
С данными структурами лучше использовать специальные функции, которые позволяют
устанавливать новые значения в поля структур **BgFP32Versor** и
**BgFP64Versor**.