Algorithm 栅格化圆环/圆环的算法

Algorithm 栅格化圆环/圆环的算法,algorithm,graphics,2d,geometry,rasterizing,Algorithm,Graphics,2d,Geometry,Rasterizing,我想将2d甜甜圈栅格化为矩阵/像素(结果应该是填充的甜甜圈) 甜甜圈由r1、r2、x0、y0定义 我怀疑最优解是Bresenham算法的某个函数 有什么想法吗?是的,可以用Bresenham圆或中点算法填充甜甜圈 在第1象限内,开始平行行走内圆和外圆。在Y轴发生变化时构建水平线段。当到达内圈的顶部时,停止行走,继续走外圈 请注意,您必须记住第一个(最大)外部X值,但同一Y的最后一个(最小)内部X值。Bresenham现在远不是最佳值。。。如何利用圆方程: (x-x0)^2 + (x-y0)^2

我想将2d甜甜圈栅格化为矩阵/像素(结果应该是填充的甜甜圈)

甜甜圈由r1、r2、x0、y0定义

我怀疑最优解是Bresenham算法的某个函数


有什么想法吗?

是的,可以用Bresenham圆或中点算法填充甜甜圈

在第1象限内,开始平行行走内圆和外圆。在Y轴发生变化时构建水平线段。当到达内圈的顶部时,停止行走,继续走外圈


请注意,您必须记住第一个(最大)外部X值,但同一Y的最后一个(最小)内部X值。

Bresenham现在远不是最佳值。。。如何利用圆方程:

(x-x0)^2 + (x-y0)^2 = r^2
因此,让我们:

x0,y0 - center
r1 - outer radius
r2 - inner radius
r1<=r2
xs,ys - screen resolution
scr[ys][xy] - screen matrix
x0,y0-中心
r1-外半径
r2-内半径
r1