计算机图形学(孙家广.第三版)-第2章

合集下载

清华大学计算机系本科生全部课程详细介绍

清华大学计算机系本科生全部课程详细介绍

Introduct theme, equal emphasis on theory and practice. It also introduces the basic methods an
ion learning, simulated annealing, genetic algorithm and artificial neural network.

姓名
职称


主要教学和科研领域

白晓颖
讲师 软件工程,软件测试
课号:00240042 学分: 2 课程名称 中文
课程属性: 全校任选 开课学期: 人工智能导论
书名
春季
作者
英文
Artificial Intelligence:
Stuart Russell and
A Modern Approach
Peter Norvig
程 法,主要的知识表示和推理方法,以及几个应用领域中所涉及的人工智能问题和求解方法。课程以智能体
简 设计为主线,将人工智能中相互分离的领域与内容统一起来,注重理论与实际应用相结合。同时还简单介
介 、人工神经网络等算法思想及相关成果与进展。
This course is an introduction course to offer the basic principles and methods of art
evolution. The purpose is to improve the students’ engineering capabilities and development Based on the major activities in software lifecycle, the course introduces the basic theory

第1次课-计算机图形学基础

第1次课-计算机图形学基础

– 1962年,MIT林肯实验室, I. E. Sutherland “Sketchpad:一个人机交互通信的图形系统” – Coons, “CAD”的概念,Coons曲面,Coons奖
• 图形学与模式识别
• 图形学与视觉
– 基于图像的绘制 – 基于视频的绘制
2018/10/27
10
1.2 发展历史
讲授内容
教学要求
• 了解图形学的基本问题,掌握图形学的 基本概念、方法与算法;
• 对与图形相关的应用及当前的研究热点 有一个初步认识; • 具有一定实践体会和相关的编程能力。
2018/10/27 4
第1章 绪论
1.1 基本概念 1.2 发展过程 1.3 应用领域
第一章
2
• 什么是计算机图形学?
第一章 绪论
硬件发展
图形输入设备的发展
– 第一阶段:控制开关、穿孔纸等等 – 第二阶段:键盘 – 第三阶段:二维定位设备,如鼠标、光笔、 图形输入板、触摸屏等等,语音
– 第四阶段:三维输入设备(如空间球、数据 手套、数据衣),用户的手势、表情等等
– 未来发展:用户的思维
2018/10/27 16
操纵杆和跟踪球、数据手套
1. 历史追溯
2. 硬件发展
图形显示器的发展
图形输入设备的发展
3. 图形软件及软件标准的发展
2018/10/27
11
历史追溯
• 50年代
– 1950年,第一台图形显示器作为美国麻省理工学院 (MIT)旋风I号(Whirlwind I)计算机的附件诞生 了
2018/10/27
12
历史追溯
60年代
– 1962年,MIT林肯实验室的I. E. Sutherland发表了一篇题为“Sketchpad: 一个人机交互通信的图形系统”的博士论文-确定了交互图形学作为一个学科分支(提出 基本交互技术、图元分层表示概念及数据结 构…)。

计算机图形学(第三版)孙家广课后习题答案

计算机图形学(第三版)孙家广课后习题答案
计算机图形ห้องสมุดไป่ตู้口(CGI)
基本图形转换规范(IGES)
产品数据转换规范(STEP)等
2、CGI标准的主要功能是什么?试用CGI中的图形输出功能绘制一副机械零件图。
CGI的目的是提供控制图形硬件的一种与设备无关的方法,它可以看成是图形设备驱动
程序的一种标准。CGI在用户程序和虚拟设备之间,以一种独立于设备的方式提供图形信息
模型,迅速地修改图形模型的数据;并能够绘制显示修改后的图形模型。
GL是工作站或UNIX上广泛应用的一个工业标准图形程序库,和PHIGS同样是提供用户
与程序图形系统接口。包括基本图素、坐标变换、设置属性和显示方式、输入/输出处理、
真实图形显示。
相同点:
三个都是提供用户与输入输出设备之间的图形系统接口的标准图形程序库。
下面。就像饭馆的菜单一样,程序菜单显示选择列表。为了使屏幕整齐,会隐藏这些菜单,
只有在标题栏下的菜单栏中单击菜单标题之后才会显示菜单。例如,单击“画图”菜单栏中
的“图像”可显示“图像”菜单:
3、列出你所用过的图形输入、显示及输出设备的名称、型号、生产厂商、出厂时间及其主
要优缺点。

4、比较个人计算机与工作站的图形功能
{
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)

计算机图形学(孙家广.第三版)-第3章(4)

计算机图形学(孙家广.第三版)-第3章(4)
点:3D点。 线:3D直线段、二次曲线(包括圆弧和整圆、椭圆 弧和椭圆、抛物线段、双曲线段) 、 Bezier 曲线 (有理和非有理)、B样条曲线、NURBS曲线。 面:平面、二次曲面(包括球面、圆柱面、圆锥/台 面、双曲面、抛物面、椭球面和椭圆柱面 ) 、 Bezier 曲 面 ( 有 理 和 非 有 理 ) 、 B 样 条 曲 面 、 NURBS曲面。
Parasolid的界面 Parasolid有两个界面。
一个在造型器顶部,称为核心界面( KI ), 通过KI,用户可以造型、操作对象和控制造 型器。 另一个在造型器下部,它包括三个部分: Frustrum 、 GO ( Graphics Output ) 和 FG (Foreign Geometry)。
3.7归类求交 几何造型中,通常利用集合运算(并、交、 差运算)实现复杂形体的构造。集合运 算需要大量的求交运算。 如何提高求交的实用性、稳定性、速度、 精度等,对几何造型系统至关重要。 历史上的观念变化:简单体素的精确求交,
-> NURBS统一求交 -> 归类求交
3.7.1求交分类简介
多面体模型
3.8.2 ACIS系统 ACIS是由美国Spatial Technology于1990年首次 推出。 ACIS的重要特点是支持线框、曲面、实体统一 表示的非正则形体造型技术,能够处理非流 形形体。 ACIS产品采用了组件技术,其核心是几何造型 器(Geometric Modeler),还包括一些可与 核心集成的组件,称为外壳(Husk)。
这种模型的求交计算主要是线段和平面的求交,求交问 题的解决相对简单。 多面体模型的缺点是明显的。它只能近似表示形体,同 时,复杂形体表面的离散会带来巨大的数据量。
CSG模型

计算机图形学第1章 绪论

计算机图形学第1章 绪论

图形主要分为两类:
基于线条信息表示 明暗图(Shading)
什么是计算机图形学
• 定义:计算机图形学是研究怎样用计 算机生成、处理和显示图形的一门学 科。 • 计算机图形学属于计算机科学中最为 活跃、得到广泛应用的分支之一
计算机图形学的研究内容
• 如何在计算机中对图形进行表示、计 算、处理和显示的相关原理与算法, 构成了计算机图形学的主要研究内容。
– 是用计算机技术来生成一 个逼真的三维视觉、听觉、 触觉或嗅觉等感觉世界和与 世界交互
1.1.2 当前研究热点 真实感图形实时绘制
– 物体网格模型的面片简化:对网格面片表示的 模型,在一定误差的精度范围内,删除点、边、 面,从而简化所绘制场景的复杂度,加快图形 绘制速度
– 基于图象的绘制(IBR,Image Based Rendering): 直接从一系列已知的图象中生成未知视角的图 象,适用于野外极其复杂场景的生成和漫游
讲授内容
第1章 第2章 第3章 第4章 第5章 第6章 第7章 绪论 光栅设备 基本图形生成算法 自由曲线与曲面 图形裁剪 图形变换 计算机动画
第一章 绪论
1.1 应用及研究前沿 1.2 研究内容 1.3 发展历史
1.1 应用及研究前沿
1.2.1 计算机图形学的应用
先看几个我们自己的例子
• • • • OpenGL实例 虚拟小区浏览 脑颅骨绘制实例(2D,3D) GIS软件,等等。
• 计算机中重现真实世界的场景叫做真实感 绘制 • 真实感绘制的主要任务是模拟真实物体的 物理属性,简单的说就是物体的形状、光 学性质、表面的纹理和粗糙程度、以及物 体间的相对位置、遮挡关系等等
地理信息系统(GIS)
• 建立在地理图形之上的关于各种资源的 综合信息管理系统。 • 数字地球:地形数据作为载体。

计算机图形学第三版答案

计算机图形学第三版答案

计算机图形学第三版答案【篇一:《计算机图形学》第1-5章课后习题参考答案】计算机图形学研究的基本内容?答:见课本p5-6页的1.1.4节。

2、计算机图形学、图形处理与模式识别本质区别是什么?请各举一例说明。

答:计算机图形学是研究根据给定的描述,用计算机生成相应的图形、图像,且所生成的图形、图像可以显示屏幕上、硬拷贝输出或作为数据集存在计算机中的学科。

计算机图形学研究的是从数据描述到图形生成的过程。

例如计算机动画制作。

图形处理是利用计算机对原来存在物体的映像进行分析处理,然后再现图像。

例如工业中的射线探伤。

模式识别是指计算机对图形信息进行识别和分析描述,是从图形(图像)到描述的表达过程。

例如邮件分捡设备扫描信件上手写的邮政编码,并将编码用图像复原成数字。

3、计算机图形学与cad、cam技术关系如何?答:见课本p4-5页的1.1.3节。

4、举3个例子说明计算机图形学的应用。

答:①事务管理中的交互绘图应用图形学最多的领域之一是绘制事务管理中的各种图形。

通过从简明的形式呈现出数据的模型和趋势以增加对复杂现象的理解,并促使决策的制定。

②地理信息系统地理信息系统是建立在地理图形基础上的信息管理系统。

利用计算机图形生成技术可以绘制地理的、地质的以及其它自然现象的高精度勘探、测量图形。

③计算机动画用图形学的方法产生动画片,其形象逼真、生动,轻而易举地解决了人工绘图时难以解决的问题,大大提高了工作效率。

5、计算机绘图有哪些特点?答:见课本p8页的1.3.1节。

6、计算机生成图形的方法有哪些?答:计算机生成图形的方法有两种:矢量法和描点法。

①矢量法:在显示屏上先给定一系列坐标点,然后控制电子束在屏幕上按一定的顺序扫描,逐个“点亮”临近两点间的短矢量,从而得到一条近似的曲线。

尽管显示器产生的只是一些短直线的线段,但当直线段很短时,连成的曲线看起来还是光滑的。

②描点法:把显示屏幕分成有限个可发亮的离散点,每个离散点叫做一个像素,屏幕上由像素点组成的阵列称为光栅,曲线的绘制过程就是将该曲线在光栅上经过的那些像素点串接起来,使它们发亮,所显示的每一曲线都是由一定大小的像素点组成的。

计算机图形学(孙家广.第三版)-第4章

计算机图形学(孙家广.第三版)-第4章
波长
400
700
nm
– 各波长的能量 分布不均匀, 为彩色光
– 包含一种波长
能 量
P ( )
波长
400
能 量
700
nm
的能量,其他 波长都为零, 是单色光
P ( )
波长

400
700
nm
• 光谱能量分布定义颜色十分麻烦
• 光谱与颜色的对应关系是多对一
• 两种光的光谱分布不同而颜色相同的现 象称为“异谱同色”
• 颜色模型的用途是在某个颜色域内方便 地指定颜色
RGB颜色模型
• 通常使用于彩色光栅图形显示设备中
• 真实感图形学中的主要的颜色模型
蓝(0,0,1) 青(0,1,1)
• 采用三维直角坐标系 • RGB立方体
内容
• 颜色视觉
简单光照明模型
• 局部光照明模型 光透射模型 • 纹理及纹理映射 整体光照明模型 • 实时真实感图形学技术
4.1 颜色视觉
分析以下的基本现象: 为什么计算R、G、B三个分量就可 以使人有颜色的视觉感觉?
基本概念
• 颜色是外来的光刺激作用于人的视觉器 官而产生的主观感觉,影响的因素有:
三 刺 激 值 0.2
0
-0.2 400 500 600 700

波长
nm
CIE-XYZ系统
• CIE-RGB曲线一部分三刺激值是负数, 表明只能在给定光上叠加曲线中负值对 应的原色,去匹配另两种原色的混合
– 计算不便,不易理解
• 1931年CIE-XYZ系统,利用三种假想的 标准原色X、Y、Z,使颜色匹配三刺激 c xX yY zZ 值都是正值: • 任何颜色都能由标准三原色混合匹配(三

计算机图形学(1-3章讲义汇总整理)

计算机图形学(1-3章讲义汇总整理)
图形显示系统
图形显示系统是计算机图形处理系统中极其重要的部分。图形显示系统负责实时显示图 形处理的中间或最终结果,为用户提供可视的工作界面等。PC 机的图形显示系统逻辑上是 由监视器(Monitor,又称显示器)和显示卡(又称显示适配器)两大部分组成。目前显示器中主 要包括阴极射线管(CRT),液晶显示器(LCD)和等离子显示器(PDP)。
图形输入板与坐标数字化仪
图形输入板与坐标数字化仪两者的工作原理与功能完全相同,它们都是将图形转变成计 算机能接收的数字量的专用设备。它们按工作原理的不同分为电磁式、超声波式、电位梯度 式、机械式等多种。数字化仪往往具在定位、拾取、选择的功能,其主要性能指标有分辨率、 精度和幅面。许多数字化仪提供多种压感。现在非常流行的汉字手写系统就是一种数字化仪。
光笔
光笔是一种手持检测光的装置,它直接在屏幕上操作,拾取位置。光笔原理简单,操作 直观,但荧光屏的分辨率、电子束扫描速度、荧光粉的特性、笔尖与荧光粉的距离和角度等 诸多因素都会影响光笔的分辨率与灵敏度。另外,光笔对于荧光屏上不发光的区域无法检测, 也不能用于液晶、等离子体等类型的显示器。
触摸屏
触摸屏利用手指等对屏幕的触摸位置进行定位。按工作原理可以分为:电阻式、电容式、 红外线式和声波表面波式。
计算机图形学的研究内容 计算机图形学的定义
计算机图形学是利用计算机来建立、处理、传输和存储从某个客观对象抽象得到的几何 和物理模型,并根据模型产生该对象图形输出的有关理论、方法和技术。1982 年,国际标 准化组织 ISO 将计算机图形学定义为:研究用计算机进行数据和图形之间相互转换的方法和 技术。
CRT 显示器
CRT 显示器由于分辨率和可靠性高、速度快、成本低等优点,多年来一直是图形显示系 统中最重要的设备。CRT 显示器的工作方式分为随机扫描和光栅扫描两种方式,目前以光栅 扫描方式为主,这是因为,虽然随机扫描图形显示器具有画线速度快、分辨率高等优点,但 难以生成具有多种灰度和颜色且色调能连续变化的图形,而光栅扫描图形显示器却可以生成 有高度真实感的图形,因而已成为 PC 机和 Macintosh 计算机以及各种工作站所使用的最重 要的信息显示设备。

计算机图形学(孙家广.第三版)-第3章(3)

计算机图形学(孙家广.第三版)-第3章(3)
CSG表示可以看成是一棵有序的二叉树。 其终端节点或是体素、或是形体变换参数。 非终端结点或是正则的集合运算,或是变换(平 移和/或旋转)操作,这种运算或变换只对其紧 接着的子结点(子形体)起作用。
CSG树是无二义性的,但不是唯一的.
CSG表示的优点: 数据结构比较简单,数据量比较小,内部数据的 管理比较容易; CSG表示可方便地转换成边界(Brep)表示; CSG方法表示的形体的形状,比较容易修改。 CSG表示的缺点: 对形体的表示受体素的种类和对体素操作的种类 的限制,也就是说,CSG方法表示形体的覆盖域 有较大的局限性。
观看GEMS5.0演示 欧拉操作 选读
欧拉操作 对于任意的简单多面体,其面 (f) 、边 (e)、 顶点(v)的数目满足 欧拉公式 v-e+f=2 对于任意的正则形体,引入形体的其它几 个参数:形体所有面上的内孔总数 (r) 、 穿透形体的孔洞数 (h) 和形体非连通部分 总数(s),则形体满足公式: v - e + f = 2(s-h) + r
在几何造型系统中,根据特征的参数我们并不 能直接得到特征的几何元素信息,而在对特 征及在特征之间进行操作时需要这些信息。 特征方法表示形体的覆盖域受限于特征的种类。
应用系统
用户
特征造型器
特征模型
几何造型器
几何模型
图3.2.8 基于特征的造型系统
R H L W H H R
(a)方块
(b)圆柱 图3.2.9 特征形状表示
(c)圆锥
构造表示的特点:
构造表示通常具有不便于直接获取形体几何元 素的信息、覆盖域有限等缺点, 但是,便于用户输入形体,在CAD/CAM系统中, 通常作为辅助表示方法。
3.边界表示(BR表示或BRep表示)

计算机图形学

计算机图形学

计算机图形学简介课程号:06191130课程名称:计算机图形学英文名称:Computer Graphics周学时:2-2学分:3预修要求:计算方法、c语言内容简介:计算机图形学的原理、算法及系统,并用c语言编写绘图程序。

主要内容包括计算机图形学的发展概况、图形设备及系统;线段、园、区域填充、线型线宽、字符、裁剪、等基本图形生成算法;样条、Bezier、B样条等常用曲线的概念、生成算法和性质;Coons曲面、Bezier曲面、B样条曲面等常用曲面的基本概念和生成算法;用c语言编写绘图程序。

选用教材或参考书:<<计算机图形学>>(新版),孙家广杨长贵编著,清华大学出版社,2003年《计算机图形学》教学大纲一、课程的教学目的和基本要求计算机图形学是随着计算机及外围设备而产生和发展起来的,它是近代计算机科学与雷达、电视及图像处理技术的发展汇合而产生的硕果。

在造船、航空航天、汽车、电子、机械、土建工程、影视广告、地理信息、轻纺化工等领域中的广泛应用,推动了这门学科的不断发展。

通过<<计算机图形学>>的学习,使学生掌握计算机图形学的有关原理、算法及系统,并能用c语言编写绘图程序。

要求学生通过本课程学习,掌握计算机图形学的发展概况、图形设备及系统,掌握直线、园与椭园、区域填充、线型与线宽的处理、字符、裁剪、反走样等基本图形生成算法,掌握样条曲线、Bezier曲线、B样条曲线等常用曲线的概念、生成算法和性质,掌握Coons曲面、Bezier曲面、B样条曲面等常用曲面的基本概念和生成算法,利用c语言编写大量绘图程序。

二、相关教学环节安排1、用多媒体投影教学。

2、上机实验课,每周2学时。

三、课程主要内容及学时分配每周2+2学时,共18周。

主要内容(一)概述――图形设备、系统和应用2学时1.计算机图形学的发展及应用2.图形的输入设备3.图形的输出设备4.计算机图形系统组成(二)直线的生成算法5学时1.数值微分法2.中点法3.Bresenham算法4.逐点比较法(三)园与椭园的生成算法5学时1.园生成算法:中点法、数值微分法、Bresenham算法、逐点比较法2.椭园生成算法(四)基本图形生成算法6学时1.区域填充算法2.线宽与线型处理3.字符4.裁剪算法5.反走样(五)常用曲线生成算法5学时1.样条曲线生成算法2.Bezier曲线生成算法3.B样条曲线生成算法(六)常用曲面生成算法4学时1.Coons曲面2.Bezier曲面3.B样条曲面(七)图形变换2学时1.图形变换基础2.窗口视图变换(八)图形程序设计基础(用C语言)7学时1.图形系统2.C语言图形函数3.图形程序设计及编程实例(九)上机实习四、教材及主要参考书教材:<<计算机图形学>>(新版)孙家广杨长贵编著清华大学出版社参考书:<<计算机图形学>> 孙家广杨长贵编著清华大学出版社。

计算机图形学习题参考答案(完整版)

计算机图形学习题参考答案(完整版)

计算机图形学习题参考答案第1章绪论1、第一届ACM SIGGRAPH会议是哪一年在哪里召开的?解:1974年,在Colorado大学召开了第一届SIGGRAPH年会。

2、计算机图形学之父是谁?解:Sutherland3、列举一些计算机图形学的应用领域(至少5个)。

解:计算机辅助设计、图示图形学、计算机艺术、娱乐、教学与培训、可视化、图像处理、图形用户界面等。

4、简要介绍计算机图形学的研究内容。

解:(1)图形的输入。

如何开发和利用图形输入设备及相关软件把图形输入到计算机中,以便进行各种处理。

(2)图形的处理。

包括对图形进行变换(如几何变换、投影变换)和运算(如图形的并、交、差运算)等处理。

(3)图形的生成和输出。

如何将图形的特定表示形式转换成图形输出系统便于接受的表示形式,并将图形在显示器或打印机等输出设备上输出。

5、简要说明计算机图形学与相关学科的关系。

解:与计算机图形学密切相关的学科主要有图像处理、计算几何、计算机视觉和模式识别等。

计算机图形学着重讨论怎样将数据模型变成数字图像。

图像处理着重研究图像的压缩存储和去除噪音等问题。

模式识别重点讨论如何从图像中提取数据和模型。

计算几何着重研究数据模型的建立、存储和管理。

随着技术的发展和应用的深入,这些学科的界限变得模糊起来,各学科相互渗透、融合。

一个较完善的应用系统通常综合利用了各个学科的技术。

6、简要介绍几种计算机图形学的相关开发技术。

解:(1)OpenGL。

OpenGL是一套三维图形处理库,也是该领域事实上的工业标准。

OpenGL独立于硬件、操作系统和窗口系统,能运行于不同操作系统的各种计算机,并能在网络环境下以客户/服务器模式工作,是专业图形处理、科学计算等高端应用领域的标准图形库。

以OpenGL为基础开发的应用程序可以十分方便地在各种平台间移植;OpenGL与C/C++紧密接合,便于实现图形的相关算法,并可保证算法的正确性和可靠性;OpenGL使用简便,效率高。

《计算机图形学教学资料》1

《计算机图形学教学资料》1
Programmer’s Hierarchical Interactive Graphics System 功能:
为具有高度动态性、交互性的三维图形应用而 设计的图形软件工具库
图形数据按层次结构组织,便于描述多层次的 应用模型
支持三维图形的层次嵌套结构,任何一个图形 结构经适当的几何变换后可成为更复杂对象的 组成部分
2020/4/4
图形软件标准
2020/4/4
数据及文件格式标准
面向图形设备的接口标准: CGI(计算机图形接口)
提供控制图形硬件的一种与设 备无关的方法。可看作是图形设 备驱动程序的一种标准。
CGM(计算机图形元文件)
是一套与设备无关的语义词法 定义的图形文件格式。
2020/4/4
数据及文件格式标准
计算机图形学:是研究通过计算机将数据转换为图形, 并在专用的图形设备上进行显示的原理、方法和技术 的学科。
具体讲,计算机图形学是研究如何生成、存储、处理、 显示、输入和输出图形的学科。
2020/4/4
计算机图形学总体研究内容
第一部分:硬件部分
输入输出设备:与相应软件共同完成图形的输入输出
第二部分:接口部分
60年代:矢量(vector)显示器(刷新能力非常有限) 60年代末期:存储管式显示器(使用金属网构造靶像)
70年代,开花结果的时期,进入这种技术的实用阶段
70年代初期:刷新式光栅(raster)扫描显示器 输入设备:二维:鼠标,跟踪球,光笔,触摸屏,操纵杆:三维:
空间球,数据手套。形式多样、推陈出新,向着使人能够更自然、 更方便地与计算机进行交互的方向发展
计算机图形软件的标准化
计算机图形软件的标准通常是指图形系统及其 相关应用系统中各界面之间进行数据传送和通信 的接口标准,以及供图形应用程序调用的子程序功 能及其格式标准。

计算机图形学.ppt

计算机图形学.ppt
– 1974年,在Colorado大学召开了第一届 SIGGRAPH 年会,并取得了巨大的成功
– 每年只录取大约50篇论文
硬件发展
• 图形显示器的发展 图形显示器是计算机图形学中关键的设备
• 60年代中期:画线显示器(亦称矢量显示器) 需要刷新。设备昂贵,限制普及
• 60年代后期:存储管式显示器 不需刷新,价格较低,缺点是不具有动态修
奥迪效果图和线框图
计算机辅助设计与制造 (CAD/CAM)
– 基于工程图纸的三维形体重建
• 定义:从二维信息中提取三维信息,通过对这些 信息进行分类、综合等一系列处理,在三维空间 中重新构造出二维信息所对应的三维形体,恢复 形体的点、线、面及其拓扑关系,从而实现形体 的重建
• 优势:可以做装配件的干涉检查、以及有限元分 析、仿真、加工等后续操作,代表CAD技术的发 展方向
1.1 研究内容
?何谓图形 ?构成图形的要素 ?图形的两种表示法 ?图形学所研究的内容
图形以及构成图形的要素
• 图形:计算机图形学的研究对象 – 能在人的视觉系统中产生视觉印象的客观对 象 – 包括自然景物、拍摄到的图片、用数学方法 描述的图形等等
• 构成图形的要素
– 几何要素:刻画对象的轮廓、形状等 – 非几何要素:刻画对象的颜色、材质等
什么是计算机图形学
• 定义:计算机图形学是研究怎样用数字 计算机生成、处理和显示图形的一门学 科。
• 计算机图形学计算机科学中,最为活跃、 得到广泛应用的分支之一
计算机图形学的研究内容
• 如何在计算机中表示图形、以及利 用计算机进行图形的计算、处理和 显示的相关原理与算法,构成了计 算机图形学的主要研究内容。
如: GKS (Graphics Kernel System)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
x 0 1 2 3 4 5 int(y+0.5) 0 0 1 1 2 2 y+0.5 0 0.4+0.5 0.8+0.5 1.2+0.5 1.6+0.5 2.0+0.5
Line: P0(0, 0)-- P1(5, 2) 3 2 1 0 1 2 3 4 5
注:网格点表示象素
void DDALine(int x0,int y0,int x1,int y1,int color) int x;
2.1.1 数值微分(DDA)法
基本思想
已知过端点P0 (x0, y0), P1(x1, y1)的直线段L y=kx+b 直线斜率为 k y1 y0
x1 x0
从x的左端点x0开始,向x右端点步进。步长=1(个象 素),计算相应的y坐标y=kx+B;取象素点(x, round(y))作为当前点的坐标。
构造判别式:d=F(M)=F(xp+1,yp+0.5) =a(xp+1)+b(yp+0.5)+c 其中a=y0-y1, b=x1-x0, c=x0y1-x1y0
当d<0,M在L(Q点)下方,取右上方P2为下一个象素; 当d>0,M在L(Q点)上方,取右方P1为下一个象素; 当d=0,选P1或P2均可,约定取P1为下一个象素; d是xp, yp的线性函数,因此可采用增量计算,提高运算效率。
5 -3 2 5 3 3 P1P2 P2P3 上图所示各条扫描线的新边表NET
假定当前扫描线与多边形某一条边的交点的x坐标 为x,则下一条扫描线与该边的交点不要重计算, 只要加一个增量△x。
设该边的直线方程为:ax+by+c=0;
若y=yi,x=x i;则当y = y
xi 1 1 (b yi 1 ci ) xi b ; a a
当d≥0.5时,最接近于当前象素的右上方象素(xi+1,yi+1 而当d<0.5时,更接近于右方象素(xi+1,yi)。
为方便计算,令e=d-0.5, e的初值为-0.5,增量为k。
当e≥0时,取当前象素(xi,yi)的右上方象素(xi+1,yi+1); 而当e<0时,更接近于右方象素(xi+1,yi)。
其中 x b 为常数
i+1时,
a

扫描线与多边形的顶点或边界相交时,必须正确的交点 的取舍。只需检查顶点的两条边的另外两个端点的y值。 按这两个y值中大于交点y值的个数是0,1,2来决定。
P1
1 P2 2 3
P3
P4
算法过程
void polyfill (polygon, color) int color; 多边形 polygon; { for (各条扫描线i ) { 初始化新边表头指针NET [i]; 把y min = i 的边放进边表NET [i]; } y = 最低扫描线号; 初始化活性边表AET为空; for (各条扫描线i ) {
2.1.3 Bresenham算法
基本思想
过各行各列象素中心构造一组虚拟网格线。按 直线从起点到终点的顺序计算直线与各垂直网 格线的交点,然后根据误差项的符号确定该列 象素中与此交点最近的象素。
d
d d d
y k 设直线方程为: i 1 yi k ( xi 1 xi ) yi ,其中k=dy/dx。 因为直线的起始点在象素中心,所以误差项d的初值d0=0。 X下标每增加1,d的值相应递增直线的斜率值k,即d=d+k。 一旦d≥1,就把它减去1,这样保证d在0、1之间。
若 d<0, 则取P1为下一象素,而且再下一象素的判别式为
d ' F ( x p 2, y p 0.5) ( x p 2) 2 ( y p 0.5) 2 R 2 d 2 x p 3
若d>=0, 则应取P2为下一象素,而且下一象素的判别式为
d ' F ( x p 2, y p 1.5) ( x p 2)2 ( y p 1.5)2 R 2 d 2( x p y p ) 5
第2章 光栅图形学
2.1直线段的扫描转换算法 2.2圆弧的扫描转换算法 2.3多边形的扫描转换与区域填充 2.4字符 2.5裁剪 2.6反走样 2.7消隐
2.1 直线段的扫描转换算法
直线的扫描转换: 确定最佳逼近于该直线的 一组象素,并且按扫描线顺序,对这些 象素进行写操作。 三个常用算法:
2.1.1数值微分法(DDA) 2.1.2中点画线法 2.1.3Bresenham算法。
若当前象素处于d0情况,则取正右方象素P1(xp+1, yp), 要判下一个象素位置,应计算
d1=F(xp+2, yp+0.5)=a(xp+2)+b(yp+0.5)=d+a; 增量为a 若d<0时,则取右上方象素P2(xp+1, yp+1)。要判断 再下一象素,则要计算
d2= F(xp+2, yp+1.5)=a(xp+2)+b(yp+1.5)+c=d+a+b ;增 量为a+b
边界标志算法
基本思想:
帧缓冲器中对多边形的每条边进行直线扫描转 换,亦即对多边形边界所经过的象素打上标 志。 然后再采用和扫描线算法类似的方法将位于多 边形内的各个区段着上所需颜色。 使用一个布尔量inside来指示当前点是否在多 边形内的状态。
第 一个象素是(0,R),判别式d的初始值为
d0 F (1, R 0.5) 1.25 R
为了进一步提高算法的效率,可以将上面 的算法中的浮点数改写成整数,将乘法 运算改成加法运算,即仅用整数实现中 点画圆法。 使用e=d-0.25代替d e0=1-R
算法过程
MidPointCircle(int r int color) { int x,y; float d; x=0; y=r; d=1.25-r; circlepoints (x,y,color); //显示圆弧上的八个对称点 while(x<=y) { if(d<0) d+=2*x+3; else { d+=2*(x-y)+5; y--;} x++; circlepoints (x,y,color); }
2.3.1多边形的扫描转换
扫描线算法
基本思想: 按扫描线顺序,计算扫描线与多边形 的相交区间,再用要求的颜色显示 这些区间的象素,即完成填充工作。 对于一条扫描线填充过程可以分为四个 步骤: (1)求交(2)排序 (3)配对(4)填色
8 7 6 5 4 3 2
P6(2,7)
P4(11,8) F G B P5(5,5) P3(11,3) C D
P6P1 2 0 7 P5P6 3.5 -1.5 7 P4P5 7 2 8 P3P4 11 0 8
A
△ x ymax
B
△ x ymax
C
△ x ymax
D
△ x ymax
新边表(NET):
存放在该扫描线第一次出现的边。若某边的较低端 点为ymin,则该边就放在扫描线ymin的新边表中
8 7 6 5 4 3 2 1 0 11 2 0 0 8 7 P3P4 P6P1 P4P5 5 2 P5P6 8 5 -1.5 7
可以改用整数以避免除法。由于算法中只用到误差项的符号, 因此可作如下替换:
e' 2 * e * dx
k=dy/dx=0.4
3 2 1 0 1 2
例:Line: P0(0, 0), P1(5,2) x y e 0 0 -0.5 1 0 -0.1 2 1 0.3 3 1 -0.3 4 2 0.1 5 2 -0.5
计算yi+1= kxi+1+B = k1 xi+B+kx = yi+kx 当x =1; yi+1 = yi+k
即:当x每递增1,y递增k(即直线斜率); 注意上述分析的算法仅适用于k ≤1的情形。 在这种情况下,x每增加1,y最多增加1。 当 k 1时,必须把x,y地位互换
例:画直线段p(0,0)--P1(5,2)
2.2 圆弧的扫描转换算法
圆的特征:八对称性。只要扫描转换八分之一圆弧,就
可以求出整个圆弧的象素集
中点画圆法
考虑中心在原点,半径为R 的第二个8分圆,
P=(xp,yp) P1
M P2
构造判别式(圆方程)
d F ( M ) F ( x p 1, y p 0.5) ( x p 1) 2 ( y p 0.5) 2 R 2
float dx, dy, y, k; dx, = x1-x0, dy=y1-y0; k=dy/dx, y=y0; for (x=x0; xx1, x++) drawpixel (x, int(y+0.5), color); y=y+k;
2.1.2 中点画线法
基本思想
当前象素点为(xp, yp) 。下一个象素点为P1或P2。 设M=(xp+1, yp+0.5),为p1与p2 之中点,Q为理想直线与x=xp+1 P2 垂线的交点。将Q与M的y坐标进 行比较。 Q 当M在Q的下方,则P2 应为 下一个象素点; P=(xp,yp) P1 M在Q的上方,应取P1为下一点。
画线从(x0, y0)开始,d的初值
d0=F(x0+1, y0+0.5)=F(x0, y0)+a+0.5b =a+0.5b。 可以用2d代替d来摆脱小数,提高效率。 令 d0=2a+b, d1=2a, d2=2a+2b,我们有如下算法 。
例:用中点画线法P0(0,0) P1(5,2)
相关文档
最新文档