Update 8.3 Модуль-Vector2&&Vector3.md

This commit is contained in:
Cogitary 2024-03-17 23:47:33 +03:00 committed by GitHub
parent 6e2df00dcc
commit 513d6b75ae
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,10 +1,9 @@
# Вектора
## Плоскостной вектор vec2(x, y)
### Операции над векторами
```lua
function vector2:round(decimals: float|int) -> round[vec2]
function vector2:round(decimals: number) -> round[vec2]
```
Округление компонентов вектора
```lua
@ -28,18 +27,18 @@ function vector2:proj(vector: vec2) -> vec2
```
Проекция вектора
```lua
function vector2:vxld(vector: vec2) -> vec2
```
...
```lua
function vector2:dot(vector: vec2) -> number
```
Векторное (внутреннее) произведение
```lua
function vector2:lerp(b: vec2, t: number; t∈[0,1]) -> vec2
function vector2:lerp(
--Целевой вектор
b: vec2,
--Интерполяционный коэффициент (от 0 до 1)
t: number
) -> vec2
```
Линейная интерполяция вектора
@ -54,19 +53,37 @@ function vector2:cross(vector: vec2) -> number
Векторное (внешнее) произведение
```lua
function vector2:rot(angle: number->rad, axis: str, convert2deg: bool) -> vec2
function vector2:rot(
--Угол поворота вектора на заданный угол (в радианах)
angle: number->rad,
--Вращение вектора относительно осей ("x", "y", "z")
axis: str,
--Если истина, то угол поворота певеодится автоматический из градусы в радианы
convert2deg: bool
) -> vec2
```
Поворот вектора
`axis {string} - axis rotate around (x, y, or z)`
`convert2deg {bool} .. if true => angle: number->deg .. else angle: number->rad`
### Операции с векторами
...
```lua
local vec2 = require("res:vector2")
## Пространственный вектор vec3(x, y, z)
### Операции с векторами
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)
```