如何更改中点圆算法以获取起始角度和结束角度?

时间:2017-05-01 19:13:14

标签: java algorithm graphics bresenham

我看了很多地方并且找不到任何资源(据我所知)解释如何将标准中点圆算法(使用八分圆创建整个圆)转换为仅考虑特定的'切片'圈子。我用这个来找到视线范围内的瓷砖。

我使用的代码是如何实现算法的基本维基百科代码。

我在内部使用java" Processing"把事情做好。

我试图理解这个算法是如何工作的,所以我可以修改它,但我遇到了麻烦。

1 个答案:

答案 0 :(得分:0)

如果您要光栅化的点落入您通过角度(点)指定的范围内,则可以使用条件扩展中点算法或Bresenham算法。要获得范围,您必须在圆上找到起点和终点。这可以通过极坐标帮助轻松完成。如果我们有一个半径为r,角度为theta且居中C(x0,y0)的圆圈,则圆圈上的点可以计算为pCircle(x,y) = (x0 + r * cos theta, y0 + r * sin theta)。请注意,角度是弧度。