在一个现有的项目中,我看到了一个模板化的Vector_3d,它具有向量的常用操作(在代数意义上)。在分析之后,我注意到这个课程花了很多时间。
我想知道在C ++中是否存在像3d矢量这样的基本概念的众所周知的实现。实际上,使用矢量的良好实现可能更容易,而不是尝试优化这个。
编辑: 这是在某些对象的几何表示的上下文中。但它独立于任何可视化。我会看看是否有办法避免经常调用各种方法。我将看看提议的软件包。
答案 0 :(得分:6)
3d矢量类没有太大的改进空间(基本上,点/交叉产品相当容易,矩阵乘法也是如此)。 如果在该课程中花费了这么多时间,那么使用它的代码可能存在缺陷。你有没有检查过
我知道Qt中有QVector3D,这可能会对你有所帮助(顺便说一句,他们还有Vector 2D和4D以及常见的3D几何操作)
答案 1 :(得分:3)
Dave Eberly的http://www.geometrictools.com/是这类课程的绝佳资源。
答案 2 :(得分:1)
我偏向Eigen。此外,它只是标题,并具有内置的矢量化支持。
答案 3 :(得分:0)
Boost :: QVM也可以是一个选项:http://boostorg.github.io/qvm/