使用C++实现游戏编程中常用的向量类
在游戏编程中,经常会使用向量来描述物体在平面、空间中的位置,本文可以帮助读者完成一个功能齐全的向量类。
向量的基本运算
我们先来了解一下向量的基本运算:
- 向量加法
- 向量减法
- 向量叉乘[仅在3D向量中使用]
- 向量点乘
- 向量除法
- 向量求模
- 向量归一化
- 向量归零
- 向量取反
- 向量相等
Vector2类
开始编写一个向量类,我使用的是Visual Studio 2019,并且测试运行正确。
class Vector2{
//由于我们经常访问向量中的各个分量,因此将之设置为public更方便
public:
float x;
float y;
Vector2();
Vector2(const float x,const float y);
Vector2(const Vetor2& vec);
Vector2 addition(const float x,const float y)const;
Vector2 addition(const Vector2& vec)const;
Vector2 subtract(const float x, const float y)const;
Vector2 subtract(const Vector2& vec)const;
Vector2 multiple(const float v)const;
Vector2 multiple(const Vector2& vec)const; //这里使用的是分量乘法
Vector2 division(