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

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

View File

@ -1,4 +1,5 @@
## Плоскостной вектор vec2(x, y)
# Вектора
## Vector2
### Операции над векторами
@ -87,3 +88,104 @@ function vector2:rot(
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
```