- 1
- 0
- 约8.46千字
- 约 25页
- 2017-09-20 发布于河北
- 举报
2.5改进的多边形扫描转换.pdf
1、X-扫描线算法
X-扫描线算法填充多边形的基本思想是按扫描线顺序,计算
扫描线与多边形的相交区间,再用要求的颜色显示这些区间
的像素,即完成填充工作
关键问题是求交 !求交的计算量是非常大的
排序、配对、填色总是要的!
最理想的算法是不求交!
2、多边形的扫描转换算法的改进
扫描转换算法重要意义是提出了图形学里两个重要的思想:
(1)扫描线:当处理图形图像时按一条条扫描线处理
(2)增量的思想
求交点的时候能不能也采取增量的方法?每条扫描线的y值
都知道,关键是求x的值。x是什么?
可以从三方面考虑加以改进:
(1)在处理一条扫描线时,仅对与它相交的多边形的
边(有效边)进行求交运算
p4
p3
p1 p2
(2)考虑扫描线的连贯性
p4
p3
p1 p2
即当前扫描线与各边的交点顺序与下一条扫描线与各边的
交点顺序很可能相同或非常相似
(3)最后考虑多边形的连贯性
p4
p3
p1 p2
即当某条边与当前扫描线相交时,它很可能也
与下一条扫描线相交
为了避免求交运算,需要引进一套
特殊的数据结构
2、多边形的扫描转换算法的改进
为了避免求交运算,需要引进一套
特殊的数据结构
数据结构:
(1)活性边表 (AET):把与当前扫描线相交的边称为
活性边,并把它们按与扫描线交点x坐标递增的
顺序存放在一个链表中。
p4
p3
p1 p2
(2)结点内容 (一个结点在数据结构里可用结构来表示)
x: 当前扫描线与边的交点坐标
△x: 从当前扫描线到下一条扫描线间x的增量
ymax : 该边所交的最高扫描线的坐标值ymax
x △x ymax next
随着扫描线的移动,扫描线 (xi+1, yi+1)
与多边形的交点和上一次交
点相关:
(x ,y )
i i
设边的直线斜率为k
y y y
k i 1 i
x x x
i 1 i
1
原创力文档

文档评论(0)