Skip to content

这里有三种 VectorXf 类型:

  • Vector2f
  • Vector3f
  • Vector4f

创建

Vector2f.new(x, y)

创建一个包含 xyVector2f 对象。

Vector3f.new(x, y, z)

创建一个包含 x, y, 和 zVector3f 对象。

Vector4f.new(x, y, z, w)

创建一个包含 x, y, z, 和 wVector4f 对象。

字段

x: number

VectorXf 的 X 分量。

y: number

VectorXf 的 Y 分量。

z: number

VectorXf 的 Z 分量。只有 Vector3fVector4f 有这个字段。

w: number

VectorXf 的 W 分量。只有 Vector4f 有这个字段。

方法

self:dot(other)

返回 selfother 的点积。

self:cross(other)

返回 selfother 的叉积。

self:length()

返回 self 的长度。

self:normalize()

self 标准化。什么都不返回。

self:normalized()

返回 self 的标准化结果。

self:reflect(normal)

返回相对于法向量 normal 的反射向量。

self:refract(normal, eta)

返回相对于法向量 normal 和折射率 eta 的折射向量。

self:lerp(other, t)

返回 selfother 之间按照比例 t 进行线性插值的结果。

self:to_vec2()

self 转换为 Vector2f。如果 self 已经是一个 Vector2f,则不可用。

self:to_vec3()

self 转换为 Vector3f。如果 self 已经是一个 Vector3f,则不可用。

self:to_vec4()

self 转换为 Vector4f。如果 self 已经是一个 Vector4f,则不可用。

self:to_mat()

self 转换为 Matrix4x4f。将 self 视为向前的向量。

self:to_quat()

self 转换为 Quaternion。将 self 视为向前的向量。

等同于 self:to_mat():to_quat()

元方法

VectorXf + VectorXf

VectorXf 加法运算。

VectorXf - VectorXf

VectorXf 减法运算。

VectorXf * scalar

VectorXf 标量乘法运算。