Улучшение документации по кватернионам и версорам

This commit is contained in:
Andrey Pokidov 2025-02-07 23:46:30 +07:00
parent a3ff67792d
commit 72b6690ad6
4 changed files with 92 additions and 165 deletions

View file

@ -4,11 +4,12 @@
q = w + ix + jy + kz, где w - действительная компонена, x, y, z - мнимые компоненты, а i, j, k - мнимые единицы
i<sup>2</sup> = j<sup>2</sup> = k<sup>2</sup> = ijk = -1
где
- w, x, y, z &isin; R - действительные числа
- i, j, k - мнимые единицы, удовлетворяющие следующим условиям:
- i<sup>2</sup> = j<sup>2</sup> = k<sup>2</sup> = ijk = -1
w, x, y, z &isin; R
Кватернионы были открыты математиком Уильямом Гамильтоном и представлены публике в 1843 году. Позже Гамильтон предложил особый класс кватернионов, которые назвал версорами.
Кватернионы были открыты математиком Уильямом Гамильтоном и представлены публике в 1843 году. Позже Гамильтон предложил особый класс кватернионов, которые назвал версорами.
## Что такое версор?
@ -18,11 +19,11 @@ w, x, y, z &isin; R
q = w + ix + jy + kz
i<sup>2</sup> = j<sup>2</sup> = k<sup>2</sup> = -1
w, x, y, z &isin; R
w<sup>2</sup> + x<sup>2</sup> + y<sup>2</sup> + z<sup>2</sup> = 1
где
- w, x, y, z &isin; R - действительные числа
- i, j, k - мнимые единицы, удовлетворяющие следующим условиям:
- i<sup>2</sup> = j<sup>2</sup> = k<sup>2</sup> = ijk = -1
- w<sup>2</sup> + x<sup>2</sup> + y<sup>2</sup> + z<sup>2</sup> = 1
Название происходит от латинского глагола "versare", означающего "поворачивать", "вращать", к которому добавлено латинское окончание -or, обозначающее субъект, выполняющий действие. Дословно латинское слово "versor" можно перевести как "вращатель" или "поворачиватель".
@ -57,24 +58,25 @@ w<sup>2</sup> + x<sup>2</sup> + y<sup>2</sup> + z<sup>2</sup> = 1
} BgcVersorFP64;
```
Поля:
- s0 - это вещественная часть версора.
- x1, x2, x3 - Мнимые компоненты версора.
## Операции с версорами
- [Сброс состояния (reset)](./versor-reset-rus.md)
- [Указание значений компонент (set values)](./versor-set-values-rus.md)
- Копирование значений компонент (copy)
- Обмен значений компонент (swap)
- Построение на основе поворота (set turn)
- Проверка на отсутствие поворота (is idle)
- Преобразование типа (convert)
- Сокращение поворота (shorten)
- Инверсия (invert)
- Комбинирование (combine)
- Получение описание поворота (get rotation)
- Получение матрицы поворота (get rotation matrix)
- Получение матрицы обратного поворота (get reverse matrix)
- Поворот вектора (turn vector)
- Обратный поворот вектора (turn vector back)
- Сравнение (are close)
- [Сброс состояния](./versor-reset-rus.md)
- [Указание значений компонент](./versor-set-values-rus.md)
- Копирование состояния (копирование значений компонент)
- Обмен состояниями (обмен значениями компонент)
- Построение на основе поворота
- Проверка на отсутствие поворота
- Преобразование типа
- Сокращение поворота
- Инверсия
- Комбинирование
- Получение описание поворота
- Получение матрицы поворота
- Получение матрицы обратного поворота
- Поворот вектора
- Обратный поворот вектора
- Сравнение