Vector2
Vector2
是笛卡尔坐标系中的二维向量。
:::note Vector2
是一个泛型类型,这意味着您可以使用任何实现 NumberType
特性的类型作为数字类型。 :::
构造函数
您可以使用 new
方法创建一个 Vector2
对象,该方法接受两个参数:向量的 x
和 y
分量。
rust
let vec_2 = Vector2::new(1.0, 2.0);
字段
Vector2
有两个字段:x
和 y
,分别表示向量的 x
和 y
分量。您可以使用 x
和 y
方法访问这些字段。
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
实现了 Add
、Sub
、Mul
和 Div
特性,这允许您对向量执行常见的算术运算。对于 Mul
和 Div
,您只能将标量放在运算符的右侧。
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 分量。