如何在C#中获取矢量类型?

我想在我正在编写的C#应用​​程序中使用Vectors,然后单独使用Vector3。

如果没有自己编写Vector类型,最好的方法是什么?

我在CodeProject上找到的POC中使用了一个。 这不是理想的,但它适用于我们的情况。 然而,当时它没有一种方法来反映关于给定法线的Vector3,但从那以后可能已经改变了。

如果你不介意使用DirectX(有些人因为某种原因远离它),那么该库中也有一个Vector3类型。

好吧,有一个叫做Microsoft.DirectX.Vector3的结构,如果这就是你要找的东西。 您需要引用Microsoft.DirectX.dll才能使用它。

为了完整起见,XNA中还有一个:Microsoft.XNA.Framework.Vector3。

听起来像需要整合的东西。

在WPF中你有:

System.Windows.Media.Media3D.Vector3D

您应该能够使用SlimDX中的矢量类: http : //code.google.com/p/slimdx/

您还可以从XNATouch等开源XNA端口中提取矢量/数学类: http ://xnatouch.codeplex.com/