计算机图形学 作业题3

3.用有序边表算法(扫描线算法)扫描转换下述多边形,多边形顶点序列坐标:

P0 (2,4)、P1(5,1)、P2(7,1)、P3(12,5)、P4(12,11)、P5(7,7)、P6(2,8)

解答3:

1)画图

2)对奇异点处理

    极值点:局部最高点:按0个交点处理;局部最低点:按2个交点处理

    非极值点:按1个交点处理

处理完后如图:

3)构造ET表

          ET表:所有边的指针数组

         边的数据结构:

          ET表如下:

4)填充

AET活性链表:由与当前扫描线相交的所有多边形的边组成

注意:若x为小数 ,左端点向上取整,右端点向下取整;并采用“左闭右开”,“下闭上开”的原则对扫描线进行填充

附 算法:

1.按y递增顺序形成ET表;

2.设y=ET表中第一个非空节点的y值(最小扫描线的y值);

3.初始化AET表,将AET 表设置为空;

4.按递增顺序对当前扫描线y执行下列步骤,直至ET和AET都为空.

        (1)若ET中第y类元素非空,则将ET中有关y扫描线的信息和并到AET中,并使AET按x递增顺序排列;

        (2)对于扫描线y, 取AET中两两一对x坐标,填充所需的象素值(color);

        (3)从AET中删去y= ymax的项; (4)对AET中保留的项,令x=x+1/m;(即xi+1=xi+ x); (5) y=y+1形成下一条扫描线,GOTO 4。

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三MU

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值