计算机图形学习题课.ppt

上传人:wuy****n92 文档编号:91512313 上传时间:2023-05-27 格式:PPT 页数:50 大小:390KB
返回 下载 相关 举报
计算机图形学习题课.ppt_第1页
第1页 / 共50页
计算机图形学习题课.ppt_第2页
第2页 / 共50页
点击查看更多>>
资源描述

《计算机图形学习题课.ppt》由会员分享,可在线阅读,更多相关《计算机图形学习题课.ppt(50页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、2010计算机图形学习题课计算机图形学习题课主讲:刘喜主讲:刘喜指导老师:董兰芳指导老师:董兰芳内容提要内容提要1 重点知识回顾重点知识回顾2 作业讲解作业讲解3 提问提问第一次作业知识准备 1.1 图形的概念:图形的概念:计算机图形学的研究对象能在人的视觉系统中产生计算机图形学的研究对象能在人的视觉系统中产生视觉印象的客观对象,包括自然景物、拍摄到的图片、用数学方法描视觉印象的客观对象,包括自然景物、拍摄到的图片、用数学方法描述的图形等等。述的图形等等。1.2 图形的要素图形的要素 几何要素:刻画对象的轮廓、形状等几何要素:刻画对象的轮廓、形状等 非几何要素:刻画对象的颜色、材质等非几何要素

2、:刻画对象的颜色、材质等1.3 图形表示法图形表示法 点阵表示:枚举出图形中所有的点点阵表示:枚举出图形中所有的点,简称为图像。简称为图像。参数表示:由图形的形状参数参数表示:由图形的形状参数(方程或分析表达式的系数方程或分析表达式的系数,线段的端线段的端点坐标等点坐标等)+属性参数属性参数(颜色、线型等颜色、线型等)来表示来表示,简称为图形。简称为图形。第一次作业三种类型的计算机图形软件系统:(1)用某种语言写成的子程序包GKS(Graphics Kernel System),PHIGS,GL 便于移植和推广、但执行速度相对较慢,效率低(2)扩充计算机语言,使其具有图形生成和处理的功能如:T

3、urbo Pascal、Turbo C,AutoLisp等。简练、紧凑、执行速度快,但不可移植(3)专用图形系统:效率高,但系统开发量大,可移植性差。练、紧凑、执行速度快,但不可移植第一次作业2.19 说明OpenGL核心库、OpenGL实用库、OpenGL实用工具包之间的区别。解:核心库用来描述图元属性、几何变换、观察变换和进行许多其它的操作,只包含与设备无关的函数,函数以gl为前缀。实用库包含用来生成复杂对象、指定二维观察应用的参数、处理表面绘制操作和完成其它支持任务的函数,函数以glu为前缀。实用工具包包含大量用来管理显示窗口与屏幕窗口系统交互及生成某些三维形体的函数,提供与任意屏幕窗口

4、系统进行交互的函数库,是与其它依赖设备的窗口系统之间的接口,函数以glut为头缀。、第一次作业2.22 解释术语“OpenGL显示回调函数”的含义。解:显示回调函数是程序员自己编写的关于显示窗口内容的函数,由glutDisplayFunc 作为显示窗口需要重新显示时引入的函数来注册。当一个窗口的图像层需要重新绘制时,GLUT将调用该窗口的的显示回调函数。第二次作业第二次作业知识准备 1 画线算法:(1)DDA画线算法:画线算法:直接求交算法:划分区间0,1,dt=1/n,计算坐标,取整 复杂度:乘法+加法+取整 DDA增量算法:xi+1=x1+x*ti+1=xi+x*dt=xi+xinc yi

5、+1=y1+y*ti+1=yi+y*dt=yi+yinc 复杂度:加法+取整 DDA算法缺点算法缺点:需要进行浮点数运算,运行效率低,不便于用硬件实现画线算法回顾画线算法回顾(2)Bresenham画线算法画线算法目标:消除DDA算法中的浮点运算dlowerdupper,取取H点点dlower0,增量=-3xk2-9xk-7,曲线的下一点为(xk+1,yk)若p1k0,增量=12-3xk2-9xk-7,下一点为(xk+1,yk+1)直到xk=24.区域2同理可得。5.确定第三象限的对称点。第三次作业第三次作业知识准备知识准备-填充方法填充方法1 均匀着色方法:将图元内部像素置成同一颜色2 位图

6、不透明:若像素对应的位图单元为1,则以前景色显示该像素;若为0,则以背景色显示该像素;3 位图透明:若像素对应的位图单元为1,则以前景色显示该像素;若为0,则不做任何处理。4 像素图填充:以像素对应的像素图单元的颜色值显示该像素。填充方法回顾填充方法回顾基本问题基本问题:建立区域与图像间的对应关系建立区域与图像间的对应关系1 建立整个绘图空间与图像空间的1-1映射2 建立区域局部坐标空间与图像空间的1-1映射 填充方法回顾填充方法回顾边的连贯性:某条边与当前扫描线相交,也可能 与下一条扫描线相交;扫描线的连贯性:当前扫描线与各边的交点顺序 与下一条扫描线与各边的交点顺序可能相同或类似;区间连贯

7、性:同一区间上的像素取同一颜色属性扫描线算法目标:利用相邻像素之间的连贯性,提高算法效率处理对象:非自交多边形(边与边之间除了顶点外无其它交点)填充方法回顾填充方法回顾基本原理(一条扫描线与多边形的边有偶数个交点)步骤(对于每一条扫描线):求交点交点排序交点配对,填充区段第三次作业第三次作业4.30 修改扫描线算法,从而将任何指定的矩形填充图案应修改扫描线算法,从而将任何指定的矩形填充图案应用到多边形内部,从所指定的图案位置开始填充。用到多边形内部,从所指定的图案位置开始填充。解:方法1:假设填充图案行数为ny,列数为nx,指定的图案位置为(x0,y0)。前面的扫描线算法与通用扫描线填充算法类

8、似(参考书上p159p162)。得到扫描线上的填充区域后,对于填充区域的每个像素(x,y),其对应的像素颜色即为填充图案位置((x-x0)mod nx,(y-y0)mod ny)的像素颜色。第三次作业第三次作业方法2:先得到多边形的包围矩形,将填充图案根据指定位置平铺到整个包围矩形。根据扫描线填充算法,若像素需要填充,则取包围矩形中同一点的颜色填充。基础知识回顾基础知识回顾提问:什么是走样和反走样?什么是走样和反走样?走样:用离散量用离散量(像素像素)表示连续的量表示连续的量(图形图形)而而引起引起的失真,叫混淆或叫走样(aliasing)反走样:在图形显示过程中,用于减少或消除走样现象 的方

9、法。提高分辨率方法 非加权区域采样 加权区域采样第四次作业第四次作业知识准备计算机图形学中的矩阵运算 3D观察变换观察变换定义:要将预设场景的世界坐标描述经各种处理变换到一个或多个输出设备参照系来显示的过程。本质:笛卡尔坐标系的3D变换源头:原始模型形状-建模坐标输出:显示屏幕画面-窗口(屏幕)坐标3D观察的形象描述观察的形象描述视点变换(对准场景)模型变换(放置模型)相反过程模型视点变换的数学描述模型视点变换的数学描述模型坐标到世界坐标世界坐标到观察坐标 平移、缩放、旋转Opengl通过模型矩阵(Modeling Matrix)实现 简单例子简单例子齐次坐标 第一列为第一列为MC中中x轴在轴

10、在WC中向量表示;中向量表示;第二列为第二列为MC中中y轴在轴在WC中向量表示;中向量表示;第三列为第三列为MC中原点在中原点在WC中坐标;中坐标;模型坐标系中的坐标为(1,1)世界坐标系中的坐标为(3,4)简单例子简单例子将齐次矩阵作为变换矩阵,乘以MC中坐标,得WC中坐标回顾理论课内容回顾理论课内容三维平移回顾理论课内容回顾理论课内容三维旋转绕绕x x轴轴绕绕y y轴轴绕绕z z轴轴回顾理论课内容回顾理论课内容三维缩放第四次作业第四次作业5.4 证明对于下列每个操作序列,矩阵相乘是可交换的:a)两个连续的旋转b)两个连续的平移c)两个连续的缩放第四次作业第四次作业解:a)设两个旋转分别为R

11、(a1)和R(a2),有第四次作业第四次作业b)设两个平移分别为T(x1,y1)和T(x2,y2),有第四次作业第四次作业c)设两个缩放分别为S(x1,y1)和S(x2,y2),有第四次作业第四次作业5.5 证明一致缩放和旋转形成可交换的操作对,但通常缩证明一致缩放和旋转形成可交换的操作对,但通常缩放和旋转不是可交换操作。放和旋转不是可交换操作。解:设缩放为S(x,y),旋转为R(a),有知识回顾知识回顾提问:平行投影与透视投影的区别?平行投影与透视投影的区别?第五次作业第五次作业补充题:证明补充题:证明OB旋转到平面旋转到平面OXZ的角度与在的角度与在OYZ投影投影OB1旋转到旋转到Z轴上的

12、轴上的OB3的角度是一样的。的角度是一样的。解:由长方体的性质易知:平面OBB1平面OB1B3,平面OB2B3平面OB1B3,所以B1OB3是平面OBB1与OB2B3的二面角,而两平面的交轴是X轴,所以平面OBB1上的任意点绕X轴旋转到达平面OB2B3上,经过的角度均为B1OB3。第五次作业第五次作业5.34 设计三维对象相对于任选平面反射的设计三维对象相对于任选平面反射的程序。程序。解:设该平面的方程为ax+by+cz+d=0,对于任意一点(x1,y1,z1),其反射点为(x2,y2,z2),有 中点在平面上:a(x1+x2)/2+b(y1+y2)/2+c(z1+z2)/2+d=0两点向量与

13、平面法向量平行:(x2-x1)/a=(y2-y1)/b=(z2-z1)/c第五次作业第五次作业求解上面三个方程,可以得到变换矩阵:第六次作业第六次作业知识准备知识准备裁剪算法裁剪算法识别指定区域内或区域外图形部分的过程称为裁剪。裁剪的策略包括:1、先裁剪后扫描转换2、边扫描转换边裁剪裁剪算法回顾裁剪算法回顾裁剪的类型:裁剪的类型:1、点的裁剪2、线段的裁剪3、区域的裁剪4、曲线的裁剪5、文字的裁剪第六次作业第六次作业6.6 讨论梁友栋讨论梁友栋-Barsky线裁剪算法中各种线裁剪算法中各种测试和交点参数测试和交点参数u1,u2计算方法的原理。计算方法的原理。解:对端点为(x0,y0)和(xen

14、d,yend)的直线段,可以使用参数形式描述直线段:x=x0+ux y=y0+uy,其中,0=u=1.x=xend-x0,y=yend-y0.可以得到不等式:xwmin=x0+ux=xwmax ywmin=y0+uy=ywmax.这个不等式组可以表示成:upk=qk,k=1,2,3,4的形式。第六次作业第六次作业令:P1=-x,q1=x0-xwminP2=x,q2=xwmax-x0P3=-y,q3=y0-ywminP4=y,q4=ywmax-y0假设裁剪窗口如下:由上面的式子可得:x=0时,线段与边界1,2平行,y=0时,边界与3,4平行。第六次作业第六次作业首先讨论线段与边界平行的情况,即p

15、k=0;p1=0,平行于边界1,2,若q10,则x0=0,则x0=xwmin,线段可能在窗口内。p2=0,平行于边界1,2,若q2xwmax,线段一定在窗口外,若q2=0,则x0=xwmax,线段可能在窗口内。p3=0,同理,q30时,线段一定在窗口外,p4=0,同理,q4=0,线段才可能在窗口内。第六次作业第六次作业pk!=0时:由于u要满足upk=qk,所以对于所有满足pk=qk/pk.又因为0=u=max(qk/pk|任意k满足pk0)令u1=min(0,qk/pk|任意k满足pk=u1对于所有满足pk0的k,则有u=qk/pk.又因为0=u=1,所以 u0)令u2=min(1,qk/p

16、k|任意k满足pk0)则u=u2.综上得,pk!=0时所得的条件为:u1=u=0,条件1,pk!=0u1=uu2,所有u不满足条件2,线段全在窗口外3.若条件1成立,且u1=u2,则线段与裁剪窗口有交集,由于u1=u=u2,则裁剪点为A=(x0+u1x,y0+u1y),B=(x0+u2x,y0+u2y)A,B就是处在裁剪窗口内的线段的两个端点。第七次作业第七次作业知识准备知识准备-Bezier样条曲线样条曲线 46 Bezier样条曲线样条曲线 给定空间n+1个控制点Pi(0in),利用n次Bernstein基函数Bi,n(t)作为调和函数,可以确定一条n次Bzier曲线,该曲线的参数方程为:vBzier曲线的定义曲线的定义 Bezier样条曲线样条曲线 Bzier曲线的性质曲线的性质 1.端点性质端点性质 2.端点切向量端点切向量 3.对称性对称性 4.凸包性凸包性 5.平面曲线的保型性平面曲线的保型性 6.拟局部性拟局部性第七次作业第七次作业8.10 修改8.10节中的示例程序,使其显示任一使用xy平面上的四个输入控制点的三次Bezier曲线。第七次作业第七次作业致谢与交流致谢与交流ThanksEMAIL:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁