跳到主要内容

Vector3

简要描述

用于3D数学的矢量。

描述

3元素结构,可用于表示3D空间或任何其他成对的数值中的位置。

成员

类型属性名默认值
floatx0.0
floaty0.0
floatz0.0

方法

返回值类型方法名称
Vector3Vector3(#method-Vector3)(x: float, y: float, z: float)
Vector3abs()
floatangle_to(to: Vector3)
Vector3bounce(n: Vector3)
Vector3ceil()
Vector3cross(b: Vector3)
Vector3cubic_interpolate(b: Vector3, pre_a: Vector3, post_b: Vector3, t: float)
Vector3direction_to(b: Vector3)
floatdistance_squared_to(b: Vector3)
floatdistance_to(b: Vector3)
floatdot(b: Vector3)
Vector3floor()
Vector3inverse()
boolis_equal_approx(v: Vector3)
boolis_normalized()
floatlength()
floatlength_squared()
Vector3linear_interpolate(b: Vector3, t: float)
intmax_axis()
intmin_axis()
Vector3move_toward(to: Vector3, delta: float)
Vector3normalized()
Basisouter(b: Vector3)
Vector3posmod(mod: float)
Vector3posmodv(modv: Vector3)
Vector3project(b: Vector3)
Vector3reflect(n: Vector3)
Vector3rotated(axis: Vector3, phi: float)
Vector3round()
Vector3sign()
Vector3slerp(b: Vector3, t: float)
Vector3slide(n: Vector3)
Vector3snapped(by: Vector3)
Basisto_diagonal_matrix()

常量

  • **AXIS_X = 0**

X轴的枚举值。 由max_axismin_axis返回。

  • **AXIS_Y = 1**

Y轴的枚举值。 由max_axismin_axis返回。

  • **AXIS_Z = 2**

Z轴的枚举值。 由max_axismin_axis返回。

  • **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
Default0.0
getter****
  • float y
Default0.0
getter****
  • float z
Default0.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_aabpost_ba 是当前的),按给定的金额tt0.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之间线性插值的结果,数量为tt0.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)

返回一个由该向量的组件的fposmodmod组成的向量。


  • 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之间的球面线性插值的结果,数量为tt0.0-1.0的范围内,表示内插量。

注意:两个向量都必须归一化。


  • slide slide(n: Vector3)

返回向量在给定法线定义的平面上的分量。


  • snapped snapped(by: Vector3)

返回捕捉到最低接近倍数的向量的副本。


  • to_diagonal_matrix to_diagonal_matrix()

返回以向量为主要对角线的对角矩阵。