update doc/ru structure & update docs (ru)

This commit is contained in:
MihailRis
2024-06-13 18:41:38 +03:00
parent 607d30fd33
commit dbe98959d1
18 changed files with 55 additions and 16 deletions
@@ -0,0 +1,191 @@
# Вектора
## Vector2
### Операции над векторами
```lua
function vector2:round(decimals: number) -> round[vec2]
```
Округление компонентов вектора
```lua
function vector2:len() -> number
```
Длина вектора
```lua
function vector2:norm() -> number
```
Нормализация вектора
```lua
function vector2:abtw(vector: vec2) -> number
```
Угол между двумя векторами в радианах
```lua
function vector2:proj(vector: vec2) -> vec2
```
Проекция вектора
```lua
function vector2:dot(vector: vec2) -> number
```
Векторное (внутреннее) произведение
```lua
function vector2:lerp(
--Целевой вектор
b: vec2,
--Интерполяционный коэффициент (от 0 до 1)
t: number
) -> vec2
```
Линейная интерполяция вектора
```lua
function vector2:dist(vector: vec2) -> number
```
Дистанция между двумя векторами
```lua
function vector2:cross(vector: vec2) -> number
```
Векторное (внешнее) произведение
```lua
function vector2:rot(
--Угол поворота вектора на заданный угол (в радианах)
angle: number->rad,
--Вращение вектора относительно осей ("x", "y", "z")
axis: str,
--Если истина, то угол поворота певеодится автоматический из градусы в радианы
convert2deg: bool
) -> vec2
```
Поворот вектора
### Операции с векторами
```lua
local vec2 = require("res:vector2")
local v1 = vec2(5, 10)
local v2 = vec2(10, 15)
-- vec2 .. vec2
sum_vectors = v1 + v2 -- (15, 25)
sub_vectors = v1 - v2 -- (-5, -5)
mul_vectors = v1 * v2 -- (50, 150)
div_vectors = v1 / v2 -- (0.5, 0.66667.)
pow_vectors = v1 ^ v2 -- (9765625, 1e+15)
--vec2 .. scalar
sum_vec2_scalar = v1 + 10 -- (15, 25)
sub_vec2_scalar = v1 - 12 -- (-7, -2)
mul_vec2_scalar = v1 * 20 -- (100, 200)
div_vec2_scalar = v1 / 1 -- (5, 10)
pow_vec2_scalar= v1 ^ 2 -- (25, 100)
```
## Vector3
### Операции над векторами
```lua
function vector3:round(decimals: number) -> round[vec3]
```
Округление компонентов вектора
```lua
function vector3:len() -> number
```
Длина вектора
```lua
function vector3:norm() -> number
```
Нормализация вектора
```lua
function vector3:abtw(vector: vec3) -> number
```
Угол между двумя векторами в радианах
```lua
function vector3:isParallel(vector: vec3) -> bool
```
Параллельность вектора к другому вектору
```lua
function vector3:proj(vector: vec3) -> vec3
```
Проекция вектора
...
```lua
function vector3:dot(vector: vec3) -> number
```
Векторное (внутреннее) произведение
```lua
function vector3:lerp(
--Целевой вектор
b: vec3,
--Интерполяционный коэффициент (от 0 до 1)
t: number
) -> vec3
```
Линейная интерполяция вектора
```lua
function vector3:dist(vector: vec3) -> number
```
Дистанция между двумя векторами
```lua
function vector3:dist2line(point1: vec3, point2: vec3) -> number
```
Дистанция до линии
```lua
function vector3:cross(vector: vec3) -> number
```
Векторное (внешнее) произведение
```lua
function vector3:rot(
--Угол поворота вектора на заданный угол (в радианах)
angle: number->rad,
--Вращение вектора относительно осей ("x", "y", "z")
axis: str,
--Если истина, то угол поворота певеодится автоматический из градусы в радианы
convert2deg: bool
) -> vec2
```
Поворот вектора
### Операции с векторами
```lua
local vec3 = require("res:vector3")
local v1 = vec3(1, 2, 3)
local v2 = vec3(4, 5, 6)
-- vec3.. vec3
local sum_vectors = v1 + v2 -- (5, 7, 9)
local sub_vectors = v1 - v2 -- (-3, -3, -3)
local mul_vectors = v1 * v2 -- (4, 10, 18)
local div_vectors = v1 / v2 -- (0.25, 0.4, 0.5)
local pow_vectors = v1 ^ v2 -- (1, 32, 216)
-- vec3.. scalar
local scalar_vector = v1 * 2 -- (2, 4, 6)
local scalar_number = 2 * v1 -- (2, 4, 6)
-- ..etc
```
@@ -0,0 +1,91 @@
## Конвертация значений в байты и обратно
```lua
function bit_converter.string_to_bytes(string: str) -> table
```
Конвертирует строку в байты
```lua
function bit_converter.bool_to_byte(boolean: bool) -> integer
```
Конвертирует логический булев в байт
```lua
function bit_converter.single_to_bytes(number: single) -> table
```
Конвертирует плавающее значение одинарной точности в байты
```lua
function bit_converter.double_to_bytes(number: double) -> table
```
Конвертирует плавающее значение двойной точности в байты
```lua
function bit_converter.uint16_to_bytes(integer: int) -> table
```
Конвертирует беззнаковое 2-х битное целое число в байты
```lua
function bit_converter.uint32_to_bytes(integer: int) -> table
```
Конвертирует беззнаковое 4-х битное целое число в байты
```lua
function bit_converter.int16_to_bytes(integer: int) -> table
```
Конвертирует знаковое 2-х битное целое число в байты
```lua
function bit_converter.int32_to_bytes(integer: int) -> table
```
Конвертирует знаковое 4-х битное целое число в байты
```lua
function bit_converter.int64_to_bytes(integer: int) -> table
```
Конвертирует знаковое 8-и битное целое число в байты
```lua
function bit_converter.bytes_to_string(table: bytes) -> string
```
Конвертирует массив байтов в строку
```lua
function bit_converter.byte_to_bool(integer: byte) -> boolean
```
Конвертирует байт в логическое булевое значение
```lua
function bit_converter.bytes_to_single(table: bytes) -> number
```
Конвертирует массив байтов в плавающее число одинарной точности
```lua
function bit_converter.bytes_to_double(table: bytes) -> number
```
Конвертирует массив байтов в плавающее число двойной точности
```lua
function bit_converter.bytes_to_uint16(table: bytes) -> integer
```
Конвертирует массив байтов в 2-х битное беззнаковое число
```lua
function bit_converter.bytes_to_uint32(table: bytes) -> integer
```
Конвертирует массив байтов в 4-х битное беззнаковое число
```lua
function bit_converter.bytes_to_int16(table: bytes) -> integer
```
Конвертирует массив байтов в 2-х битное знаковое число
```lua
function bit_converter.bytes_to_int32(table: bytes) -> integer
```
Конвертирует массив байтов в 4-х битное знаковое число
```lua
function bit_converter.bytes_to_int64(table: bytes) -> integer
```
Конвертирует массив байтов в 8-х битное знаковое число
@@ -0,0 +1,153 @@
## Буффер данных
### Хранит в себе массив байтов и позволяет легко получать или добавлять разные значения
```lua
function data_buffer(bytes)
```
Создаёт новый экземпляр data_buffer (параметр bytes необязательный)
```lua
function data_buffer:put_byte(integer: byte)
```
Записывает байт в буффер
```lua
function data_buffer:put_bytes(table: bytes)
```
Записывает байты в буффер
```lua
function data_buffer:put_string(string: str)
```
Конвертирует строку в байты и записывает их в буффер
```lua
function data_buffer:put_bool(boolean: bool)
```
Конвертирует булевое значение в байт и записывает его в буффер
```lua
function data_buffer:put_single(number: single)
```
Конвертирует плавающее число одинарной точности в байты и записывает их в буффер
```lua
function data_buffer:put_double(number: double)
```
Конвертирует плавающее число двойной точности в байты и записывает их в буффер
```lua
function data_buffer:put_uint16(integer: int)
```
Конвертирует беззнаковое 2-х битное число в байты и записывает их в буффер
```lua
function data_buffer:put_uint32(integer: int)
```
Конвертирует беззнаковое 4-х битное число в байты и записывает их в буффер
```lua
function data_buffer:put_int16(integer: int)
```
Конвертирует знаковое 2-х битное число в байты и записывает их в буффер
```lua
function data_buffer:put_int32(integer: int)
```
Конвертирует знаковое 4-х битное число в байты и записывает их в буффер
```lua
function data_buffer:put_int64(integer: int)
```
Конвертирует знаковое 8-и битное число в байты и записывает их в буффер
```lua
function data_buffer:put_number(number: num)
```
Конвертирует любое число в байты и записывает их в буффер;
Первый байт это тип значения:
```lua
zero = 0
uint16 = 1
uint32 = 2
int16 = 3
int32 = 4
int64 = 5
double = 6
```
```lua
function data_buffer:get_byte() -> integer
```
Возвращает следующий байт из буффера
```lua
function data_buffer:get_bytes(n) -> table
```
Возвращает n следующих байтов, если n равен nil или не указан, то возвращается массив всех байтов
```lua
function data_buffer:get_string() -> string
```
Читает следующую строку из буффера
```lua
function data_buffer:get_bool() -> boolean
```
Читает следующий логический булев из буффера
```lua
function data_buffer:get_single() -> number
```
Читает следующее плавающее число одинарной точности из буффера
```lua
function data_buffer:get_double() -> number
```
Читает следующее плавающее число двойной точности из буффера
```lua
function data_buffer:get_uint16() -> integer
```
Читает следующее 2-х битное беззнаковое целое число из буффера
```lua
function data_buffer:get_uint32() -> integer
```
Читает следующее 4-х битное беззнаковое целое число из буффера
```lua
function data_buffer:get_int16() -> integer
```
Читает следующее 2-х битное знаковое целое число из буффера
```lua
function data_buffer:get_int32() -> integer
```
Читает следующее 4-х битное знаковое целое число из буффера
```lua
function data_buffer:get_int64() -> integer
```
Читает следующее 8-х битное знаковое целое число из буффера
```lua
function data_buffer:get_number() -> number
```
Читает следующее число (см. data_buffer:put_number)
```lua
function data_buffer:size() -> integer
```
Возвращает размер буффера
```lua
function data_buffer:set_position(integer: pos)
```
Устанавливает текущую позицию в буффере
```lua
function data_buffer:set_bytes(table: bytes)
```
Устанавливает байты в буффер