• 大小: 857B
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-09
  • 语言: Matlab
  • 标签: 扫描线  

资源简介

用matlab编写的扫描线填充程序,可以实现多边形的填充。

资源截图

代码片段和文件信息

function  [ak]=Bresenhamline(x0y0x1y1)
% Bresenham方法画直线
dx=x1-x0;
dy=y1-y0;

d1=abs(2*dx);
d2=abs(2*dy);
x=x0;y=y0;
 
plot(xy‘*‘);
a=[x y];
k=1;
if(abs(dx)>=abs(dy))
    p=-abs(dx);
while abs(x)~=abs(x1)
    if(dx>=0) x=x+1;end
    if(dx<0) x=x-1;end
    p=p+d2;
    if p>0
        if(dy>=0)y=y+1;end
        if(dy<0)y=y-1;end
        p=p-d1;          
    end
    hold on;
    a=[a;x y];k=k+1;
    pause(0.01);
    plot(xy‘*‘);
end
end
if(abs(dx)    p=-abs(dy);
while abs(y)~=abs(y1)
    if(dy>=0) y=y+1;end
    if(dy<0) y=y-1;end
    p=p+d1;
    if p>0
        if(dx>=0) x=x+1;end
            if(dx<0) x=x-1;end
        p=p-d2;          
    end
    hold on;
    a=[a;x y];k=k+1;
     pause(0.01);
    plot(xy‘*‘);
end
end
hold on;

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        656  2009-05-16 12:25  scan.m

     文件        804  2009-05-16 12:23  Bresenhamline.m

----------- ---------  ---------- -----  ----

                 1460                    2


评论

共有 条评论

相关资源