【计算机图形(扫描线算法)】它是一种图像空间算法。它一次处理一行, 而不是一次处理一个像素。它使用了一致性的概念区域。该算法记录边缘列表, 活动边缘列表。因此必须进行准确的簿记。边列表或边表包含两个端点的坐标。活动边缘列表(AEL)包含给定扫描线在扫描期间相交的边缘。活动边缘列表(AEL)应按x的升序排序。 AEL是动态的, 不断增长和不断缩小的。
下图显示了边缘和活动边缘列表。扫描线AC1的活动边沿列表包含e1, e2, e5, e6边沿。扫描线AC2的活动边沿列表包含e5, e6, e1。
文章图片
扫描线可以处理多个表面。在处理每条扫描线时, 该线将与许多表面相交。相交线将确定可见的表面。完成每个表面的深度计算。定义了后视平面。确定表面的可见性后, 将强度值输入刷新缓冲区。
算法 第一步:开始算法
步骤2:初始化所需的数据结构
- 创建具有颜色, 边缘指针, 系数的多边形表
- 建立边表包含以下信息:边的端点, 指向多边形的指针, 反斜率。
- 创建活动边列表。这将按x的升序进行排序。
- 创建一个标志F。它将有两个值打开或关闭。
- 使用y作为值在活动边缘列表(AEL)中按排序顺序输入值
- 使用背景色进行扫描, 直到标记(即F)亮起
- 当一个多边形标志打开时, 这是针对表面S1, 将颜色强度作为I1输入刷新缓冲区
- 当两个或图像表面标记处于打开状态时, 请根据深度对表面进行排序, 并将强度值Sn用于第n个表面。该表面的z深度值最小
- 对其余平面使用相干概念。