裁剪区域内部可以表达为两个不等式: $$\begin{aligned} &x_{L}
3. 分情况讨论 - $ d=0 :$ $ q<0 $, 说明直线与裁剪框平行,并且位于裁剪框的外面,直线为不可见,可抛弃,直接结束; $ q\geq0 $,说明直线在它所平行的窗口边界的内部,还需进一步计算确定直线是否在窗口内、外、或者相交 - d<0 $,说明直线是从裁剪边界的外部延伸到内部 d>0 $, 说明直线是从裁剪边界的内部延伸到外部 对于$ d\neq0 $,可以利用式子计算直线与边界k的交点的参数$ u $。对于每条直线,可以计算直线位于裁剪窗口内线段的参数$ d_1 $和$ d_2 $. $ d_1 $的值是由那些使得直线是从外部延伸到内部的窗口边界决定。对于这些边计算$ r_i=q_i/d_i $,$ d_i= max(r_i,0) $. $ d_2 $的值是由那些使得直线是从内部延伸到窗口边界决定,$ d_2=min(r_i,1) $. 如果$ d_1 $$ d_2 $这条直线完全在窗口的外面,不可见,可抛弃,否则,根据参数$ u $的两个值,计算出裁剪后线段的端点. #### 代码 #### > 代码的思路:画一个矩形,来作为一个裁剪窗口,然后画一条黄色的直线。如果直线没有经过矩形区域,则为黄色,如果穿过矩形区域,则使用Liang-Barskey算法来进行裁剪,裁剪之后,再进行画一条黑色的直线来覆盖。 undefined

