计算机图形学是20世纪60年代以后,随着计算机技术(包括计算机硬件技术和软件技术)的发展和完善而形成的一门新兴学科。下面是小编为大家收集整理的计算机图形学学习心得,欢迎大家阅读。
一、实验目的
了解梁友栋算法和编码裁剪算法并利用该算法思想实现某一图形或直线段的裁剪,加深对梁友栋算法和编码裁剪算法的理解。
二、实验内容
利用梁友栋算法(参数化线段裁剪算法)或编码裁剪算法变成实现对直线段或者任一图形的裁剪。
三、实验原理
梁友栋算法简介如下:
设线段两端点坐标分别为P1(x1,y1)和P2(x2,y2),则其参数化直线方程可写成下列形式:
0≤u≤1
当u=0时,得点P1,当u=1时,得点P2。线段的裁剪条件可以由下面的不等式表示: Wxl≤x1﹢uΔx≤Wxr;Wyb≤y1﹢uΔy≤Wyt
这四个不等式可以表示为:upk≤qk k=1,2,3,4
其中,参数p,q定义为:
p1﹦-Δx, q1﹦x1﹣Wxl
p2﹦Δx, q2﹦Wxr﹣x1
p3﹦-Δy, q3﹦y1﹣Wyb
p4﹦Δy, q4﹦Wyt﹣y1
下标k=1,2,3,4分别对应裁剪窗口的左、右、下、上四条边界线。如果线段平行于裁剪窗口的某两边界,则必有相应的pk﹦0,如果还满足qk<0,则线段的端点位于窗口外部,即线段在窗口外,应该舍弃。如果qk≥0,线段在窗口内。当pk<0时,直线是从裁剪窗口第k条边界线的外部延伸到内部。当pk>0时,直线是从裁剪窗口第k条边界线的内部延伸到外部。当pk不等于零时,可以计算出线段与第k条裁剪窗口边界线的交点参数: 根据定义,对于每条线段,pk中必有两个小于零,而另两个大于零。对于小
阅读全文