当前位置:文档之家› 计算机图形学复习要点

计算机图形学复习要点

计算机图形学C o m p u t e r G r a p h i c sE-M A I L:t y z h u w e n b o@163.c o m主要内容⏹计算机图形学绪论⏹基本二维图形的生成(图形生成算法原理)⏹二维变换及二维观察(二维图形变化的数学原理)⏹三维变换及三维观察(三维图形变化的数学原理及变化方法)⏹曲线曲面的生成(三维曲线曲面的几种形式)⏹总结全课程图形学概述计算机图形学(C o m p u t e r G r a p h i c s)⏹定义:计算机图形学是研究怎样用数字计算机生成、处理和显示图形的一门学科。

⏹图形表示和绘制+输入/输出设备M o d e l i n g+R e n d e r i n g v i a I n p u t/o u t p u t ⏹计算机图形学计算机科学中,最为活跃、得到广泛应用的分支之一数据计算机图形系统图形计算机图形学图形及图形的表示方法⏹图形:计算机图形学的研究对象⏹能在人的视觉系统中产生视觉印象的客观对象⏹包括自然景物、拍摄到的图片、用数学方法描述的图形等等⏹构成图形的要素⏹几何要素:刻画对象的轮廓、形状等⏹非几何要素:刻画对象的颜色、材质等⏹表示方法⏹点阵表示⏹枚举出图形中所有的点(强调图形由点构成)⏹简称为图像(数字图像)⏹参数表示⏹由图形的形状参数(方程或分析表达式的系数,线段的端点坐标等)+属性参数(颜色、线型等)来表示图形简称为图形⏹图形主要分为两类:⏹基于线条信息表示⏹明暗图(S h a d i n g)第一章绪论⏹1.计算机图形学的发展简史⏹2.计算机图形学的研究内容⏹3.计算机图形学的应用⏹4.常用的图形设备1.1C G的发展历史⏹50年代⏹1950年,第一台图形显示器作为美国麻省理工学院(M I T)旋风I号(W h i r l w i n d I)计算机的附件诞生了⏹1958年,美国C a l c o m p公司由联机的数字记录仪发展成滚筒式绘图仪,G e r B e r公司把数控机床发展成为平板式绘图仪⏹50年代末期,M I T的林肯实验室在“旋风”计算机上开发S A G E空中防御体系⏹60年代⏹1962年,M I T林肯实验室的I.E.S u t h e r l a n d发表了一篇题为“S k e t c h p a d:一个人机交互通信的图形系统”的博士论文--确定了交互图形学作为一个学科分支(提出基本交互技术、图元分层表示概念及数据结构…)。

⏹1962年,雷诺汽车公司的工程师P i e r r eBéz i e r提出Béz i e r曲线、曲面的理论⏹1964年M I T的教授S t e v e n A.C o o n s提出了超限插值的新思想,通过插值四条任意的边界曲线来构造曲面。

⏹70年代(蓬勃发展时期)⏹光栅图形学迅速发展⏹区域填充、裁剪、消隐等基本图形概念、及其相应算法纷纷诞生⏹图形软件标准化⏹1974年,A C M S I G G R A P H的“与机器无关的图形技术”的工作会议⏹A C M成立图形标准化委员会,制定“核心图形系统”(C o r eG r a p h i c s S y s t e m)⏹I S O发布C G I、C G M、G K S、P H I G S⏹真实感图形学⏹1970年,B o u k n i g h t提出了第一个光反射模型⏹1971年G o u r a n d提出“漫反射模型+插值”的思想,被称为G o u r a n d明暗处理⏹1975年,P h o n g提出了著名的简单光照模型-P h o n g模型⏹实体造型技术⏹英国剑桥大学C A D小组的B u i l d系统⏹美国罗彻斯特大学的P A D L-1系统⏹80年代⏹1980年W h i t t e d提出了一个光透视模型-W h i t t e d模型,并第一次给出光线跟踪算法的范例,实现W h i t t e d模型⏹1984年,美国C o r n e l l大学和日本广岛大学的学者分别将热辐射工程中的辐射度方法引入到计算机图形学中⏹图形硬件和各个分支均在这个时期飞速发展⏹90年代:微机和软件系统的普及使得图形学的应用领域日益广泛。

⏹标准化、集成化、智能化⏹多媒体技术、人工智能、科学计算可视化、虚拟现实⏹三维造型技术1.2C G的研究内容1.2.1C A G D(C o m p u t e r A i d e d G e o m e t r i cD e s i g n)计算机辅助几何设计⏹几何形体在计算机中的表示,分析、研究怎样灵活方便地建立几何形体的数学模型,提高算法效率,在计算机内更好地存储和管理这些模型等。

研究曲线、曲面的表示、生成、拼接、拟合。

1.2.2图象处理⏹研究如何对一幅连续图像取样、量化以产生数字图像,如何对数字图像做各种变换以方便处理⏹如何滤去图像中的无用噪声,如何压缩图像数据以便存储和传输,图像边缘提取,特征增强和提取1.2.3计算机视觉和模式识别⏹图形学的逆过程,分析和识别输入的图像并从中提取二维或三维的数据模型(特征)。

手写体识别、机器视觉⏹计算几何⏹几何问题的计算复杂性⏹发展特点内容交叉、界限模糊、相互渗透1.3C G的应用1.3.1计算机辅助设计与制造(C A D/C A M)C A D/C A M是计算机图形学在工业界最广泛、最活跃的应用领域⏹飞机、汽车、船舶的外形的设计,如波音777飞机的设计和加工过程⏹发电厂、化工厂等的布局⏹土木工程、建筑物的设计⏹电子线路、电子器件的设计,设计结果直接送至后续工艺进行加工处理奥迪效果图和线框图基于工程图纸的三维形体重建⏹定义:从二维信息中提取三维信息,通过对这些信息进行分类、综合等一系列处理,在三维空间中重新构造出二维信息所对应的三维形体,恢复形体的点、线、面及其拓扑关系,从而实现形体的重建⏹优势:可以做装配件的干涉检查、以及有限元分析、仿真、加工等后续操作,代表C A D技术的发展方向工程图及其三维重建结果1.3.2科学计算可视化科学计算可视化广泛应用于医学、流体力学、有限元分析、气象分析当中⏹在医学领域,可视化有着广阔的发展前途⏹是机械手术和远程手术的基础⏹将医用C T扫描的数据转化为三维图象,帮助医生判别病人体内的患处⏹由C T数据产生在人体内漫游的图象⏹可视化的前沿与难点⏹可视化硬件的研究⏹实时的三维体绘制⏹体内组织的识别分割——S e g m e n t a t i o n1.3.3真实感图形的绘制与计算机仿真⏹计算机中重现真实世界的场景叫做真实感绘制⏹真实感绘制的主要任务是模拟真实物体的物理属性,简单的说就是物体的形状,光学性质,表面的纹理和粗糙程度,以及物体间的相对位置,遮挡关系等等1.3.4其他应用⏹G I S⏹娱乐⏹多媒体⏹虚拟现实(V R)1.3.5当前研究的热点⏹计算机动画⏹用户接口⏹计算机艺术1.4常用图形设备⏹图形输入设备⏹键盘、鼠标、光笔、触摸屏、扫描仪等⏹图形输出设备⏹阴极射线管(C R T)、显示器(光栅扫描显示器、液晶显示器)、打印机、绘图仪等本章小结⏹主要内容⏹图形⏹图形表示方法⏹图形学的发展历史⏹研究的主要内容⏹应用领域和研究动态⏹常用的图形设备作业1.写出对计算机图形学的认识,谈谈学科发展的关键因素2.计算机图形学的主要研究内容是什么?3.计算机图形学最具潜力的应用是什么?4.谈谈对计算机图形学的前沿领域的设想和体会?第二章基本二维图形的生成⏹本章目标:主要内容为掌握直线的D D A法、B r e s e n h a m法、中点画线法三种算法。

掌握圆弧的正负法、中点画圆法。

掌握区域填充的种子填充算法、扫描线填充算法。

⏹2.1.直线图形生成算法⏹2.2.圆弧和圆的生成算法⏹2.3.区域的填充⏹2.4.本章小结概念2.1直线图形生成算法⏹直线是最基本的图元。

曲线可看作是一系列直线段的逼近,复杂图形可看作是无数直线段组成的。

光栅化直线段必须服从四条原则:直而光滑、端点准确、亮度均匀、速度快。

⏹生成算法:数值微分法(D D A法)、中点画线法、B r e s e n h a m法2.1.1数值微分算法基本思想计算y i+1=k x i+1+b=k x i+b+k∆x=y i+k∆x当∆x=1;y i+1=y i+k⏹即:当x每递增1,y递增k(即直线斜率);⏹注意上述分析的算法仅适用于|k|≤1的情形。

在这种情况下,x每增加1,y最多增加1。

⏹X坐标按步长为1增加,Y坐标做取整(i n t)计算⏹当|k|>1时,必须把x,y地位互换⏹增量算法:在一个迭代算法中,如果每一步的x、y值是用前一步的值加上一个增量来获得,则称为增量算法。

⏹D D A算法就是一个增量算法。

程序实例v o i d D D A L i n e(i n t x0,i n t y0,i n t x1,i n t y1,i n t c o l o r){i n t x;f l o a t d x,d y,y,k;d x=x1-x0;d y=y1-y0;k=d y/d x;y=y0;f o r(x=x0;x≤x1;x++){d r a w p i x e l(x,i n t(y+0.5),c o l o r);y=y+k;}}例题用D D A法画直线段P0(0,0)--P1(5,2)x i n t(y+0.5)y+0.5000+0.5100.4+0.5210.8+0.5311.2+0.5421.6+0.5522.0+0.5作业1.用D D A法实现(0,0)到(3,6)直线的过程。

2.推倒当|k|>1时,D D A法的实现过程。

2.1.2中点画线法基本思想假设直线方程为:a x+b y+c=0其中a=y0-y1,b=x1-x0,c=x0y1-x1y0由常识知:构造判别式:d=F(M)=F(x p+1,y p+0.5) =a(x p+1)+b(y p+0.5)+c当d<0,M在直线(Q点)下方,取右上方P2;当d>0,M在直线(Q点)上方,取右方P1;当d=0,选P1或P2均可,约定取P1;(1)若d≥0->M在直线上方->取P1;此时再下一个象素的判别式为d1=F(x p+2,y p+0.5)=a(x p+2)+b(y p+0.5)+c=a(x p+1)+b(y p+0.5)+c+a =d+a;增量为a(2)若d<0->M在直线下方->取P2;此时再下一个象素的判别式为d2=F(x p+2,y p+1.5)=a(x p+2)+b(y p+1.5)+c=a(x p+1)+b(y p+0.5)+c+a+b =d+a+b;增量为a+b(3)画线从(x0,y0)开始,d的初值d0=F(x0+1,y0+0.5)=a(x0+1)+b(y0+0.5)+c=F(x0,y0)+a+0.5b= a+0.5b程序实例v o i d M i d p o i n t L i n e(i n t x0,i n ty0,i n t x1,i n t y1,i n t c o l o r) {i n t a,b,d1,d2,d,x,y;a=y0-y1;b=x1-x0;d=2*a+b;d1=2*a;d2=2*(a+b);x=x0;y=y0;d r a w p i xe l(x,y,c o l o r);w h i l e(x<x1){i f(d<0){x++;y++;d+=d2;}e l s e{x++;d+=d1;}d r a w p i xe l(x,y,c o l o r);}/*w h i l e*/}/*m i d P o i n t L i n e*/例题用中点画线法画P0(0,0)P1(5,2)之间的直线段。

相关主题