# Библиотека *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)
```
