Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/134.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++;三维数学库 C++中最复杂的数学库是什么?(我想在图形引擎中使用它)_C++_Math_3d - Fatal编程技术网

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

C++;三维数学库 C++中最复杂的数学库是什么?(我想在图形引擎中使用它),c++,math,3d,C++,Math,3d,编辑:我应该精确一点:它应该有所有的3d数学,如平面、球体、点、AABB等,当然还有矩阵、向量、四元数支持。它取决于你要开发什么。据我所知,这些都是很好的LIB (以前称为WildMagic) OxMath 2D/3D数学库2.1 你是说速度最好吗?如果您是为Windows编写的,并且您正在谈论向量数学、矩阵数学等,那么我没有遇到过比DirectX/XNA中的数学函数更快的东西 DirectX不提供复数支持;它处理浮点数,但我不认为人们经常在图形引擎中使用复数。如果您必须拥有它,那么实现起来

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

它取决于你要开发什么。据我所知,这些都是很好的LIB

(以前称为WildMagic)

OxMath 2D/3D数学库2.1


你是说速度最好吗?如果您是为Windows编写的,并且您正在谈论向量数学、矩阵数学等,那么我没有遇到过比DirectX/XNA中的数学函数更快的东西


DirectX不提供复数支持;它处理浮点数,但我不认为人们经常在图形引擎中使用复数。如果您必须拥有它,那么实现起来就很容易了。

您是否从中尝试过Boost库


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

您可能还想看看支持SIMD的math2 matrix vector轻型模板库。您可以从“数学-几何”文件夹下载它。

框架有自己的数学库(基于WildMagic 0.2)。您可以从框架中提取它并在应用程序中使用,因为Ogre3d>1.7是在下发布的。

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

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

“最佳”对我来说意味着它应该具有所有3d数学,如平面、球体、点、AABB等,当然还有矩阵、向量、四元数支持。D3DX数学函数都是静态的,将处理所有基本数学,包括四元数,三角形碰撞测试和AABB交叉测试。(尽管上一次我看了,AABB测试不会给你一个有趣的点,只是对/错;一个小小的失望)其余的东西,如四边形、球体、长方体、圆柱体等等,使用它们下面的数学并不难实现。我可以在自己身上实现整个数学库:)但我不喜欢重新发明轮子,我正在寻找一些经过检查的东西。D3DX对我来说太简单了,缺少太多我想要的功能。我知道你的意思。我喜欢编写光线跟踪器,尝试交叉点例程和加速结构——BHV、网格、kd树等等——但第十次实现向量数学库时,它开始变老。这就是我喜欢D3DX的原因。快速,易于建立和使用C,C++,C,抱歉,但是Boost是一个库集合,不是3D数学库。这个问题很模糊,但这个答案也是如此。我会尝试几何工具的数学库——这似乎是我想要的,但我必须在使用它之前进行深入检查一些链接不会误入歧途……我推荐几何工具这是Ogre3D数学库的基础,我将其提取并用于我的许多项目中。它通常是其他项目所建数学库的2-3倍。非常好的库!