Sutherland-Hodgeman多边形裁剪

通过处理多边形相对于每个窗口角或边缘的边界来执行。首先, 将整个多边形修剪到一个边上, 然后考虑生成的多边形, 然后将多边形修剪到第二个边上, 依此类推, 对所有四个边都如此。
处理时的四种可能情况

  1. 如果第一个顶点在窗口外部, 则第二个顶点在窗口内部。然后将第二个顶点添加到输出列表中。窗口边界和多边形边(边)的相交点也添加到输出线。
  2. 如果两个顶点都在窗口边界内。然后, 仅将第二个顶点添加到输出列表中。
  3. 如果第一个顶点在窗口内部, 第二个顶点在外部窗口。与窗口相交的边被添加到输出列表中。
  4. 如果两个顶点都是外部窗口, 则不会将任何内容添加到输出列表。
下图显示了原始多边形和针对四个窗口的多边形裁剪。
Sutherland-Hodgeman多边形裁剪

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

文章图片

    推荐阅读