add quat Lua library
This commit is contained in:
@@ -13,11 +13,23 @@
|
||||
- [entities](scripting/builtins/libentities.md)
|
||||
- [cameras](scripting/builtins/libcameras.md)
|
||||
- [mat4](scripting/builtins/libmat4.md)
|
||||
- [quat](scripting/builtins/libquat.md)
|
||||
- [vec2, vec3, vec4](scripting/builtins/libvecn.md)
|
||||
- [Модуль core:bit_converter](scripting/modules/core_bit_converter.md)
|
||||
- [Модуль core:data_buffer](scripting/modules/core_data_buffer.md)
|
||||
- [Модули core:vector2, core:vector3](scripting/modules/core_vector2_vector3.md)
|
||||
|
||||
## Аннотации типов данных
|
||||
|
||||
В документации к Lua библиотекам используются аннотации типов,
|
||||
не являющиеся частью синтаксиса Lua.
|
||||
|
||||
- vector - массив из трех или четырех чисел
|
||||
- vec2 - массив из двух чисел
|
||||
- vec3 - массив из трех чисел
|
||||
- vec4 - массив из четырех чисел
|
||||
- quat - массив из четырех чисел - кватернион
|
||||
- matrix - массив из 16 чисел - матрица
|
||||
|
||||
```lua
|
||||
require "контентпак:имя_модуля" -- загружает lua модуль из папки modules (расширение не указывается)
|
||||
|
||||
@@ -4,19 +4,6 @@
|
||||
|
||||
Большинство функций имеют несколько вариантов списка агрументов (перегрузок).
|
||||
|
||||
## Типы данных
|
||||
|
||||
На данной странице будут использоваться условные обозначения типов.
|
||||
- vector - массив из трех или четырех чисел
|
||||
- vec3 - массив из трех чисел
|
||||
- vec4 - массив из четырех чисел
|
||||
- quat - массив из четырех чисел - кватернион
|
||||
- matrix - массив из 16 чисел - матрица
|
||||
|
||||
> [!WARNING]
|
||||
>
|
||||
> Аннотации типов являются частью документации и не указываются при вызове использовании.
|
||||
|
||||
## Единичная матрица - *mat4.idt(...)*
|
||||
|
||||
```lua
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
# Библиотека *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)
|
||||
```
|
||||
Reference in New Issue
Block a user