四、参数化裁剪算法
参数化裁剪算法又称为CyrusBeck裁剪算法。假设裁剪区域是一个凸多边形(见图3.13),其边数为n。Ai是它的第i条边界Ei上的一点,Ni为此处的法矢量。边界Ei将平面分为两半:Ni指向该边界的内侧半平面,它的反方向则称为该边界的外侧半平面。线段
的参数方程为:
。
对于线段上的任意一点P(t):
1)
>0,P(t)在多边形内;
2)=0,P(t)在多边形边界及其延长线上;
3)<0,P(t)在多边形外;
P(t)在凸多边形内的充要条件是:
≥0,
,i=1,2, …,n。
|