作者:HAOCWH | 来源:互联网 | 2023-06-13 18:45
多边形裁剪多边形裁剪SutherlandHodgeman多边形裁剪新点的产生与旧点的保留及其二者的输出确定第一点S在不可见侧,第二点P在可见侧第一点S和第二点P都在可
多边形裁剪
- 多边形裁剪
- Sutherland Hodgeman多边形裁剪
- 新点的产生与旧点的保留及其二者的输出确定
- 第一点S在不可见侧,第二点P在可见侧
- 第一点S和第二点P都在可见侧
- 第一点S在可见侧,第二点P在不可见侧
- 第一点S和第二点P都在不可见侧
- 举例
- 缺点
多边形裁剪
Sutherland Hodgeman多边形裁剪
如果用直线裁剪算法来处理一个多边形,得到的是一堆零散的线段。
所以这里介绍Sutherland Hodgeman算法。
将多边形边界作为一个整体,每次用窗口的一条边对要裁剪的多边形和中间结果多边形进行裁剪。
新点的产生与旧点的保留及其二者的输出确定
第一点S在不可见侧,第二点P在可见侧
输出这条边线段与边界的交点I和原本就在可见侧的P。
第一点S和第二点P都在可见侧
输出原本就在可见侧的P。
(S已经输出过了)
第一点S在可见侧,第二点P在不可见侧
输出这条边线段与边界的交点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 | 不输出 |
缺点
会产生多余的线段。