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

How to change the Midpoint circle algorithm in order to take a Starting angle and ending Angle?

我看了很多地方,但没有找到任何资源(据我所知)来解释如何将标准中点圆算法(使用八分圆创建整个圆)转变为仅考虑特定 'slice' 的圈子。我正在使用它来查找视线半径内的瓷砖。

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

我在 "Processing" 中使用 java 来制作原型。

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

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