计算机图形学应用题例题.docx
- 文档编号:10720701
- 上传时间:2023-02-22
- 格式:DOCX
- 页数:14
- 大小:141.88KB
计算机图形学应用题例题.docx
《计算机图形学应用题例题.docx》由会员分享,可在线阅读,更多相关《计算机图形学应用题例题.docx(14页珍藏版)》请在冰豆网上搜索。
计算机图形学应用题例题
应用题例题
1、给定四次Bezier曲线的控制顶点P0(25,0)、P1(25,50)、P2(75,100)、P3(100,75)、P4(100,25)。
(1)计算该Bezier曲线升阶一次后的控制顶点。
(2)说明升阶后的新特征多边形与原始特征多边形及相应Bezier曲线的关系。
(3)绘制相应的Bezier曲线升阶图形。
解:
(1)根据下面n次Bezier曲线升阶公式计算新的控制顶点:
Pi*=i/(n+1)Pi-1+[1–i/(n+1)]Pi(i=0,1,…,n+1,其中,P-1=Pn+1=0)
得四次Bezier曲线升阶为五次Bezier曲线后的控制顶点为:
P0*=0+P0=P0=(25,0)
P1*=(1/5)P0+(4/5)P1=(25,40)
P2*=(2/5)P1+(3/5)P2=(55,80)
P3*=(3/5)P2+(2/5)P3=(85,90)
P4*=(4/5)P3+(1/5)P4=(100,60)
P5*=(5/5)P4+0=(100,25)
(2)新特征多边形的顶点Pi*是以参数值i/(n+1)按分段线性插值从原始特征多边形得出的。
升阶后的新特征多边形P0*P1*P2*P3*P4*P5*在原始特征多边形P0P1P2P3P4的凸包内,且新特征多边形更靠近曲线。
(3)Bezier曲线升阶图形如下所示:
2、给定六次Bezier曲线的控制顶点P0(30,10)、P1(30,35)、P2(40,60)、P3(57.5,80)、P4(80,106.7)、P5(105,100)、P6(130,0)。
(1)计算该Bezier曲线降阶一次后的控制顶点。
(2)说明降阶后的新特征多边形与原始特征多边形及相应Bezier曲线的关系。
(3)绘制相应的Bezier曲线降阶图形。
解:
(1)在靠近P0处,根据下面n次Bezier曲线降阶公式计算新的控制顶点:
Pi*=(nPi–iPi-1*)/(n-i)(i=0,1,…,n-1,其中,P-1*=0)
在靠近Pn处,根据下面n次Bezier曲线降阶公式计算新的控制顶点:
Pi-1*=[nPi–(n-i)Pi*]/i(i=n,n-1,…,1,其中,Pn+1*=0)
得六次Bezier曲线降阶为五次Bezier曲线后的控制顶点为:
P0*=(6P0-0)/6=P0=(30,10)
P1*=(6P1-P0*)/5=(30,40)
P2*=(6P2-2P1*)/4=(45,70)
P5*=(6P6-0)/6=P6=(130,0)
P4*=(6P5-P5*)/5=(100,120)
P3*=(6P4-2P4*)/4=(70,100)
(2)原始特征多边形P0P1P2P3P4P5P6在降阶后的新特征多边形P0*P1*P2*P3*P4*P5*的凸包内,且新特征多边形比原始特征多边形更远离曲线。
(3)Bezier曲线降阶图形如下所示:
3、设计一个由点光源L,一个透明的球体O1在前,后跟一个不透明物体O2构成的场景。
要求:
(1)根据该场景绘出进行光线跟踪的基本过程的示意图。
(2)设定光线跟踪的终止条件。
(3)针对设计的场景示意图写出得到视屏上的一个像素点的光强(即它相应的颜色值)的光线跟踪函数的递归调用过程。
解:
(1)根据题目要求设计一个由点光源L,一个透明的球体O1在前,后跟一个不透明物体O2构成的场景及其光线跟踪的过程的示意图如下所示:
(2)根据上述示意图,可设定如下光线跟踪的终止条件:
(a)某光线未碰到任何物体。
(b)O1内部反射光线跟踪至R2终止。
(3)根据所设计场景示意图,得到视屏上的一个像素点的光强(即它相应的颜色值)的光线跟踪函数的递归调用过程如下:
第一层递归调用:
RayTracing(视点,视线方向E,1,color)
第二层递归调用:
RayTracing(P1,T1方向,Wt,It1)
第三层递归调用:
RayTracing(P2,T2方向,Wt*Wt,It2)
第四层递归调用:
RayTracing(P3,R3方向,Wt*Wt*Wr,Ir3)
第三层递归调用:
RayTracing(P2,R2方向,Wt*Wr,Ir2)
第二层递归调用:
RayTracing(P1,R1方向,Wr,Ir1)
4、给定一个只由点光源L、两个透明的球体O1与O2和一个不透明物体O3构成的场景,假设对场景进行光线跟踪的基本过程如下图所示。
假设光线跟踪的终止条件为:
(1)某光线未碰到任何物体。
(2)O1中反射光线跟踪至R2终止。
(3)O2中反射光线跟踪至R5终止。
要求:
(1)给出光线跟踪算法的伪码描述。
(2)根据下图按照光线跟踪算法写出得到视屏上的一个像素点的光强color(即它相应的颜色值)的计算式子和计算过程。
解:
(1)设start为起点、direction为光线方向、weight为光线的衰减权值,其初值为1、color为返回方向上的颜色值、MinWeight为指定的一个最小值,低于此值时,光强对于视点的光强的贡献忽略不计;Wr和Wt为反射和透射时的权值衰减系数。
则光线跟踪算法的伪码描述如下:
RayTracing(start,direction,weight,color){
if(weight else{计算光线与所有物体的交点中离start最近的点; if(没有交点)color=black; else{Ilocal=在交点处用局部光照模型计算出的光强; 计算反射方向R;RayTracing(最近的交点,R,weight*Wr,Ir); 计算折射方向T;RayTracing(最近的交点,T,weight*Wt,It); color=Ilocal+Kr*Ir+Kt*It; }}returncolor;} (2)根据场景示意图,设在交点P1、P2、P3、P4、P5处用局部光照模型计算出的光强分别表示为Ip1、Ip2、Ip3、Ip4和Ip5,相应反射系数和折射系数依次为Kr1、Kr2、Kr3、Kr4、Kr5和Kt1、Kt2、Kt3、Kt4、Kt5,则得到视屏上的一个像素点的光强color(即它相应的颜色值)的计算式子和计算过程如下: (a)交点P1处: color=Ip1+Kr1*Ir1+Kt1*It1 =Ip1+0+Kt1*It1//R1方向满足终止条件,Ir1为零。 (b)交点P2处: It1=Ip2+Kr2*Ir2+Kt2*It2 =0+0+Kt2*It2//P2在物体内部,R2方向满足终止条件,Ip2和Ir2为零。 (c)交点P3处: It2=Ip3+Kr3*Ir3+Kt3*It3 =Ip3+Kr3*Ir3+0//O3为不透明物体,It3为零。 (d)交点P4处: Ir3=Ip4+Kr4*Ir4+Kt4*It4 =Ip4+0+Kt4*It4//R4方向满足终止条件,Ir4为零 (e)交点P5处: It4=Ip5+Kr5*Ir5+Kt5*It5 =0+0+0//P5在物体内部,R5、T5方向满足终止条件,Ip5、Ir5、It5为零。 (f)最终结果: color=Ip1+Kr1*Ir1+Kt1*It1=Ip1+Kt1*(Kt2*(Ip3+Kr3*Ip4) =Ip1+Kt1*Kt2*Ip3+Kt1*Kt2*Kr3*Ip4 5、根据Bezier曲线的deCasteljau递推算法生成由五个点(包含起点和终点)连接而成的近似三次Bezier曲线(取初始参数t=1/2)。 要求: 写出各点的生成步骤,并画出该近似Bezier曲线。 解: (1)设三次Bezier曲线的原始特征多边形为ABCD,其中A和D为三次Bezier曲线上的顶起点和终点。 则生成近似三次Bezier曲线的步骤如下: (a)计算AB、BC、CD三条边位于1/2处的点A1、B1、C1,连接A1B1、B1C1;再计算A1B1、B1C1位于1/2处的点A11、B11,连接A11B11,计算其1/2处点M0,则M0即为所求Bezier曲线的第1个近似点。 (b)对多边形AA1A11M0的三条边AA1、A1A11、A11M0和多边形M0B11C1D的三条边MOB11、B11C1、C1D用与上相同的方法计算得到两个1/2处点M1、M2,即为所求Bezier曲线的第2、3个近似点。 (c)依次连接五个点A、M1、M0、M2、D所得的折线即为所求的近似三次Bezier曲线。 (2)近似Bezier曲线的图形如下: 6、设计一个由点光源L,一个不透明物体O1在前,后跟一个透明球体O2构成的场景。 要求: (1)根据该场景绘出进行光线跟踪的基本过程的示意图。 (2)设定光线跟踪的终止条件。 (3)针对设计的场景示意图,描述得到视屏上的一个像素点的光强(即它相应的颜色值)的过程。 解: (1)根据题目要求设计一个由点光源L,一个不透明物体O1在前,后跟一个透明球体O2构成的场景及其光线跟踪的过程的示意图如下所示: (2)根据上述示意图,可设定如下光线跟踪的终止条件: (a)某光线未碰到任何物体。 (b)O2内部反射光线跟踪至R3终止 (3)根据所设计场景示意图,得到视屏上的一个像素点的光强(即它相应的颜色值)的过程可描述如下: (1)从视点出发经过视屏一个像素点的视线E传播到达球体O1,与其交点为P1。 从P1向光源L作一条阴影测试线,其间没有遮挡的物体,用局部光照明模型计算光源对P1在其视线E的方向上的光强,作为该点的局部光强。 同时,由于物体O1是非透明的,只需要继续跟踪该点处反射光线R1,它对P1点的光强也有贡献。 (2)对反射光线R1方向进行跟踪,来计算该光线的光强贡献。 反射光线R1与O2相交于点P2,作P2与光源L的阴影测试线,没有物体遮挡,计算该处的局部光强。 同时,产生了反射光线R2和折射光线T2,在反射光线R2方向上的跟踪终止。 (4)对折射光线T2进行跟踪。 T2与物体O2交于点P3。 由于P3点在物体内部,假设它的局部光强为零。 此时,反射光线R3和折射光线T3光线满足跟踪终止条件,终止跟踪过程。 最终所得的光强即为视屏上的一个像素点的光强,也就是它相应的颜色值。 7、给定由顶点序列: P1(100,500)、P2(200,200)、P3(400,200)、P4(600,300)、P5(300,400)构成的多边形P和由Xmin=100、Ymin=100、Xmax=500、Ymax=400构成的窗口W。 要求: 根据Sutherland—Hodgman多边形剪裁算法的基本思想,描述用窗口W裁剪多边形P的过程,并给出剪裁前和用窗口W的各条边框剪裁多边形P的结果示意图。 解: 用窗口W裁剪多边形P之前P与窗口关系如图1所示。 用窗口W的各条边框剪裁多边形P的步骤: (1)先将P的各边先与窗口左边框求交,求交后删去多边形在窗之左边的部分,得多边形P1P2P3P4P5,如图2所示。 (2)再将结果多边形P1P2P3P4P5的各边先与窗口下边框求交,求交后删去多边形在窗之下边的部分,得多边形P1P2P3P4P5,如图3所示。 (3)再将结果多边形P1P2P3P4P5的各边先与窗口右边框求交,由于多边形全在窗之左边,所以结果多边形依然是P1P2P3ABP5,如图4所示。 (4)再将结果多边形P1P2P3ABP5的各边先与窗口上边框求交,求交后删去多边形在窗之上边的部分,得多边形DP2P3ABC,如图5所示。 故用窗口W裁剪多边形P的结果多边形为DP2P3ABC。 说明: 用窗口W的各条边框剪裁多边形P时,选择边框的顺序可以不同。 8、给定被测点P(2,-1)和由点A(3,-2)、B(4,5)、C(2,2)、D(-3,-4)、E(0,-2)组成的多边形ABCDE。 要求: 绘制图形,并根据图形分别用射线法和改进的弧长法来检测点P和多边形ABCDEF的包含关系,要求写出检测过程。 解: (1)绘制原始多边形ABCDE和在如下左图所示,再绘制将坐标原点移到被测点P(2,1)后的多边形ABCDE如下右图所示: (2)射线法: 由上图1可知,由于从点P处向y轴负无穷方向作射线,射线与多边形ABCDE有一个交点,是奇数。 因此,被测点P在ABCDE内部。 (3)改进的弧长法: 将坐标原点移到被测点P(2,-1)后,各点坐标变为A(1,-1)、B(2,6)、C(0,3)、D(-5,-3)、E(-2,-1)。 由于从A->B->C->D->E->A的过程中,因为C在坐标轴上,视为在第一象限内,而D在第三象限内,故C->D从第一象限到第三象限,逆时针跨了两个象限,故需要计算f=(-3)*0-3*(-4)=12,而f>0,则C->D时将弧长代数和增加π。 因此,从A->B->C->D->E->A的累加弧长代数和为: π/2+0+π+0+π/2=2π。 因此,被测点P在ABCDE内部。 9、分别应用直线DDA法、Bresenham算法生成由以A(1,3)和B(6,5)为端点的直线段。 要求: 计算各点的坐标值,并通过描点连线画出直线段AB。 解: (1)用DDA法画直线段AB: line: A(1,3),B(6,5),k=dy/dx=0.4<1。 xint(y+0.5)y+0.5 133+0.5 233+0.4+0.5 343+0.8+0.5 443+1.2+0.5 553+1.6+0.5 653+2.0+0.5 (2)用Bresenham算法画线段AB: line: A(1,3),B(6,5),k=dy/dx=0.4<1。 xye 13-0.5 23-0.5+0.4=-0.1 34-0.1+0.4=0.3-1=-0.7 44-0.7+0.4=-0.3 55-0.3+0.4=0.1-1=-0.9 65-0.9+0.4=-0.5
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 图形学 应用题 例题
![提示](https://static.bdocx.com/images/bang_tan.gif)