计算机图形学 多边形裁剪

多边形裁剪

Sutherland Hodgeman多边形裁剪

如果用直线裁剪算法来处理一个多边形,得到的是一堆零散的线段。
所以这里介绍Sutherland Hodgeman算法。
将多边形边界作为一个整体,每次用窗口的一条边对要裁剪的多边形和中间结果多边形进行裁剪。
多边形裁剪产生了新的点,保留了旧的点

新点的产生与旧点的保留及其二者的输出确定

第一点S在不可见侧,第二点P在可见侧

IP
输出这条边线段与边界的交点I和原本就在可见侧的P。

第一点S和第二点P都在可见侧

P
输出原本就在可见侧的P。
(S已经输出过了)

第一点S在可见侧,第二点P在不可见侧

I
输出这条边线段与边界的交点I。
(S已经输出过了)

第一点S和第二点P都在不可见侧

无输出
不进行输出。

举例

输出顺序是?
旧点:1,2,3,4,5,6;

顺序 输出
1->2 不输出
2->3 a,3
3->4 4
4->5 5
5->6 b
6->1 不输出

缺点

会产生多余的线段。
多余线段的产生

发布了9 篇原创文章 · 获赞 3 · 访问量 200

猜你喜欢

转载自blog.csdn.net/weixin_44491160/article/details/104249470