从角度和长度获取矢量?

时间:2015-02-20 15:40:04

标签: c# vector xna

我正在研究怪物的视线(锥形)并需要一种方法来绘制它。我从角度/距离得到的矢量将以一个位置(怪物的位置)为中心。

  • 使用C#/ Xna,如果我有角度和距离(距离位置的长度),如何获得矢量?

答案帮助我朝着正确的方向前进。代码现在看起来像:

Vector2 vector = new Vector2((float)Math.Cos(angle) * distance + position.X, (float)Math.Sin(angle) * distance + position.Y);

1 个答案:

答案 0 :(得分:2)

你使用了一些三角学。

就像这样,假设angle是你的角度,用弧度表示:

new Vector2((float)Math.Cos(angle), (float)Math.Sin(angle));

但是,如果您想要一个以度为单位的角度,那么您可以使用MathHelper.ToRadians,如下所示:

float angleInRadians = MathHelper.ToRadians(angle);
new Vector2((float)Math.Cos(angleInRadians), (float)Math.Sin(angleInRadians));