C++中的Vector2类

Ben*_*Ben 3 c++ vector

在C++中,是否有一个Vector2类,如果是这样,我需要包含什么才能使用它?

我想用它来存储二维向量,例如粒子的位置或速度.

Gre*_*osz 5

干得好.

struct Vector2
{
  float x;
  float y;
};
Run Code Online (Sandbox Code Playgroud)

或者你可以使用std::pair<float, float>.

然后,您将需要了解有关阵列结构(SOA)与结构阵列(AOS)以及它如何影响代码性能的更多信息.

粒子系统通常会使用SOA.

最后,这里有一系列关于AOS和SOA的博客文章应用于粒子系统的实现.

编辑:那里有很好的数学库,如Eigenglm,可以为你定义这些类型以及许多有用的算法(具有高性能的实现).