个性化阅读
专注于IT技术分析

计算机图形:扫描线算法

它是一种图像空间算法。它一次处理一行, 而不是一次处理一个像素。它使用了一致性的概念区域。该算法记录边缘列表, 活动边缘列表。因此必须进行准确的簿记。边列表或边表包含两个端点的坐标。活动边缘列表(AEL)包含给定扫描线在扫描期间相交的边缘。活动边缘列表(AEL)应按x的升序排序。 AEL是动态的, 不断增长和不断缩小的。

下图显示了边缘和活动边缘列表。扫描线AC1的活动边沿列表包含e1, e2, e5, e6边沿。扫描线AC2的活动边沿列表包含e5, e6, e1。

扫描线算法

扫描线可以处理多个表面。在处理每条扫描线时, 该线将与许多表面相交。相交线将确定可见的表面。完成每个表面的深度计算。定义了后视平面。确定表面的可见性后, 将强度值输入刷新缓冲区。

算法

第一步:开始算法

步骤2:初始化所需的数据结构

  1. 创建具有颜色, 边缘指针, 系数的多边形表
  2. 建立边表包含以下信息:边的端点, 指向多边形的指针, 反斜率。
  3. 创建活动边列表。这将按x的升序进行排序。
  4. 创建一个标志F。它将有两个值打开或关闭。

步骤3:对所有扫描线执行以下步骤

  1. 使用y作为值在活动边缘列表(AEL)中按排序顺序输入值
  2. 使用背景色进行扫描, 直到标记(即F)亮起
  3. 当一个多边形标志打开时, 这是针对表面S1, 将颜色强度作为I1输入刷新缓冲区
  4. 当两个或图像表面标记处于打开状态时, 请根据深度对表面进行排序, 并将强度值Sn用于第n个表面。该表面的z深度值最小
  5. 对其余平面使用相干概念。

步骤4:停止算法


赞(0)
未经允许不得转载:srcmini » 计算机图形:扫描线算法

评论 抢沙发

评论前必须登录!