# Кватернионы [English version / Английская версия](quaternion-eng.md) Кватернионы — это гиперкомплексные числа, которые расширяют понятие комплексных чисел. Они состоят из одной действительной компоненты и трёх мнимых компонент: 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** - кватернион на основе чисел с плавающей запятой двойной точности Определения структур: ```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** - мнимые компоненты кватерниона. ### Функции - [Сброс значений компонент](quaternion/reset-rus.md) - bgc_fp32_quaternion_reset - bgc_fp64_quaternion_reset [Документация](intro-rus.md)