bgc-c/docs/quaternion-rus.md

45 lines
2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Кватернионы
[English version / Английская версия](quaternion-eng.md)
Кватернионы — это гиперкомплексные числа, которые расширяют понятие комплексных
чисел. Они состоят из одной действительной компоненты и трёх мнимых компонент:
q = s + ix + jy + kz
где:
- s, x, y, z ∈ R - действительные числа
- i, j, k - мнимые единицы, удовлетворяющие следующим условиям:
- i<sup>2</sup> = j<sup>2</sup> = k<sup>2</sup> = ijk = -1
Кватернионы были открыты математиком Уильямом Гамильтоном и представлены публике
в 1843 году. Они нашли широкое применение в компьютерной графике, робототехнике
и физике для описания поворотов в трёхмерном пространстве.
## Реализация кватернионов в библиотеке
В библиотеке есть два типа трёхмерных векторов:
- **BGC_FP32_Quaternion** - кватернион на основе чисел с плавающей запятой
одинарной точности
- **BGC_FP64_Quaternion** - кватернион на основе чисел с плавающей запятой
двойной точности
Определения структур:
```c
typedef struct {
float s, x, y, z;
} BGC_FP32_Quaternion;
typedef struct {
double s, x, y, z;
} BGC_FP64_Quaternion;
```
Поля:
- **s** - это вещественная часть кватерниона, буква выбрана от английского слова
scalar - скалярная величина.
- **x**, **y**, **z** - мнимые компоненты кватерниона.
[Документация](intro-rus.md)