计算机图形学课后习题答案部分

A 4.6 2 1 B 2 5 1 C 0 -1 1 可以写出顶点坐标:A'(4.6,2) B'(2,5) C'(0,-1)

4.用编码裁剪算法裁剪线段P1(0,2)P2(3,3)。要求写出:(164)

1)窗口边界划分的9个区间的编码原则; 2)线段端点的编码; 3)裁剪的主要步骤; 4)裁剪的输出结果。

解:线段P1(0,2)P2(3,3)的编码裁剪

100

y

1 4 3 000P1(0,2

) 2

1 S

0100

0110

1000

P2(3,3) 0000

0010 1010

1 0 101

0

1 2 3 4 x

1)窗口边界划分的9个区间的编码原则; 编码 窗口外 条件 D3 上边top y>wyt wyt=4 D2 下边bottom ywxr wxr=4 D1=1 D0 左边left x

P1 code1=0001, P2 code2=0000 3)裁剪的主要步骤;

输入 P1(0,2), P2(3,3), wyt=4, wyb=1, wxr=4, wxl=1;

P1 code1=0001, P2 code2=0000; code1|code2≠0 不能简取;code1&code2=0 不能简弃;

求线段 P1(0,2)P2(3,3)和 窗口左界wxl=1 的交点,

把 wxl=1 代入直线方程求出 y=kx+b=(1/3)*x+2=2.3

交点坐标S(1,2.3)替换端点坐标P1(0,2),使P1坐标为(1,2.3); 去掉P1S线段,输出线段P1P2。

4)裁剪的输出结果:P1(1,2.3)P2(3,3)。

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4