计算机图形学常用算法实现5 区域填充算法-递归形式

递归形式的区域填充算法的效率实在是太低了(就是裸的dfs),导致图形大一点就会爆栈,没有很大的实用性。
代码如下:

void floodFill4(int x,int y,int i)
{
    if (map[x, y] == false)
    {      
        g.FillRectangle(p, new RectangleF(x, y, 1, 1));
        map[x, y] = true;     
        floodFill4(x, y - 1,i+1);
        floodFill4(x, y + 1,i+1);
        floodFill4(x - 1,y,i+1);
        floodFill4(x + 1, y,i+1);
    }
}

效果如下:
计算机图形学常用算法实现5 区域填充算法-递归形式_第1张图片

你可能感兴趣的:(图形学基础知识)