C ++ 3D数学库

时间:2009-06-22 15:42:00

标签: c++ math 3d

c ++中最好的复杂数学库是什么? (我想在图形引擎中使用它)

编辑:我应该精确一点:它应该有所有的3D数学,如平面,球体,点,AABB等,当然还有矩阵,向量,四元数支持。

6 个答案:

答案 0 :(得分:7)

它取决于你将要开发的内容。据我所知,这些都很好。

Geometric Tools(以前称为WildMagic)

OxMath 2D / 3D数学库2.1

MATHLIB3D

Configurable Math Library (CML)

glmath

答案 1 :(得分:4)

如果您正在使用OpenGL,可以试用OpenGL Mathematics (glm)库。它根据GLSL实现了它的所有类,因此在客户端和服务器端之间很容易使用。

答案 2 :(得分:1)

你的意思是速度最好吗?如果您正在为Windows编写,并且您正在讨论矢量数学,矩阵数学等,那么我没有比DirectX / XNA中的Math函数更快地运行任何东西。 (D3DX)

DirectX不提供复杂的数字支持;它涉及浮点数,但我不认为人们经常在图形引擎中使用复数。如果你必须拥有它,那就很容易实现。

答案 3 :(得分:1)

CGAL - 该库提供数据结构和算法,如三角测量,Voronoi图,多边形和多面体上的布尔运算,点集处理,曲线排列,曲面和体积网格生成,几何处理,alpha形状,凸船体算法,形状分析,AABB和KD树......

答案 4 :(得分:0)

您是否从http://www.boost.org/尝试了Boost Library?

它不会提供最佳性能,但它是非常标准和跨平台的。

答案 5 :(得分:0)

您可能还想查看具有SIMD支持的math2-matrix-vector轻量级模板库。您可以在boost vault“数学 - 几何”文件夹下载 Ogre3d框架有自己的数学库(基于WildMagic 0.2)。您可以从框架中提取它并在您的应用程序中使用,因为Ogre3d> 1.7是在MIT license下分发的。