35 lines
1.3 KiB
Markdown
35 lines
1.3 KiB
Markdown
# Библиотека *quat*
|
||
|
||
Библиотека для работы с кватернионами.
|
||
|
||
## Кватернион из матрицы - *mat4.from_quat(...)*
|
||
|
||
```lua
|
||
-- создает кватернион на основе матрицы вращения
|
||
quat.from_mat4(m: matrix)
|
||
|
||
-- записывает кватернион по матрице вращения в dst
|
||
quat.from_mat4(m: matrix, dst: quat)
|
||
```
|
||
|
||
## Сферическая линейная интерполяция - *quat.slerp(...)*
|
||
|
||
Интерполяция всегда выполняется по короткому пути, а вращение выполняется с постоянной скоростью.
|
||
|
||
```lua
|
||
-- создает кватернион как интерполяцию между a и b,
|
||
-- где t - фактор интерполяции
|
||
quat.slerp(a: quat, b: quat, t: number)
|
||
|
||
-- записывает кватернион как интерполяцию между a и b в dst,
|
||
-- где t - фактор интерполяции
|
||
quat.slerp(a: quat, b: quat, t: number, dst: quat)
|
||
```
|
||
|
||
## Перевод в строку - *quat.tostring(...)*
|
||
|
||
```lua
|
||
-- возвращает строку представляющую содержимое кватерниона
|
||
quat.tostring(q: quat)
|
||
```
|