Skip to content

Vector2

Vector2 是笛卡尔坐标系中的二维向量。

Vector2

:::note Vector2 是一个泛型类型,这意味着您可以使用任何实现 NumberType 特性的类型作为数字类型。 :::

构造函数

您可以使用 new 方法创建一个 Vector2 对象,该方法接受两个参数:向量的 xy 分量。

rust
let vec_2 = Vector2::new(1.0, 2.0);

字段

Vector2 有两个字段:xy,分别表示向量的 xy 分量。您可以使用 xy 方法访问这些字段。

rust
let x = vec_2.x();
let y = vec_2.y();

方法

Vector2 有几种方法,允许您对向量执行常见操作。以下是一些最常用的方法:

  • dot:计算两个向量的点积。
  • cross:计算两个向量的叉积。
  • length:计算向量的长度。
  • normalize:对向量进行归一化。
  • radian_to: 计算两个向量之间的弧度角。
rust
let vec_a = Vector2::new(1.0, 2.0);
let vec_b = Vector2::new(3.0, 4.0);
let dot = vec_a.dot(&vec_b);
let cross = vec_a.cross(&vec_b);
let length = vec_a.length();
let normalized_vec_a = vec_a.normalize();
let radian_to = vec_a.radian_to(&vec_b);

运算符

Vector2 实现了 AddSubMulDiv 特性,这允许您对向量执行常见的算术运算。对于 MulDiv,您只能将标量放在运算符的右侧

rust
let vac_a = Vector2::new(1.0, 2.0);
let vec_b = Vector2::new(3.0, 4.0);
let sum = vec_a + vec_b;
let difference = vec_a - vec_b;
let scaled = vec_a * 2.0;
let divided = vec_a / 2.0;

Vector2也实现了PartialEq特性, 允许您比较两个向量是否相等。 它通过NumberType特性的equals方法比较向量的 x 和 y 分量。