C#中的3D数学好库?

Ant*_*ton 15 c# math 3d

我正在编写一个工具,用于处理一堆3D数据,像旋转对象,翻译,缩放和所有好东西.有谁知道一个好的图书馆已经做了一些常见的3D东西?

我对目前的数据可视化不感兴趣,并且主要对执行操作感兴趣.

我知道在这一点上我需要的东西:

  • 2D/3D/4D向量
    • (加,减,点积,叉积等......)
  • 使用矩阵进行旋转/平移/缩放
  • 四元

我能够找到Sharp3D库,但它似乎可以做我想要的但是很长时间没有更新.以前有人用过吗?还有其他(更好的)建议吗?

Jul*_*rau 12

Microsoft.Xna.Framework(发布此XNA)可以完成这项工作.

XNA Framework Math库具有多种基本几何类型,可用于处理2D或3D空间中的对象.此库中的原始对象表示表示几何对象或该对象上的操作所需的数据.每种几何类型都有许多支持该类型的数学运算.

向量

XNA Framework提供了用于表示和操作向量的Vector2,Vector3和Vector4类.矢量通常用于表示方向和幅度.但是,在XNA框架中,它还可能用于存储具有相同存储要求的坐标或其他数据类型.

每个向量类都有执行标准向量操作的方法,例如:

  • 点产品
  • 交叉产品
  • 正常化
  • 转型
  • 线性,立方,Catmull-Rom或Hermite样条插值.

矩阵

XNA Framework提供了用于转换几何的Matrix类.Matrix类使用行主要顺序来处理矩阵,这意味着在描述二维矩阵的元素时,在列之前指定行.除了用于创建比例,平移和旋转矩阵的辅助方法之外,Matrix类还提供了执行标准矩阵运算的方法,例如计算矩阵的确定性或反向性.

四元

XNA Framework提供了Quaternion结构来表示和计算围绕指定角度的向量的有效旋转.