📜  计算机图形学| Sutherland-Hodgeman多边形裁剪

📅  最后修改于: 2020-12-21 00:47:56             🧑  作者: Mango

Sutherland-Hodgeman多边形裁剪:

通过处理多边形相对于每个窗口拐角或边缘的边界来执行。首先,将整个多边形修剪到一个边上,然后考虑生成的多边形,然后将多边形考虑到第二个边上,以此类推。

处理时的四种可能情况

  • 如果第一个顶点在窗口外部,则第二个顶点在窗口内部。然后将第二个顶点添加到输出列表中。窗口边界和多边形边(边)的交点也添加到输出线。
  • 如果两个顶点都在窗口边界内。然后,仅将第二个顶点添加到输出列表中。
  • 如果第一个顶点在窗口内部,第二个顶点在外部窗口。与窗口相交的边被添加到输出列表中。
  • 如果两个顶点都是外部窗口,则不会将任何内容添加到输出列表。

下图显示了原始多边形和针对四个窗口的多边形裁剪。

Cohen Hodgmen算法的缺点:

此方法需要大量的内存。所有多边形中的第一个以原始形式存储。然后完成对左边缘的剪切并存储输出。然后剪裁右边缘,然后剪裁上边缘。最后,修剪底边。所有这些操作的结果都存储在内存中。因此浪费了用于存储中间多边形的内存。