Files
XCEngine/docs/api/math/math-vector2.md

1.6 KiB

Vector2

2D 向量结构体,用于表示 2D 空间中的点、方向或颜色。

头文件

#include <XCEngine/Math/Vector2.h>

命名空间

XCEngine::Math

结构体定义

struct Vector2 {
    float x = 0.0f;
    float y = 0.0f;
};

静态工厂方法

方法 返回值 描述
Zero() Vector2 返回 (0, 0)
One() Vector2 返回 (1, 1)
Up() Vector2 返回 (0, 1),上方向
Down() Vector2 返回 (0, -1),下方向
Right() Vector2 返回 (1, 0),右方向
Left() Vector2 返回 (-1, 0),左方向

静态数学方法

方法 返回值 描述
Dot(a, b) float 点积
Cross(a, b) float 2D 叉积(返回标量)
Normalize(v) Vector2 归一化向量
Magnitude(v) float 向量长度
SqrMagnitude(v) float 长度平方(更快)
Lerp(a, b, t) Vector2 线性插值
MoveTowards(current, target, maxDistance) Vector2 朝目标移动

实例方法

方法 返回值 描述
Magnitude() float 获取向量长度
SqrMagnitude() float 获取长度平方
Normalized() Vector2 获取归一化副本

运算符

  • 算术: +, -, * (scalar), / (scalar)
  • 复合赋值: +=, -=, *=, /=
  • 比较: ==, !=

使用示例

Vector2 pos(5.0f, 3.0f);
Vector2 dir = Vector2::Normalize(pos);
float len = pos.Magnitude();
Vector2 lerped = Vector2::Lerp(pos, Vector2::Zero(), 0.5f);