65.9K
CodeProject 正在变化。 阅读更多。
Home

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

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.30/5 (29投票s)

2004年5月12日

1分钟阅读

viewsIcon

230819

downloadIcon

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 - 首次发布。
© . All rights reserved.