从角度和长度获取矢量?
Getting a vector from an angle and length?
我正在研究怪物的视线(锥形),需要一种绘制它的方法。我从 angle/distance 得到的矢量将以一个位置(怪物的位置)为中心。
- 使用 C#/Xna,如果我有角度和距离(距离位置的长度),我如何获得矢量?
答案帮助我找到了正确的方向。代码现在看起来像:
Vector2 vector = new Vector2((float)Math.Cos(angle) * distance + position.X, (float)Math.Sin(angle) * distance + position.Y);
你会用到一些三角函数。
像这样,假设 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));
我正在研究怪物的视线(锥形),需要一种绘制它的方法。我从 angle/distance 得到的矢量将以一个位置(怪物的位置)为中心。
- 使用 C#/Xna,如果我有角度和距离(距离位置的长度),我如何获得矢量?
答案帮助我找到了正确的方向。代码现在看起来像:
Vector2 vector = new Vector2((float)Math.Cos(angle) * distance + position.X, (float)Math.Sin(angle) * distance + position.Y);
你会用到一些三角函数。
像这样,假设 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));