欢迎来到天天文库
浏览记录
ID:38623782
大小:522.50 KB
页数:50页
时间:2019-06-16
《2010计算机图形学习题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2010计算机图形学习题课主讲:刘喜指导老师:董兰芳内容提要1重点知识回顾2作业讲解3提问第一次作业知识准备1.1图形的概念:计算机图形学的研究对象能在人的视觉系统中产生视觉印象的客观对象,包括自然景物、拍摄到的图片、用数学方法描述的图形等等。1.2图形的要素几何要素:刻画对象的轮廓、形状等非几何要素:刻画对象的颜色、材质等1.3图形表示法点阵表示:枚举出图形中所有的点,简称为图像。参数表示:由图形的形状参数(方程或分析表达式的系数,线段的端点坐标等)+属性参数(颜色、线型等)来表示,简称为图形。第一次作业三种类型的计算机图形软件系统:(1)用某
2、种语言写成的子程序包GKS(GraphicsKernelSystem),PHIGS,GL便于移植和推广、但执行速度相对较慢,效率低(2)扩充计算机语言,使其具有图形生成和处理的功能如:TurboPascal、TurboC,AutoLisp等。简练、紧凑、执行速度快,但不可移植(3)专用图形系统:效率高,但系统开发量大,可移植性差。练、紧凑、执行速度快,但不可移植第一次作业2.19说明OpenGL核心库、OpenGL实用库、OpenGL实用工具包之间的区别。解:核心库用来描述图元属性、几何变换、观察变换和进行许多其它的操作,只包含与设备无关的函数,
3、函数以gl为前缀。实用库包含用来生成复杂对象、指定二维观察应用的参数、处理表面绘制操作和完成其它支持任务的函数,函数以glu为前缀。实用工具包包含大量用来管理显示窗口与屏幕窗口系统交互及生成某些三维形体的函数,提供与任意屏幕窗口系统进行交互的函数库,是与其它依赖设备的窗口系统之间的接口,函数以glut为头缀。、第一次作业2.22解释术语“OpenGL显示回调函数”的含义。解:显示回调函数是程序员自己编写的关于显示窗口内容的函数,由glutDisplayFunc作为显示窗口需要重新显示时引入的函数来注册。当一个窗口的图像层需要重新绘制时,GLUT将
4、调用该窗口的的显示回调函数。第二次作业知识准备1画线算法:(1)DDA画线算法:直接求交算法:划分区间[0,1],dt=1/n,计算坐标,取整复杂度:乘法+加法+取整DDA增量算法:xi+1=x1+Δx*ti+1=xi+Δx*dt=xi+xincyi+1=y1+Δy*ti+1=yi+Δy*dt=yi+yinc复杂度:加法+取整DDA算法缺点:需要进行浮点数运算,运行效率低,不便于用硬件实现画线算法回顾(2)Bresenham画线算法目标:消除DDA算法中的浮点运算dlower>dupper,取H点dlower5、upper,选择H或L均可.Bresenham画线算法的特点:只包括整数的加法、减法和左移(乘2)操作,效率高,适合用硬件实现。画线算法回顾(3)并行画线算法让每一个处理器处理一组像素,适用于系统中的处理器非常多的场合。给定一条线段,可以得到它的包围盒,包围盒中共有Δx*Δy个像素。让每个处理器处理一组像素,画线算法回顾中点画圆算法两种直接离散方法:离散点:x2+y2=R(x,sqrt(R2-x2))离散角度:x=Rcosθy=Rsinθ缺点:计算量大。优点:效率高,只用到整数的加法、减法和左移,(乘2)运算,并且适合用硬件实现。第二次作业3.16、8利用中点算法并考虑对称性,推导在区间-10≤x≤10上,对下列曲线进行扫描转换的有效算法:y=1/12x3解:注意避免浮点运算!曲线为奇函数,关于原点对称,只需考虑区间[0,10]即可,区间[-10,0]可有对称性得到。定义曲线函数:F(x,y)=12y-x3,p1k=f(xk+1,yk+1/2),p2k=f(xk+1/2,yk+1)曲线的斜率k=dy/dx=x2/4,所以曲线的分界点为X=±2。区域1[0,2],区域2[2,10]从(0,0)开始以x方向取单位步长直到分界点处;然后转为以y方向取单位步长。每一步中,需要检测曲线的斜率值。第二次7、作业算法步骤如下:1得到曲线的第一个点(0,0)。2计算区域1中的决策函数初始值:P10=6-1=53在区域1中的每个xk位置p1k+1=p1k+12(yk+1+1/2)-12(yk+1/2)-3xk2-9xk-7若p1k>0,增量=-3xk2-9xk-7,曲线的下一点为(xk+1,yk)若p1k<0,增量=12-3xk2-9xk-7,下一点为(xk+1,yk+1)直到xk=24.区域2同理可得。5.确定第三象限的对称点。第三次作业知识准备--填充方法1均匀着色方法:将图元内部像素置成同一颜色2位图不透明:若像素对应的位图单元为1,则以前景色显示8、该像素;若为0,则以背景色显示该像素;3位图透明:若像素对应的位图单元为1,则以前景色显示该像素;若为0,则不做任何处理。4像素图填充:
5、upper,选择H或L均可.Bresenham画线算法的特点:只包括整数的加法、减法和左移(乘2)操作,效率高,适合用硬件实现。画线算法回顾(3)并行画线算法让每一个处理器处理一组像素,适用于系统中的处理器非常多的场合。给定一条线段,可以得到它的包围盒,包围盒中共有Δx*Δy个像素。让每个处理器处理一组像素,画线算法回顾中点画圆算法两种直接离散方法:离散点:x2+y2=R(x,sqrt(R2-x2))离散角度:x=Rcosθy=Rsinθ缺点:计算量大。优点:效率高,只用到整数的加法、减法和左移,(乘2)运算,并且适合用硬件实现。第二次作业3.1
6、8利用中点算法并考虑对称性,推导在区间-10≤x≤10上,对下列曲线进行扫描转换的有效算法:y=1/12x3解:注意避免浮点运算!曲线为奇函数,关于原点对称,只需考虑区间[0,10]即可,区间[-10,0]可有对称性得到。定义曲线函数:F(x,y)=12y-x3,p1k=f(xk+1,yk+1/2),p2k=f(xk+1/2,yk+1)曲线的斜率k=dy/dx=x2/4,所以曲线的分界点为X=±2。区域1[0,2],区域2[2,10]从(0,0)开始以x方向取单位步长直到分界点处;然后转为以y方向取单位步长。每一步中,需要检测曲线的斜率值。第二次
7、作业算法步骤如下:1得到曲线的第一个点(0,0)。2计算区域1中的决策函数初始值:P10=6-1=53在区域1中的每个xk位置p1k+1=p1k+12(yk+1+1/2)-12(yk+1/2)-3xk2-9xk-7若p1k>0,增量=-3xk2-9xk-7,曲线的下一点为(xk+1,yk)若p1k<0,增量=12-3xk2-9xk-7,下一点为(xk+1,yk+1)直到xk=24.区域2同理可得。5.确定第三象限的对称点。第三次作业知识准备--填充方法1均匀着色方法:将图元内部像素置成同一颜色2位图不透明:若像素对应的位图单元为1,则以前景色显示
8、该像素;若为0,则以背景色显示该像素;3位图透明:若像素对应的位图单元为1,则以前景色显示该像素;若为0,则不做任何处理。4像素图填充:
此文档下载收益归作者所有