我正在 XNA 中开发绘制随机路径的应用程序。不幸的是,我对图表不太了解,所以我有点卡住了。我的应用程序需要执行以下操作:
- 从原点 (0,0) 随机选择一个角度,这很简单。
- 以上面找到的角度,相对于原点 16 像素(或我指定的任何距离)绘制一个圆。
(请原谅我糟糕的 Photoshop)
alt text http://www.refuctored.com/coor.png
(16,16) 处的第二个圆代表距原点 16 个像素的 45 度角。
我想要一种方法,在其中传递我的距离和角度,返回一个点到图形处。即
private Point GetCoordinate(float angle, int distance)
{
// Do something.
return new Point(x,y);
}
我知道这很简单,但是我对绘图还很陌生。有什么帮助吗?
谢谢, 乔治
最佳答案
如果角度以度为单位,首先执行:
angle *= Math.PI / 180;
然后:
return new Point(distance * Math.Cos(angle), distance * Math.Sin(angle));
顺便说一下,(16, 16) 处的点距离原点并不是 16 像素,而是 sqrt(16^2 + 16^2) = sqrt(512) =~ 22.63 像素。
关于c# - 按角度查找坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2526200/