2.2 KiB
2.2 KiB
Кватернионы
English version / Английская версия
Кватернионы — это гиперкомплексные числа, которые расширяют понятие комплексных чисел. Они состоят из одной действительной компоненты и трёх мнимых компонент:
q = s + i⋅x + j⋅y + k⋅z
где:
- s, x, y, z ∈ R - действительные числа
- i, j, k - мнимые единицы, удовлетворяющие следующим условиям:
- i2 = j2 = k2 = i⋅j⋅k = -1
Кватернионы были открыты математиком Уильямом Гамильтоном и представлены публике в 1843 году. Они нашли широкое применение в компьютерной графике, робототехнике и физике для описания поворотов в трёхмерном пространстве.
Реализация кватернионов в библиотеке
В библиотеке есть два типа трёхмерных векторов:
- BGC_FP32_Quaternion - кватернион на основе чисел с плавающей запятой одинарной точности
- BGC_FP64_Quaternion - кватернион на основе чисел с плавающей запятой двойной точности
Определения структур:
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 - мнимые компоненты кватерниона.
Функции
- Сброс значений компонент
- bgc_fp32_quaternion_reset
- bgc_fp64_quaternion_reset