《计算机图形学》答案,第六章
- 格式:doc
- 大小:80.50 KB
- 文档页数:6
习题参考答案6.1交互式绘图系统基本的交互任务有哪些?答:1定位,2笔画,3定值,4选择,5拾取,6字符串,7三维交互。
6.2编写程序实现橡皮筋技术画直线和圆。
答:思想:首先将绘图模式设定为异或。
画直线时,点击鼠标左键,光标所在位置即为直线的起点,用鼠标牵引光标移动,当前光标所在位置即认为是直线的终点。
光标从原位置移动到新位置时,首先在起点与原位置之间画一条直线,因为是异或模式,原有直线变为不可见,然后再在起点与新位置之间画一条直线,作为当前直线。
画圆时,点击鼠标左键,光标所在位置即为圆的圆心,用鼠标牵引光标移动,当前光标所在位置与圆心的距离即被认为是圆的半径。
当鼠标牵引光标从原位置移动到新位置时,首先在以圆心与原位置的距离为半径画圆,因为是异或模式,原有的圆变为不可见,然后再以圆点与新位置的距离为半径画圆,作为当前圆。
6.3引力场是人机交互中的常见的辅助技术,它能给用户带来什么便利?设计人员在设计引力场的时候需要注意什么问题?答:用户用光标进行选图操作时,引力场的使用可使光标较容易地定位在选择区域小的图形上。
设计人员在设计引力场时,引力场的大小要适中,外形应与其所含图形的外形一致。
6.4图形模式和图像模式下,拖拽的处理方法有什么不同?答:图形模式下的拖拽是在异或的绘图模式下进行的。
首先在原位置再次绘制要拖拽图形,由于自身异或的结果为空,原位置处的图形变为不可见,然后在新位置处绘制图形,实现了图形的拖拽。
而图像模式下的拖拽,则是进行了图像的整体移动,即首先在要经过位置处按拖动图像大小保存原有屏幕图像,然后将拖动的图像整体移动到该位置,当图像离开该位置而移动到下一个新位置时,再恢复该位置保存的屏幕图像。
图形模式不需要保存屏幕图像,只需在原位置重绘图形。
图像模式需要保存图像经过处的屏幕图像,并在移开后重新显示保存的屏幕图像。
6.5请叙述三种输入控制模式的流程。
答:请求模式下,用户在接收到应用程序请求后才输入数据;应用程序等待用户输入数据,输入结束,才进行处理。
第六章曲线和曲面3、参照Hermite三次曲线的几何形式,试用B[P0 P1Pu P1u Puu P1uu]T , 推导相应五次曲线的调和函数和系数矩阵M。
解:设Hermite五次曲线的几何形式为:P(t)=a5t5 + a4t4 + a3t3 + a2t2 + a1t + a0其中 t∈[0,1]按题意,已知曲线两端点的坐标值P0 P1曲线两端点的一阶导数值P0u P1u曲线两端点的二阶导数值P0uu P1uu则求出系数a5,a4,a3,a2,a1,a0则P(t)就可确定;由于P(t)= a5t5 + a4t4 + a3t3 + a2t2 + a1t + a0其中 t∈[0,1]P’(t)=5a5t4 + 4a4t3 + 3a3t2 + 2a2t + a1P”(t)=20a5t3+12a4t2+6a3t+2a2P0=P(0)=a0P1=P(1)=a5+a4+a3+a2+a1+a0P0’=P’(0)=a1P1’=P’(1)=5a5+4a4+3a3+2a2+a1P0”=P”(0)=2a2P1”=P”(1)=20a5+12a4+6a3+2a2所以 a0 = P(0)a1 =P’(0)a2 =P”(0)/2a3 = 10P(1)- 10P(0) - 4P’(1) - 6P’(0) + P”(1)/2 - 3P”(0)/2 a4 =-15P(1)+ 15P(0) + 7P’(1) + 8P’(0) - P”(1) - 3P”(0)/2 a5 = 6P(1)- 6P(0) - 3P’(1) - 3P’(0) - P”(0)/2 + P”(1)/2 =>P(t)=[ -6P(0) + 6P(1) - 3P’(0) - 3P’(1) - P”(0)/2 + P”(1)/2] t5+[+15P(0) - 15P(1) + 8P’(0) + 7P’(1) + 3P”(0)/2 ] t4+[-10P(0) + 10P(1) - 6P’(0) - 4P’(1) - 3P”(0)/2 + P”(1)/2] t3+ [ P”(0)/2] t2 + [P’(0)] t +P(0)整理得:P(t) = (-6t5 + 15t4 - 10t3 + 1) P(0) + (6t5-15t4+10t3) P(1)+ (-3t5 + 8t4 -6t3 + t) P’(0) + (-3t5 +7t4-4t3) P’(1)+ (-t5/2+ 3t4/2-3t3/2+t2/2) P”(0) + (t5/2-t4+t3/2) P”(1)故调和函数为:F(0)= -6t5 + 15t4 - 10t3 + 1F(1)= 6t5 - 15t4 + 10t3F(2)= -3t5 + 8t4 - 6t3 + tF(3)= -3t5 + 7t4- 4t3F(4)= -t5/2 + 3t4/2 -3t3/2 + t2/2F(5)= t 5/2 - t 4 + t 3/2 系数矩阵为:- 6 6 -3 -3 -1/2 1/2 15 -15 8 7 3/2 -1 -10 10 -6 -4 -3/2 1/2 0 0 0 0 1/2 0 0 0 1 0 0 0 1 0 0 0 0 09.试求两段三次Hermite 曲线达C 1和G 1连续的条件 解:两段三次Hermite 曲线分别为:Q 1(t 1)=a 3 t 13 + a 2 t 12+ a 1 t 1+ a 0 t 1∈[0 1] Q 2(t 2)=b 3 t 23 + b 2 t 22+ b 1 t 2+ b 0 t 2∈[0 1] (1)依据G 1连续充要条件为: Q 1(1)和Q 2(0)在P 点处重合,且其在P 点处的切矢量方向相同,大小不等即 Q 1(1)= Q 2(0), Q 1’(1)≠ Q 2’(0) ,Q 1”(1)= Q 2”(0) 而 Q 1(1)= a 3 + a 2 + a 1 + a 0 Q2(0)= b 0Q 1’(t 1)=3a 3 t 12 + 2a 2 t 1+ a 1Q 2’(t 2)=3b 3 t 22 + 2b 2 t 2+ b 1Q 1’(1)=3a 3 + 2a 2+ a 1 Q 2’(0)= b 1Q 1”(t 1)=6a 3 t 1 + 2a 2 Q 2”(t 2)=6b 3 t 2 + 2b 2 Q 1”(1)=6a 3 + 2a 2 Q 2”(0)= 2b 2=> 两段三次Hermite 曲线:Q 1(t 1)=a 3 t 13 + a 2 t 12+ a 1 t 1+ a 0 t 1∈[0 1] Q 2(t 2)=b 3 t 23 + b 2 t 22+ b 1 t 2+ b 0 t 2∈[0 1]要达到G 1连续,其系数必须满足下列关系式: a 3 + a 2 + a 1 + a 0 = b 0 3a 3 + 2a 2 + a 1 ≠ b 1 6a 3 + 2a 2 =2 b 2(2)依据C 1连续充要条件为: Q 1(1)和Q 2(0)在P 点处重合,且其在P 点处的切矢量方向相同,大小相等即 Q 1(1)= Q 2(0), Q 1’(1)= Q 2’(0) ,Q 1”(1)= Q 2”(0) 而 Q 1(1)= a 3 + a 2 + a 1 + a 0 Q2(0)= b 0Q 1’(t 1)=3a 3 t 12 + 2a 2 t 1+ a 1Q 2’(t2)=3b3t22 + 2b2t2+ b1Q1’(1)=3a3+ 2a2+ a1Q 2’(0)= b1Q 1”(t1)=6a3t1+ 2a2Q 2”(t2)=6b3t2+ 2b2Q 1”(1)=6a3+ 2a2Q 2”(0)= 2b2=> 两段三次Hermite曲线:Q1(t1)=a3t13 + a2t12+ a1t1+ at1∈[0 1]Q 2(t2)=b3t23 + b2t22+ b1t2+ bt2∈[0 1]要达到C1连续,其系数必须满足下列关系式:a3+ a2+ a1+ a= b3a3+ 2a2+ a1 =b16a3 + 2a2=2 b210.给定四点P1(0,0,0),P2(1,1,1),P3(2,-1,-1),P4(3,0,0),用其作为特征多边形来构造一条三次Bezier曲线,并计算参数为0,1/3,2/3,1的值。
第六章1.请简述朗伯(Lambert )定律。
设物体表面在P 点法线为N ,从P 点指向光源的向量为L ,两者夹角为θ,则点P 处漫反射光的强度为:I d =I p k d cos θ式中 : I d ——表面漫反射光的亮度;I p ——入射光的光亮度;K d ——漫射系数(决定于表面材料及入射光的波长) 0≤K d ≤l ; θ——入射光线与法线间的夹角,0≤θ≤π/2。
并且,当物体表面垂直于入射光方向时(N 、L 方向一致)看上去最亮,而θ越来越大,接近90°时,则看上去越来越暗。
2.试写出实现哥罗德(Gouraud )明暗处理的算法伪代码。
deltaI = (i2 - i1) / (x2 - x1);for (xx = x1; xx < x2; xx++){ int offset = row * CScene.screenW + xx;if (z < CScene.zBuf[offset]){ CScene.zBuf[offset] = z;CScene.frameBuf[offset] = i1;}z += deltaZ; i1 += deltaI;} 3. 在Phong 模型n s p d p a a V R K I N L K I K I I )()(⋅+⋅+=中,三项分别表示何含义?公式中的各个符号的含义指什么?三项分别代表环境光、漫反射光和镜面反射光。
a I 为环境光的反射光强,p I为理想漫反射光强,a K 为物体对环境光的反射系数,d K 为漫反射系数,s K 为镜面反射系数,n 为高光指数,L 为光线方向,N 为法线方向,V 为视线方向,R 为光线的反射方向。
4.试写出实现Phong (冯)明暗方法的伪代码。
for (xx = x1; xx < x2; xx++){ int offset = row * CScene.screenW + xx;if (z < CScene.zBuf[offset]){ CScene.zBuf[offset] = z;pt = face.findPtInWC(u,v);float Ival = face.ptIntensity;CScene.frameBuf[offset] = Ival;}u += deltaU;z += deltaZ;p1.add(deltaPt);n1.add(deltaN);}5.请简述自身阴影的生成方法。
计算机图形学作业答案第一章序论第二章图形系统1.什么是图像的分辨率?解答:在水平和垂直方向上每单位长度(如英寸)所包含的像素点的数目。
2.计算在240像素/英寸下640×480图像的大小。
解答:(640/240)×(480/240)或者(8/3)×2英寸。
3.计算有512×512像素的2×2英寸图像的分辨率。
解答:512/2或256像素/英寸。
第三章二维图形生成技术1.一条直线的两个端点是(0,0)和(6,18),计算x从0变到6时y所对应的值,并画出结果。
解答:由于直线的方程没有给出,所以必须找到直线的方程。
下面是寻找直线方程(y =mx+b)的过程。
首先寻找斜率:m =⊿y/⊿x =(y2-y1)/(x2-x1)=(18-0)/(6-0) = 3接着b在y轴的截距可以代入方程y=3x+b求出 0=3(0)+b。
因此b=0,所以直线方程为y=3x。
2.使用斜截式方程画斜率介于0°和45°之间的直线的步骤是什么?解答:(1)计算dx:dx=x2-x1。
(2)计算dy:dy=y2-y1。
(3)计算m:m=dy/dx。
(4)计算b: b=y1-m×x1(5)设置左下方的端点坐标为(x,y),同时将x end设为x的最大值。
如果dx < 0,则x=x2、y=y2和x end=x1。
如果dx > 0,那么x=x1、y=y1和x end=x2。
(6)测试整条线是否已经画完,如果x > x end就停止。
(7)在当前的(x,y)坐标画一个点。
(8)增加x:x=x+1。
(9)根据方程y=mx+b计算下一个y值。
(10)转到步骤(6)。
3.请用伪代码程序描述使用斜截式方程画一条斜率介于45°和-45°(即|m|>1)之间的直线所需的步骤。
假设线段的两个端点为(x1,y1)和(x2,y2),且y1<y2int x = x1, y = y1;float x f, m = (y2-y1)/(x2-x1), b = y1-mx1;setPixel( x, y );/*画一个像素点*/while( y < y2 ) {y++;x f = ( y-b)/m;x = Floor( x f +0.5 );setPixel( x, y );}4.请用伪代码程序描述使用DDA算法扫描转换一条斜率介于-45°和45°(即|m|≤1)之间的直线所需的步骤。
高级计算机图形学原理与实践智慧树知到课后章节答案2023年下西安科技大学第一章测试1.计算机图形学与计算几何之间的关系是( ) A:计算几何是计算机图形学的前身 B:两门毫不相干的学科 C:学术上的同义词 D:计算机图形学以计算几何为理论基础答案:计算机图形学以计算几何为理论基础2.Edwin Catmull首次提出了计算机图形学的概念。
()A:错 B:对答案:错3.计算机辅助设计与制造(CAD/CAM)的代表软件有哪些?()A:3D MaxB:Maya C:AutoCAD D:Unity 答案:3D Max;AutoCAD4.虚拟现实不属于计算机图形学的应用领域。
()A:错 B:对答案:错5.计算机图形显示器一般使用什么颜色模型?( ) A:RGB B:HLS C:CMY D:HSV 答案:RGB6.RGB三基色通过适当的混合能产生所有颜色。
()A:错 B:对答案:对第二章测试1.下面哪些方法可以减轻走样现象()。
A:非加权区域采样 B:降低空间分辨率 C:提高空间分辨率 D:加权区域采样答案:非加权区域采样 ;提高空间分辨率 ;加权区域采样2.利用数值微分算法进行直线的扫描转换不需要进行浮点数的加减法。
()A:对 B:错答案:错3.Brenham算法进行直线绘制, x为主方向,当中点误差项d>0时,y方向上应不走步。
()A:错 B:对答案:错4.走样是光栅扫描器的一种固有属性,不可避免,只能减轻。
()A:错 B:对答案:对5.有效边表算法中每一条扫描线交点的个数只能是偶数。
()A:错 B:对答案:对第三章测试1.n次B样条曲线中,更改一个控制顶点,最多影响()段曲线。
A:n+1 B:nC:1 D:所有答案:n+12.下面哪些性质是NURBS曲面不具备的()。
A:仿射变换不变性 B:局部修改性 C:凸包性 D:变差缩减小答案:变差缩减小3.曲线的插值拟合方法通过每个型值点。
()A:对 B:错答案:对4.B样条曲线曲面都可以精确的表示二次曲线弧或曲面。
第一章:P561、列出在你过去学习工作中用过与计算机图形学有关的程序c语言:#include <graphics.h>main(){int graphdriver = VGA, graphmode=VGAHI;initgraph(&graphdriver,&graphmode,””);setbkcolor(BLUE);setcolor(WHITE);setfillstyle(1,LIGHTRED);bar3d(100,200,400,350,100,1);floodfill(450,300,WHITE);floodfill(250,450,WHITE);setcolor(LIGHTGREEN);rectangle(450,400,500,450);floodfill(470,420,LIGHTGREEN);getch();closegraph();}JA V A语言:例1、画点Import java.io.*;Class point{int ax;int ay;int bx;int by;public point(int ax, int ay, int bx, int by){float k ; //计算斜率float b;k=(by-ay)/(bx-ax);b=ay-ax*k;system.out.println(“直线的方程为:y=”+k+”x”+”+”+b);}}例2、画矩形class DrawPanel extends Jpanel{public void paint(Graphics g){super.paint(g);Graphics2D g2= (Graphics 2D);Double leftx=200;Double topy=200;Double width=300;Double height=250;Rectangle2D rect= new Rectangle2D.double(leftx,topy,width,height);G2.draw(rect);}}2、列出你所用过的窗口系统中与观感有关的元素的功能,如图标、滚动棒、菜单等使用滚动条当文档、网页或图片超出窗口大小时,会出现滚动条,可用于查看当前处于视图之外的信息。
第六章曲线和曲面3、参照Hermite三次曲线的几何形式,试用B[P0 P1Pu P1u Puu P1uu]T , 推导相应五次曲线的调和函数和系数矩阵M。
解:设Hermite五次曲线的几何形式为:P(t)=a5t5 + a4t4 + a3t3 + a2t2 + a1t + a0其中 t∈[0,1]按题意,已知曲线两端点的坐标值P0 P1曲线两端点的一阶导数值P0u P1u曲线两端点的二阶导数值P0uu P1uu则求出系数a5,a4,a3,a2,a1,a0则P(t)就可确定;由于P(t)= a5t5 + a4t4 + a3t3 + a2t2 + a1t + a0其中 t∈[0,1]P’(t)=5a5t4 + 4a4t3 + 3a3t2 + 2a2t + a1P”(t)=20a5t3+12a4t2+6a3t+2a2P0=P(0)=a0P1=P(1)=a5+a4+a3+a2+a1+a0P0’=P’(0)=a1P1’=P’(1)=5a5+4a4+3a3+2a2+a1P0”=P”(0)=2a2P1”=P”(1)=20a5+12a4+6a3+2a2所以 a0 = P(0)a1 =P’(0)a2 =P”(0)/2a3 = 10P(1)- 10P(0) - 4P’(1) - 6P’(0) + P”(1)/2 - 3P”(0)/2 a4 =-15P(1)+ 15P(0) + 7P’(1) + 8P’(0) - P”(1) - 3P”(0)/2 a5 = 6P(1)- 6P(0) - 3P’(1) - 3P’(0) - P”(0)/2 + P”(1)/2 =>P(t)=[ -6P(0) + 6P(1) - 3P’(0) - 3P’(1) - P”(0)/2 + P”(1)/2] t5+[+15P(0) - 15P(1) + 8P’(0) + 7P’(1) + 3P”(0)/2 ] t4+[-10P(0) + 10P(1) - 6P’(0) - 4P’(1) - 3P”(0)/2 + P”(1)/2] t3+ [ P”(0)/2] t2 + [P’(0)] t +P(0)整理得:P(t) = (-6t5 + 15t4 - 10t3 + 1) P(0) + (6t5-15t4+10t3) P(1)+ (-3t5 + 8t4 -6t3 + t) P’(0) + (-3t5 +7t4-4t3) P’(1)+ (-t5/2+ 3t4/2-3t3/2+t2/2) P”(0) + (t5/2-t4+t3/2) P”(1)故调和函数为:F(0)= -6t5 + 15t4 - 10t3 + 1F(1)= 6t5 - 15t4 + 10t3F(2)= -3t5 + 8t4 - 6t3 + tF(3)= -3t5 + 7t4- 4t3F(4)= -t5/2 + 3t4/2 -3t3/2 + t2/2F(5)= t 5/2 - t 4 + t 3/2 系数矩阵为:- 6 6 -3 -3 -1/2 1/2 15 -15 8 7 3/2 -1 -10 10 -6 -4 -3/2 1/2 0 0 0 0 1/2 0 0 0 1 0 0 0 1 0 0 0 0 09.试求两段三次Hermite 曲线达C 1和G 1连续的条件 解:两段三次Hermite 曲线分别为:Q 1(t 1)=a 3 t 13 + a 2 t 12+ a 1 t 1+ a 0 t 1∈[0 1] Q 2(t 2)=b 3 t 23 + b 2 t 22+ b 1 t 2+ b 0 t 2∈[0 1] (1)依据G 1连续充要条件为: Q 1(1)和Q 2(0)在P 点处重合,且其在P 点处的切矢量方向相同,大小不等即 Q 1(1)= Q 2(0), Q 1’(1)≠ Q 2’(0) ,Q 1”(1)= Q 2”(0) 而 Q 1(1)= a 3 + a 2 + a 1 + a 0 Q2(0)= b 0Q 1’(t 1)=3a 3 t 12 + 2a 2 t 1+ a 1Q 2’(t 2)=3b 3 t 22 + 2b 2 t 2+ b 1Q 1’(1)=3a 3 + 2a 2+ a 1 Q 2’(0)= b 1Q 1”(t 1)=6a 3 t 1 + 2a 2 Q 2”(t 2)=6b 3 t 2 + 2b 2 Q 1”(1)=6a 3 + 2a 2 Q 2”(0)= 2b 2=> 两段三次Hermite 曲线:Q 1(t 1)=a 3 t 13 + a 2 t 12+ a 1 t 1+ a 0 t 1∈[0 1] Q 2(t 2)=b 3 t 23 + b 2 t 22+ b 1 t 2+ b 0 t 2∈[0 1]要达到G 1连续,其系数必须满足下列关系式: a 3 + a 2 + a 1 + a 0 = b 0 3a 3 + 2a 2 + a 1 ≠ b 1 6a 3 + 2a 2 =2 b 2(2)依据C 1连续充要条件为: Q 1(1)和Q 2(0)在P 点处重合,且其在P 点处的切矢量方向相同,大小相等即 Q 1(1)= Q 2(0), Q 1’(1)= Q 2’(0) ,Q 1”(1)= Q 2”(0) 而 Q 1(1)= a 3 + a 2 + a 1 + a 0 Q2(0)= b 0Q 1’(t 1)=3a 3 t 12 + 2a 2 t 1+ a 1Q 2’(t2)=3b3t22 + 2b2t2+ b1Q1’(1)=3a3+ 2a2+ a1Q 2’(0)= b1Q 1”(t1)=6a3t1+ 2a2Q 2”(t2)=6b3t2+ 2b2Q 1”(1)=6a3+ 2a2Q 2”(0)= 2b2=> 两段三次Hermite曲线:Q1(t1)=a3t13 + a2t12+ a1t1+ at1∈[0 1]Q 2(t2)=b3t23 + b2t22+ b1t2+ bt2∈[0 1]要达到C1连续,其系数必须满足下列关系式:a3+ a2+ a1+ a= b3a3+ 2a2+ a1 =b16a3 + 2a2=2 b210.给定四点P1(0,0,0),P2(1,1,1),P3(2,-1,-1),P4(3,0,0),用其作为特征多边形来构造一条三次Bezier曲线,并计算参数为0,1/3,2/3,1的值。
解:三次Bezier曲线的一般式为:P(t)=(1-t)3P1 +3t(1-t)2P2+ 3t2(1-t)P3+t3P4 t∈[0 1]其矩阵表达式为-1 3 -3 1 P1P(t)=[t3 t2 t 1] 3-6 3 0 P2-3 3 0 0 P31 0 0 0 P4-1 3 -3 1 0 0 0= [t3 t2 t 1] 3 -6 3 0 1 1 1-3 3 0 0 2 -1 -11 0 0 0 3 0 00 6 6=> P(t)=[t3 t2 t 1] 0 -9 -93 3 30 0 0然后分别令t=0, 1/3, 2/3, 1 计算上述式子即可当t=0时P(0)= 0 0 0 1 0 6 60 -9 -93 3 30 0 0= 0 0 0当t=1/3时P(1/3)= 1/33 1/32 1/3 1 0 6 60 -9 -93 3 30 0 0= 1 2/9 2/9当t=2/3时P(2/3)= (2/3)3 (2/3)22/3 1 0 6 60 -9 -93 3 30 0 0= 2 -2/9 2/9当t=1时P(0)= 1 1 1 1 0 6 60 -9 -93 3 30 0 0= 3 0 011.已知由P1(0,0,0),P2(2,2,-2),P3(2,-1,-1),P4(3,0,0),Q1(4,0,0),Q2(6,-2,1),Q3(8,-3,2),Q4(10,0,1)确定的两段三次Bezier曲线,试求其在P4(Q1)处达到C1连续的条件解:设两段连续的三次Bezier曲线分别为:P(t), Q(t) t∈[0 1]则P(t1)=(1-t1)3P1+3t1(1-t1)2P2+3t12(1-t1)P3+t13P4t1∈[0 1]Q(t2)=(1-t2)3Q1+3t2(1-t2)2Q2+3t22(1-t2)Q3+t23Q4t2∈[0 1]将P1、P2、P3、P4的分量分别代入P(t)得到相应的分量Px(t)= (1-t)3*0 + 3t(1-t)2*2 + 3t2(1-t)*2 + t3*4= 4t3– 6t2 + 6tPy(t)= (1-t)3*0 + 3t(1-t)2*2 + 3t2(1-t)*(-1) + t3*0= 9t3– 15t2 + 6tPz(t)= (1-t)3*0 + 3t(1-t)2*(-2) + 3t2(1-t)*(-1) + t3*0= -3t3 + 9t2 - 6t即三次Bezier曲线的矩阵式为:P(t)= [t3 t2 t 1] 4 9 -3 0-6 -15 9 06 6 -6 00 0 0 0将Q1、Q2、Q3、Q4的分量分别代入Q(t)得到相应的分量Qx(t)= (1-t)3*4 + 3t(1-t)2*6 + 3t2(1-t)*8 + t3*10= 6t + 4Qy(t)= (1-t)3*0 + 3t(1-t)2*(-2) + 3t2(1-t)*(-3) + t3*0= 3t3 + 3t2 - 6tQz(t)= (1-t)3*0 + 3t(1-t)2*1 + 3t2(1-t)*2 + t3*1= -2t3 + 3t即三次Bezier曲线的矩阵式为:Q(t)= [t3 t2 t 1] 0 3 -2 00 3 0 06 -6 3 04 0 0 4P(t)和Q(t)在P4(Q1)处达到C1连续的条件是:P(1)和Q(0) 在P4(Q1)处重合,且其在在P4(Q1)处的切矢量方向相同,大小相等即:P(t=1)= Q(t=0)P’(t=1)= Q’(t=0)12、把上题定义的二段三次Bezier曲线经过一次分割后,试求它们相应特征多边形的顶点坐标序列。
解:顶点坐标序列如图:P1P2 P11P3 P21 P12P4 P31 P22 P13Q2 Q11Q3 Q21 Q12Q4 Q31 Q22 Q13其中P i r (t1)=(1-t)P i r-1 (t1)+ t P i+1 r-1 (t1) r=1,2,3; i=1,2,317、已知P00=[0.25,0], P10=[0.75,0],P01=[0.75,0.9],P11=[0.25,0.8]四点,试用它们构造一张双线性曲面,并用程序输出该双线性曲面。
解:一次双线性曲面参数方程为:P00 P01 1-vQ(u, v)=[1-u, u] P10 P11 v[0.25,0] [0.75,0.9] 1-v=[1-u, u] [0.75,0] [0.25,0.8] v即:Q(u, v)=(1-u)(1-v) P00+u (1-v) P10+(1-u)v P01+uv P11=(1-u)(1-v) [0.25,0]+u (1-v) [0.75,0]+(1-u)v [0.75,0.9]+u v[0.25,0.8] 即:X(u, v)= 0.25 (1-u)(1-v) +0.75u (1-v) +0.75(1-u)v+0.25u vY(u, v)= 0 (1-u)(1-v) + 0 u (1-v) + 0.9(1-u)v+ 0.8u v 0≤u≤1; 0≤v≤1它其实是一个马鞍面(双曲抛物面)上的一块曲面片。