Vector3
简要描述
用于3D数学的矢量。
描述
3元素结构,可用于表示3D空间或任何其他成对的数值中的位置。
成员
类型 | 属性名 | 默认值 |
---|---|---|
float | x | 0.0 |
float | y | 0.0 |
float | z | 0.0 |
方法
返回值类型 | 方法名称 |
---|---|
Vector3 | Vector3(#method-Vector3)(x: float, y: float, z: float) |
Vector3 | abs() |
float | angle_to(to: Vector3) |
Vector3 | bounce(n: Vector3) |
Vector3 | ceil() |
Vector3 | cross(b: Vector3) |
Vector3 | cubic_interpolate(b: Vector3, pre_a: Vector3, post_b: Vector3, t: float) |
Vector3 | direction_to(b: Vector3) |
float | distance_squared_to(b: Vector3) |
float | distance_to(b: Vector3) |
float | dot(b: Vector3) |
Vector3 | floor() |
Vector3 | inverse() |
bool | is_equal_approx(v: Vector3) |
bool | is_normalized() |
float | length() |
float | length_squared() |
Vector3 | linear_interpolate(b: Vector3, t: float) |
int | max_axis() |
int | min_axis() |
Vector3 | move_toward(to: Vector3, delta: float) |
Vector3 | normalized() |
Basis | outer(b: Vector3) |
Vector3 | posmod(mod: float) |
Vector3 | posmodv(modv: Vector3) |
Vector3 | project(b: Vector3) |
Vector3 | reflect(n: Vector3) |
Vector3 | rotated(axis: Vector3, phi: float) |
Vector3 | round() |
Vector3 | sign() |
Vector3 | slerp(b: Vector3, t: float) |
Vector3 | slide(n: Vector3) |
Vector3 | snapped(by: Vector3) |
Basis | to_diagonal_matrix() |
常量
- **AXIS_X = 0**
- **AXIS_Y = 1**
- **AXIS_Z = 2**
- **ZERO = Vector3( 0, 0, 0 )**
零向量。
- **ONE = Vector3( 1, 1, 1 )**
一种向量。
- **INF = Vector3( inf, inf, inf )**
无限矢量。
- **LEFT = Vector3( -1, 0, 0 )**
左单位向量。
- **RIGHT = Vector3( 1, 0, 0 )**
正确的单位向量。
- **UP = Vector3( 0, 1, 0 )**
向上单位向量。
- **DOWN = Vector3( 0, -1, 0 )**
下单位向量。
- **FORWARD = Vector3( 0, 0, -1 )**
转发单位向量。
- **BACK = Vector3( 0, 0, 1 )**
背部单位矢量。
成员说明
- float x
Default | 0.0 |
---|---|
getter | **** |
- float y
Default | 0.0 |
---|---|
getter | **** |
- float z
Default | 0.0 |
---|---|
getter | **** |
方法说明
- Vector3 Vector3(x: float, y: float, z: float)
返回具有给定组件的Vector3。
- abs abs()
返回一个新矢量,其中所有分量均为绝对值(即正数)。
- angle_to angle_to(to: Vector3)
返回给定矢量的最小角度。
- bounce bounce(n: Vector3)
返回从给定法线定义的平面“反弹”的向量。
- ceil ceil()
返回一个新的向量,其中所有分量均被四舍五入。
- cross cross(b: Vector3)
返回带有b
的叉积。
- cubic_interpolate cubic_interpolate(b: Vector3, pre_a: Vector3, post_b: Vector3, t: float)
在向量pre_a
,a
,b
,post_b
(a
是当前的),按给定的金额t
。 t
在0.0-1.0
的范围内,表示内插量。
- direction_to direction_to(b: Vector3)
返回从该向量指向b
的归一化向量。
- distance_squared_to distance_squared_to(b: Vector3)
返回到b
的平方距离。 如果您需要对向量进行排序或某些公式需要平方距离,则应优先使用此函数,而不要使用distance_to。
- distance_to distance_to(b: Vector3)
返回到b
的距离。
- dot dot(b: Vector3)
返回带有b
的点积。
- floor floor()
返回一个新的向量,其中所有分量均四舍五入。
- inverse inverse()
返回向量的逆。 这与 Vector3(1.0 /v.x,1.0 /v.y,1.0 /v.z)
相同。
- is_equal_approx is_equal_approx(v: Vector3)
如果此向量和v
大致相等,则通过在每个组件上运行[@],返回true
。
- is_normalized is_normalized()
如果向量归一化,则返回true
。
- length length()
返回向量的长度。
- length_squared length_squared()
返回向量的长度平方。 如果您需要对向量进行排序或某些公式需要平方长,则最好使用此函数而不是[方法长度]。
- linear_interpolate linear_interpolate(b: Vector3, t: float)
返回此向量和b
之间线性插值的结果,数量为t
。 t
在0.0-1.0
的范围内,表示内插量。
- max_axis max_axis()
返回向量最大值的轴。 请参见AXIS _ *
常量。
- min_axis min_axis()
返回向量的最小值的轴。 请参见AXIS _ *
常量。
- move_toward move_toward(to: Vector3, delta: float)
将向量朝to
移动固定的delta
数量。
- normalized normalized()
返回缩放到单位长度的向量。等效于 v /v.length()
。
- outer outer(b: Vector3)
返回带有b
的外部乘积。
- posmod posmod(mod: float)
返回一个由该向量的组件的fposmod
和mod
组成的向量。
- posmodv posmodv(modv: Vector3)
返回一个由该向量的fposmod
组件和modv
的组件组成的向量。
- project project(b: Vector3)
返回投影到向量b
上的向量。
- reflect reflect(n: Vector3)
返回从给定法线定义的平面反射的向量。
- rotated rotated(axis: Vector3, phi: float)
沿给定轴以phi
弧度旋转矢量。
- round round()
返回向量,其中所有分量都四舍五入到最接近的整数,中途情况从零舍入。
- sign sign()
返回矢量,每个矢量设置为一个或一个负数,具体取决于这些分量的符号。
- slerp slerp(b: Vector3, t: float)
返回此向量和b
之间的球面线性插值的结果,数量为t
。 t
在0.0-1.0
的范围内,表示内插量。
注意:两个向量都必须归一化。
- slide slide(n: Vector3)
返回向量在给定法线定义的平面上的分量。
- snapped snapped(by: Vector3)
返回捕捉到最低接近倍数的向量的副本。
- to_diagonal_matrix to_diagonal_matrix()
返回以向量为主要对角线的对角矩阵。