通过处理多边形相对于每个窗口角或边缘的边界来执行。首先, 将整个多边形修剪到一个边上, 然后考虑生成的多边形, 然后将多边形修剪到第二个边上, 依此类推, 对所有四个边都如此。
处理时的四种可能情况
- 如果第一个顶点在窗口外部, 则第二个顶点在窗口内部。然后将第二个顶点添加到输出列表中。窗口边界和多边形边(边)的相交点也添加到输出线。
- 如果两个顶点都在窗口边界内。然后, 仅将第二个顶点添加到输出列表中。
- 如果第一个顶点在窗口内部, 第二个顶点在外部窗口。与窗口相交的边被添加到输出列表中。
- 如果两个顶点都是外部窗口, 则不会将任何内容添加到输出列表。
文章图片
Cohen Hodgmen算法的缺点 【Sutherland-Hodgeman多边形裁剪】此方法需要大量的内存。所有多边形中的第一个以原始形式存储。然后完成对左边缘的剪切并存储输出。然后剪裁右边缘, 然后剪裁上边缘。最后, 修剪底边。所有这些操作的结果都存储在内存中。因此浪费了用于存储中间多边形的内存。
文章图片
推荐阅读
- Weiler-Atherton多边形裁剪
- 一般枢轴点旋转或绕固定点旋转
- 计算机图形缩放
- 计算机图形Z缓冲区算法
- 计算机图形窗口到视口坐标转换
- 计算机图形窗口
- 计算机图形文字剪裁
- 计算机图形(扫描线算法)
- 计算机图形(扫描转换椭圆)