voxelcore/doc/ru/scripting/builtins/libquat.md

1.8 KiB
Raw Blame History

Библиотека quat

Библиотека для работы с кватернионами.

Кватернион из матрицы - quat.from_mat4(...)

-- создает кватернион на основе матрицы вращения
quat.from_mat4(m: matrix) -> quat

-- записывает кватернион по матрице вращения в dst
quat.from_mat4(m: matrix, dst: quat)

Кватернион из углов Эйлера - quat.from_euler(...)

-- создает кватернион на основе вектора, содержащего углы Эйлера в порядке XYZ (pitch, yaw, roll)
quat.from_euler(euler: vec3) -> quat

-- записывает кватернион в dst на основе вектора, содержащего углы Эйлера в порядке XYZ (pitch, yaw, roll)
quat.from_euler(euler: vec3, dst: quat)

Сферическая линейная интерполяция - quat.slerp(...)

Интерполяция всегда выполняется по короткому пути, а вращение выполняется с постоянной скоростью.

-- создает кватернион как интерполяцию между a и b, 
-- где t - фактор интерполяции
quat.slerp(a: quat, b: quat, t: number) -> quat

-- записывает кватернион как интерполяцию между a и b в dst, 
-- где t - фактор интерполяции
quat.slerp(a: quat, b: quat, t: number, dst: quat)

Перевод в строку - quat.tostring(...)

-- возвращает строку представляющую содержимое кватерниона
quat.tostring(q: quat) -> string