计算机图形学 之 直线裁剪算法
·
使用计算机处理图形信息时,计算机内部存储的图形往往比较大,而屏幕显示的知识图形的一部分。因此需要确定图形哪些部分落在显示区内,哪些落在显示区外。这个选择的过程就称为裁剪。
最简单的裁剪方法是把各种图形扫描转换为点之后,再判断点是否在窗口内。
要裁剪一条直线段,首先要判断(如下图所示):
- 它是否完全落在裁剪窗口内?
- 它是否完全在窗口外?
- 如果不满足以上两个条件,则计算它与一个或多个裁剪边界的交点(比如线段AB)。
常用的裁剪算法由三种,即 Cohen-Suther land、中点分割法、Liang-Barsky 裁剪算法。
直线裁剪算法:Cohen-Suther land(编码裁剪算法)
本算法又称为编码裁剪算法。
算法的基本思想是对每条直线段分三种情况处理:
(1)若点p1和p2完全在裁剪窗口内,则保留该直线
若点p1(x1,y1)和 p2( x2,y2 ) 均在窗口外,且满足下列四个条件之一,就可以舍弃这条直线了:

如果直线段既不满足保留的条件,也不满足舍弃的条件?那么需要对直线段按交点进行分段,分段后判断直线是保留还是舍弃。(大部分直线都是这种情况)

好难啊。。。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)