计算机图形学-NLN线段剪裁算法精选.pptVIP

  • 26
  • 0
  • 约1.53千字
  • 约 12页
  • 2016-11-23 发布于湖北
  • 举报
计算机图形学线段剪裁算法 Nicholl-Lee-Nicholl线段剪裁算法 NLN直线段剪裁算法的特点 相对于其它两种算法,NLN直线段剪裁算法的特点是在进行求交点计算之前进行更多的区域测试,所谓的区域测试就是判断端点可能在那个区域,更多的区域测试可以减少求交点的运算。 在NLN直线段剪裁算法中,利用斜率将平面划分成若干区域。 首先,对于端点为p1和p2的直线段,我们要确定端点p1在前面划分的9个区域中的哪一个。我们只考虑如图的三种,其他6个区域可以通过对称变换转到我们讨论的三种。 端点p1 端点P1 端点p1 P1在裁剪窗口内部 P1在一个边区域中 P1在一个角区域中 三种情况 1、端点P1在裁剪窗口内部 此时端点P2一定是在裁剪窗口外面,因为两个端点都在裁剪窗口内的情况以讨论过。 p1 L R T B p2 L1 L2 L3 L4 如果端点p1和p2连线的斜率大小(待裁剪的直线段的斜率)在射线L2和L3的斜率之间,那么另一端点p2在直线L2和L3之间的区域。此时我们再采用求交点运算。 设p1(x1,y1)和p2(x2,y2),待裁剪的直线段的斜率k=(y2-y1)/(x2-x1),那么该直线段方程是y=y1+k*(x-x1)。 p2点在直线L2和L3之间的区域时,待裁剪的直线段与裁剪窗口的右边界(x=XR)相交。交点的横坐标是x=XR,将横坐标带入直线方程就得到了交点的纵

文档评论(0)

1亿VIP精品文档

相关文档