2012-11-19 71 views
0

我想用C#窗体来制作一个侧面滚动游戏,为此我需要为二维向量创建一个类。在搜索网页时,我发现所有的三维向量都超出了我所需要的范围,只要向查询添加“二维”,我就只能得到多维数组的结果。二维向量

所有我需要的类做的是能够得到矢量(大小和角度)的极化表达式并返回它的笛卡尔表达式(X,Y)&反之亦然。我试着用Math.Sin和Math.Cos来做,但我总是得到奇怪的结果。任何人都可以帮我解释或准备好的代码吗?

+1

也许你正在考虑'Math.Sin'和'Math.Cos'工作度;他们实际上使用弧度。否则,很容易推出自己的PolarCoordinate类。我有一个(与其他一些东西)在这里,你可以从我想的灵感:http://stackoverflow.com/questions/12126907/when-should-i-define-a-explicit-or-implicit-conversion -operator-in-c/12232002#12232002 –

+0

谢谢,我会研究一下 –

回答

1

您可以使用Vector结构,该结构在System.Windows命名空间中可用。如果您添加对WindowsBase.dll的引用,则可以使用它。向量结构有许多有用的静态方法,但你无法获得简单的向量角度。你可以使用Vector.AngleBetween来达到这个目的。

+0

谢谢,我也会试试 –