Sharp3D.Math - 用于 .NET 的 3D 数学库






4.30/5 (29投票s)
2004年5月12日
1分钟阅读

230819

6582
用 C# 编写的 3D 数学库
引言
我开始构建这个库是作为我目前正在开发的一个 C# 3D 引擎的一部分。 意识到目前没有一个像样的开源 C# 库来处理复杂的数学运算,我决定将我的精力集中在这个库上,并将其发布到世界各地。
更多信息可以在项目的 workspace 中找到:http://workspaces.gotdotnet.com/sharp3d。
特点
- 同时支持单精度和双精度浮点类型。
- 完整实现的数学数据类型,包括复数、四元数以及各种大小的矩阵和向量。
- 用于 2D 和 3D 的几何数据类型和算法 - 距离和求交方法、边界体积等。
- 随机数和噪声生成。
- 库的数据类型提供的强类型集合。
- 扩展标准数学函数,例如
Cos()
、Sqrt()
和Exp()
,使其能够与向量、矩阵和复数类一起工作。 - 一个支持库,用于在 DirectX 和
Sharp3D.Math
结构之间进行转换。
历史
- v1.1.1621.25560 - 更新
- 为向量结构添加了数组列表。
- 在 Geometry3D 和 Geometry2D 命名空间中添加了一个 Polygon 类。
- 在 Geometry3D 命名空间中添加了一个 Triangle 结构。
- 求交方法:射线与平面、AABB、OBB、三角形和球体(尚未完全实现)。
- AABB、OBB 和球体之间的求交方法(尚未完全实现)。
- 为向量结构添加了 <、>、<=、>= 运算符。
- 添加了
IIntegrator
实现:SimpsonIntegral。 - 实现了向量和复数的 Parse 方法。
- 创建了 Sharp3D.Math.Tests 库,并将所有单元测试类移动到那里,因此 Sharp3D.Math 不再依赖于 NUnit.Framework.dll。
- v1.1 - 首次发布。