Liang-Barsky算法剪裁实例

Liang-Barsky算法剪裁实例
在这里插入图片描述
1:写出线段头尾横纵坐标、窗口左下右上坐标

	A(-2,6)  x1=-2,y1=6;
	B(7,-2)  x2=7,y2=-2;
	窗口:wx1=0,wxr=4,wyb=0,wyt=3;

2:求AB的▲x和▲y,Pi,qi,Ui=qi/Pi

	P1=-▲x=-(7+2)=-9   q1=w1-wxl=-2  U1=2/9
	P2=▲x=(7+2)=9     q2=wxr-xl=6  U2=2/3
	P3=-▲y=-(-2-6)=8    q3=y1-wyb=6  U3=3/4
	P2=▲y=(-2-6)=-8     q4=wyt-y1=6  U4=3/8

3:在P小于零的里面选大的在P大于零的里面选小的

	Umax=max(0,Uk|Pk<0)=max(0,2/9,3/8)=3/8
	Umin=min(1,Uk|Pk>0)=min(1,2/3,3/4)=2/3

4:将Umax和Umin带入
x=x1+U*(x2-x1)
y=y1+U*(y2-y1)

	算出两交点的横纵坐标:xmax=11/8,xmin=4;
						ymax=3,ymin=2/3;
	新的A'(11/8,3)B'(4,2/3)即为要取的线段。

猜你喜欢

转载自blog.csdn.net/qq_43218276/article/details/107025733