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

计算机图形学

计算机图形学
计算机图形学

第1章:绪论

第2章:图形系统与图形生成

第3章:OpenGL编程基础

OpenGL以及OpenGL初步编程进行介绍

OpenGL中的基本几何图形的绘制

第4章:图形观察与变换

OpenGL中二维、三维变换等内容

第5章:三维物体的表示

/曲面基础知识

OpenGL中曲线/曲面的内容

第6章:真实感图形的生成与处理

OpenGL生成光照条件下的真实感图形。第7章:计算机动画

第8章:虚拟现实技术概述:

VR系统的特征和应用

VR最新发展方向

VR

1.1计算机图形学概念及研究内容

1 定义:

计算机图形学(Computer Graphics)是研究怎样用计算机生成、处理和显示图形的一门学科。生成:在计算机内表示客观世界物体的模型,即图形建模;

显示:模型对象在计算机显示设备或其他输出设备上的显示;

处理:利用计算机实现客观世界、对象模型和输出图形这三者之间映射的一系列操作和处理过程。

什么是图形?

在计算机图形学中,构成图形的要素可以分成两类:

?一类是刻画形状的点、线、面、体等几何要素;

?一类是反映物体表面属性或材料的明暗、色彩等非几何要素。

图的两种表示方法

1,点阵法。枚举出图形中所有的点来表示,强调图形由点及其点的属性(颜色)构成:像素图、位图或图像。一般地,一个图像就是一个矩阵,该矩阵的每一个元素都表示图像某行某列一个点的颜色值,矩阵的维数就是图像的宽度和高度

点阵图形的特点:

常用的点阵图形文件格式:JPEG,BMP, Tif, GIF, PNG

2,参数法。由图形的形状参数和属性参数来表示图形。参数法生成的图也称为矢量图、图形。

1.形状参数:方程或分析表达式的系数,线段的端点坐标等。

2.属性参数:颜色、线型等。

常用的矢量图形文件格式:DXF,OBJ,3DS

图形是指参数法表示的。

图形和图像的含义是完全不同的

图像的特点和分类

一个整数,其大小称为像素值。

?灰度级分辨率、颜色分辨率

图像分为两色图(黑白)、灰度图、彩色图、真彩色图

图形的特点

色、材质、纹理等可选要素

真实感图形计算的结果是以数字图象的方式提供的,计算机图形学也就和图像处理有着密切的关系。

图形软件又分为图形数据模型、图形应用软件和图形支撑软件三部分

OpenGL (Open Graphics Library)是由SGI公司设计的一套底层三维图形API。

OpenGL是一个开放图形库,具有良好的可移植性,同时调用方法简洁明了,应用广泛。OpenGL 是独立于操作系统和硬件环境的三维图形软件库。由于其开放性和高度的可重用性,目前已成为业界标准.

第二章

计算机图形系统是进行图形处理的计算机系统,是计算机图形硬件和图形软件的集合。

图形硬件包括具有图形处理能力的计算机主机、图形显示器以及鼠标和键盘等基本交互工具,还有图形输入板、绘图仪、图形打印机等输入输出设备,以及磁盘、光盘等图形存储设备。

图形软件分为图形数据模型、图形应用软件和图形支撑软件三部分。涵盖了计算机系统软件、高级语言和专业应用软件等方面。

一个计算机图形系统至少应当具有计算、存储、对话、输入、输出五个方面的基本功能。(1)计算功能:图形系统应能实现设计过程中所需要的计算、变换和分析功能,如直线、曲线、曲面等几何因素的生成,坐标系的几何变换,线段和形体间的求交、裁剪计算以及光、色模型的建立等,都需要快速的计算能力。

(2)存储功能:在计算机的内存、外存中能存放图形数据,尤其是存放形体几何元素(点、边、面、体)之间的连接关系以及各种属性信息,并且可基于设计人员的要求对有关信息进行实时检索、修改、增加、删除等操作

(3)对话功能:图形系统应能通过图形显示器及其它人-机交互设备直接进行通信。人能利用定位、拾取等手段,输入或获取各种参数,同时系统应能领会人的意图,接收各种命令,实现增、删、改等操作,并且人能观察设计结果。

(4)输入功能:把图形设计和绘图过程中的有关定位、定形尺寸及必要的参数和命令输入到计算机中去。

(5)输出功能:图形系统应能在屏幕上显示出设计过程当前的状态,经过增、删、改后的结果,在得到满意的设计结果或其它输出要求时,应能通过绘图仪、打印机等设备实现硬拷贝输出,以便长期保存。

在一个基本的计算机图形系统中,图形输入设备是将用户的图形数据、各种命令转换成电信号传送给计算机,图形输出设备是将计算机处理好的结果转换成图形呈现在用户面前,如图形的显示、绘制和打印。

1) 图形输入设备

图形输入设备从逻辑上分为六种

图形卡

在个人计算机上,将用于图形显示的处理器(DPU)、视频处

理控制器、显示处理存储器以及接口电路等集成在一起,单独做

成一块板卡,称为图形显示适配器(Graphic Display Adapter,简称显卡)。

工作站

工作站是具有高速的科学计算、丰富的图形功能处理、灵活的窗口界面及网络管理功能的交互式计算机系统。一般地说,工作站具有如下的特点:

(1)具有32位或64位字长的CPU,广泛采用精简指令系统(RISC);

(2)配备大容量的内存和外存,运算速度很高,可达20MIPS和5MFLOPS以上;

(3)一般采用UNIX及类似的操作系统,配有高性能的窗口管理系统,如Motif或OpenLook 等;

(4)具有很强的图形图像处理功能,配有专用的图形图像处理器,大尺寸高分辨率的显示器,如19英寸或21英寸,1280X1024以上的分辨率,颜色深度可达100个位面以上;(5)具有网络功能,支持TCP/IP协议;

(6)基本用户是工程和产品的设计师,主要用于工程和产品的设计与绘图、工业模拟和艺术设计等。

CRT主要由电子枪、聚焦系统、偏转系统、和荧光屏四部分组成。

彩色CRT和单色显示器的不同是由于荧光粉的缘故。目前大多使用的是荫罩式彩色CRT,荫罩(shadow mask)是安装在荧光屏的内侧的上面刻有40多万个孔的薄钢板。荫罩孔的作用在于保证三束电子共同穿过同一个荫罩孔,准确的激发荧光粉,使之发出红、绿、蓝三色光。

2.2.2 光栅扫描显示原理

光栅扫描方式中,电子束总是不断地从左至右、从上到下反复扫描整个屏幕,在扫描过程中,只要在对应时刻在对应位置控制电子束的强度就能显示所要的图形。电子束横向从左到右扫描一次称为一条扫描线,在每条扫描线末端,电子束返回到屏幕的左边,又开始显示下一条扫描线。一帧图像是光栅显示系统执行一次全屏幕循环扫描(一次屏幕刷新)所产生的图像。

光栅扫描显示器的屏幕可分为m行扫描线,每行扫描线有n个像素。这样整个屏幕就分为m n个像素,m n就是显示器的分辨率。

帧缓冲器

帧缓冲器或刷新存储器,俗称显示存储器。

/颜色信息的能力。帧缓冲器的单元个数至少与显示器能显示的像素总数相同,且存储单元一一对应于可寻址的屏幕像素位置。

最简单的光栅扫描系统:

除了中央处理器(cpu)以外还使用一个视频控制器或显示控制器来控制显示设备的操作。帧缓冲器可在系统存储器的任意位置,视频控制器访问帧缓冲器,以刷新屏幕。除了视频控制器,更复杂的光栅系统运用其它处理器作协处理器和加速器,并执行各种图形操作。

计算机将要显示的图形、图像转化为位图,经过接口电路送入帧缓存,视频控制器控制电子束依照固定的扫描顺序,自上而下,从左到右扫描整个屏幕,同时,把一帧画面中的每个像素的值从帧缓存中读出。读出的值控制电子束能量的大小,决定像素的亮度。

具有显示处理器的光栅扫描系统:

显示处理器的用途是使cpu从图形杂务中解脱出来。除了系统存储器外,还提供独立的显示处理器存储区域。上图表示了建立包含独立显示处理器的光栅扫描系统的结构。

显示处理器的主要任务是将应用程序给出的图形定义数字化为一组像素强度值,存放在帧缓冲器,这个过程称扫描转换

显示配置是指显示器和显示卡这两方面的内容。显示器又叫监视器。最简单显示卡将显示器控制适配器,它将显示处理器、存储器、显示控制器制作在一块板卡或者芯片上,它与显示器一起构成一个显示系统。

显示器

从显示标准的角度说,每一种标准都包含有一种或多种显示模式,每一种显示模式都规定了模式的类型、字符尺寸、字符格式、屏幕分辨率、色彩等指标。

显示卡又名显示适配器,当前显示卡主要由显示芯片、显示内存、RAMDAC芯片、输入输出系统接口、显示器插座、连接主板总线的接口等组成。

显卡的主要部件

显示主芯片

图形处理器,显卡的核心,俗称GPU(类似DPU),它的主要任务是对系统输入的视频信息进行构建和渲染

视频控制器,建立帧缓存与屏幕像素之间的一一对应,负责刷新屏幕

显示缓存

用来存储将要显示的图形信息以及保存图形运算的中间数据

显存的大小和速度直接影响着主芯片性能的发挥

数字模拟转换器(RAMDAC)

它的作用就是把二进制的数字转换成为和显示器相适应的模拟信号

显示卡的性能决定

一块显示卡的性能高低主要是由显示内存、显示芯片、接口和RAMDAC(数模转换芯片)几部分来决定。

直接影响显示的分辨率及其色彩位数,容量越大,所能显示的分辨率及其色彩位数越高。

RAMDAC:此芯片决定显示器所表现出的分辨率以及图像的显示速度。

芯片:此芯片是决定显示卡性能的重要依据,这种芯片具有二维图像或三维图像的处理功能。

三维模型和三维建模

用计算机建立的三维图形称为三维模型。

其建立过程称为三维模型的建立,简称三维建模或者三维造型。

线框模型

线框模型是三维形体的框架,是一种较直观和简单的三维表达方式,由描述对象的线段和曲线组成。

表面模型

表面模型,也称曲面模型。曲面模型用来描述曲面的形状,一般是对线框模型经过进一步处理得到的。

实体模型

实体模型不仅具有线、面的特征,而且还具有体的特征

世界坐标系(World Coordinate System,WCS)是一种固定的坐标系,即原点和各坐标轴的方向固定不变。

当用户以世界坐标的形式输入一个点时,可以采用直角坐标、柱面坐标和球面坐标的方式来实现

1、三维笛卡尔坐标:通过使用三个坐标值来指定精确的位置:X、Y 和Z。

2、三维柱坐标:通过XY 平面中与UCS 原点之间的距离、XY 平面中与X 轴的角度以及Z 值来描述精确的位置。

3、三维球坐标:通过指定某个位置距当前UCS 原点的距离、在XY 平面中与X 轴所成的角度以及与XY 平面所成的角度来指定该位置。

模型渲染

是将线框模型或者曲面模型加工为真实感图形的过程。

GDI是Windows平台下生成、显示图形、图像的命令库,是应用程序开发的调用接口;

OpenGL主要包括三个函数库

OpenGL核心库:其中包含了OpenGL最基本的命令函数。这些函数都以`gl`为前缀。(115个)

OpenGL实用库:它是比OpenGL核心库更高一层的函数库,实用程序库中的所有函数都是由OpenGL的核心库函数编写。函数都以`glu`为前缀。(43个)

OpenGL辅助库:提供了一些基本的窗口管理函数、事件处理函数和简单的事件函数。函数都以`aux`为前缀。

OpenGL的主要功能:

四个:建立模型、几何变换、真实感图形生成、动画

1)几何建模

2)坐标变换

3)颜色模式设置

4)光照和材质设置

5)图像功能

6)纹理映射

7)实时动画

初始化和创建窗口

1)void glutInit(int argc,char**argv);该函数用于初始化GLUT库,其参数应与主函数main()的参数相同。应该在调用其他GLUT函数之前调用glutInit()函数。

2)void glutInitDisplayMode(unsigned int mode);该函数为即将创建的窗口指定一种显示模式。参数的默认值为GLUT_RGBA|GLUT_SINGLE,即指定一个RGBA颜色模式的单缓存窗口。

3)void glutInitWindowPosition(int x,int y); 指定窗口左上角应该放置在屏幕上的位置。

4)void glutInitWindowSize(int width,int height);指定了窗口以像素为单位的尺寸。

5)voidglutCreateWindow(char* string); 创建一个允许使用的OpenGL窗口,并将其视为当前窗口。

glColor3f(1.0,1.0,1.0) 命令,

gl前缀代表该函数来自gl库(说明该函数来自哪个库);

Color代表对颜色的设定;

3f表示该函数需要3个浮点型的参数;(后缀中的数字表示该函数需要的参数个数,字母表示该函数的需要的参数类型)

OpenGL程序需要有头文件gl.h和glu.h、GLAUX.h,库opengl32.lib,glu32.lib, GLAUX.lib,

GLUT还需要glut.h 和glut32.lib。

OpenGL程序,需要在windows\system目录下有动态连接库opengl32.dll和glu32.dll, GLAUX.dll,若使用GLUT还需要glut32.dll。

OpenGL的点用一组称为顶点的浮点数定义。所有的内部运算都是按顶点是三维点进行的。即使用户设定的是二维的顶点,OpenGL也会通过自动增加一个值为0的z坐标。

第四章

4.1.1平移变换

4.1.2旋转变换

4.1.3比例变换

4.1.4对称变换

4.1.5错切变换

4.1.6复合变换

在方向、尺寸和形状方面的变化是通过改变图形坐标描述的几何变换来完成的

可改变和管理各种图形的显示

4.1.7二维观察变换

图形的二维观察是通过指定一个在图形中要显示的部分以及在显示器显示位置,并执行从世界坐标系到设备坐标系的图形变换及删除位于显示区域范围以外的图形部分而实现的。

二维观察流程

在世界坐标系中要显示的区域称为窗口;窗口映射到显示设备上的坐标区域称为视区。标准窗口与视区一般都采用矩形,其各边分别与坐标平行。

可以在输出设备的不同位置观察物体;也可以通过改变视区的尺寸来改变显示对象的尺寸和位置。

窗口内的内容在视区中显示出来,必须经过从窗口到视区的变换处理,这种变换即称为观察变换。

1) 在世界坐标系中生成图形

2) 裁剪,得到要显示的内容

3) 窗口到视区的变换

窗口——规格化设备坐标系中的视区——设备坐标系中的视区

4) 显示图形

gluOrtho2D(0.0, 0.0, (GLdouble)w,(GLdouble)h)

该函数定义窗口的大小。

glViewport(0,0,(GLsizei)w,(GLsizei)h)

该函数定义视口的大小。

三维几何变换可以看作是二维几何变换的扩展,有关二维图形几何变换的方法大部分都可应用于三维图形。

三维投影变换:把三维物体变为二维图形表示。

投影变换分为平行投影与透视投影两类。

平行投影保持物体的大小比例不变,物体各个面的精确视图可有平行投影得到,但无法给出三维物体的真实性表示。

透视投影

投影中心又称为视点,它相当于观察者的眼睛。投影面置于视点与物体之间,将物体上的各点与视点相连所得的投影线与投影面的交点就是三维物体上相应点的透视变换结果。

定义了观察窗口的大小,可以利用窗口边界来定义观察空间。

只有在观察空间中的物体才会在输出设备中显示,而其它的景

物将被裁剪掉。

void glPushMatrix(void)

功能:把当前的矩阵拷贝到栈中。

void glPopMatrix(void)

最后压入栈的矩阵恢复为当前矩阵。

视点变换

视点变换也可以称为视图变换,是指改变对象观察点的位置和方向。

曲线曲面主要包括下列类型:

:圆、抛物线、螺旋线等曲线和球、圆柱、圆锥等曲面都很容易用数学方程式表示出来,这类曲线和曲面分别称为规则曲线和规则曲面。

体外形、卡通形象等,很难用数学式表示,这样的曲线和曲面分别称为自由曲线和自由曲面。

自由曲线和自由曲面一般通过少数分散的点生成。常用三种类型的点:

应的曲线和曲面一定经过的点。

三次Hermite样条

贝塞尔曲线也是参数多项式曲线,

贝塞尔曲线由一组控制点构成的特征多边形唯一的定义Bezier的递推算法

第六章

隐藏面消除算法也称为可见面判别算法。

6.1.1 后向面判别

6.1.2 画家算法

6.1.3 区域细分算法

后向面判别

多面体的表面可分为内侧和外侧。对观察者而言,外侧是可见的,

而内侧不可见。我们可利用表面外法线的方向性来进行判别,当

某一表面的外法线与观察点和表面上任意一点之间的连线的夹角

在0<*<90当90<=180

为不可见,该多边形表面为后向面。

画家算法也称列表优先算法,需要先把屏幕置成背景色,再把根据距离观察点的远近构成的优先表逐个地取出多边形在屏幕上进行投影。先投影的线或点会被后投影的线或点所取代。直到最高优先级的多边形的图形送入了帧缓冲器以后,整幅图就画好了。该算法类似于油画家作画的过程,先画远处的景物,再画中间的景物,最后画近处的景物。所以,我们称此算法为画家算法。

区域细分算法是在图像空间中实现的,其遵循以下的基本思想:把物体投影到窗口上,然后递归地对窗口迚行分割,直到窗口内的目标简单到足够可以显示为止。其中,窗口是指整个屏幕;同时,利用递归过程,每一次把矩形的窗口等分成的四个相等的小矩形也称为窗口。

物体表面的反射光可以分为环境光、漫反射光和镜面反射光。

由于辐射光线从一点光源出发在空间进行传播的时候,它的强度会随着距离的增大而减少,其与物体表面某点开始距离光源的空间路程的长度d的平方成反比

面的明暗处理

简单的光照模型主要用于物体表面某点处的光强度的计算,还需要通过光照模型中的光强度计算来确定场景中物体表面的所有投影像素点的光强度,即面的明暗处理。在进行明暗处理后,可以使得所生成的物体图形具有层次感

Gouraud明暗处理。它是通过在面片上将光强度值进行线性插值来对该多边形面片进行绘制的。

光线跟踪的基本原理

光线跟踪算法利用光线的可逆性,从视点出发,沿着视线进行追踪,模拟光的传播路径来确定反射、折射和阴影等,更好地表现物体表面的细节。它是沿着到达视点的光线的反方向跟踪,经过屏幕上每一像素,找出与视线所交的物体表面点,并继续跟踪,找出影响该点光强的所有光源,从而算出该点上精确的光照强度。

纹理映射的基本思想是:将一定的纹理函数映射到物体表面上,在对物体表面进行光亮度计算时可采用相应的纹理函数值作为物体表面的漫反射光亮度值代入光照模型进行计算。

纹理映射过程实际上就是将任意的图形或图像覆盖到物体表面上,使得在物体表面形成真实的色彩花纹。

纹理映射涉及到纹理空间、景物空间和图像空间(即屏幕空间)

有两种方法可以实现三个空间的映射:其一是从纹素出发,映射至物体空间,再映射至屏幕空间;其二是从像素出发,映射至物体空间,再映射至纹理空间。

从视觉的角度看,颜色有其色彩(hue)、饱和度(saturation)和亮度(lightness)决定。

要特征。

100%。

红、绿、蓝(RGB)颜色模型通常用于彩色阴极射线管和彩色光栅图形显示器

与RGB颜色模型不同,以红、绿、蓝的补色青(Cyan)、品红

(Magenta)、黄(yellow)为原色构成的CMY颜色系统,常用于从

白光中滤去某种颜色,故称为减色系统。

RGB和CMY颜色模型是面向硬件的。,HSV(hue,saturation,value)颜色模型则是面向用户的。

H:表示颜色点与红色间的夹角

S:饱和度

V:表示颜色的明暗值

纯色颜料对应于V=1,S=1。添加白色改变色浓,相当于减小S,即在圆锥顶面上从圆周向圆心移动。添加黑色改变色深,相当于减小V值。同时改变S、V值即可获得不同的色调。

“材质”(Material)简单的说就是物体看起来是什么质地。材质可以看成是材料和质感的结合。

材质体现了物体表面对各种颜色的反射效果,准确的说,指的是物体表面对射到表面上的色光的RGB分量的反射率。

通常材质都包括环境光、漫射光、镜面光和自发光等成分,指的就是对不同的光线,不同颜色分量的反射程度。

纹理更偏向于“图”,而材质更偏向于“属性”。比如对同一个立方体模型进行处理:

1,加纹理信息,可以认为是贴上图,比如木头的纹理图,大理石的纹理图。

2,加材质信息,可以认为是为这个立方体加上属性(这些属性主要是指反射系数、折射系数等),比如木头的属性或大理石的属性。

加了纹理的模型是静态的和表面的,不会因为外界环境变化而变化(比如光照)。但是加了材质的模型是动态的和本质的,当外界环境变化的时候能做出相应的变化,所以更真实。

做一个有大理石光泽的木头模型。

在上面的描述中

有“什么光泽”的“什么”,这是材质信息;

“什么模型”的“什么”,这是纹理信息。

光线由四个部分构成:发射光、泛光、漫反射和镜面反射光,这四个成分单独计算,然后再累加起来。发射光(emission):来自物体,不受光源的影响。泛光(ambient):来自环境的泛光光源,在各方向均匀散布。漫反射光(diffuse):来自一个方向,但在各个方向均匀反射的光。一旦照射到表面上,无论在何处观察,亮度相同。镜面反射光(specular):来自一个特定方向,以一个特定方向离开。镜面反射与反射物体的材料属性关系很大,光泽金属能产生很高的镜面反射,而地毯几乎没有镜面反射,在OpenGL中,这个属性是用光泽度(shininess)来表示的。

所谓动画,是指利用人的视觉残留特性使连续播放的静态画面相互衔接而形成的动态效果。

实时动画:用算法来实现物体的运动控制。

逐帧动画:也称为帧动画或关键帧动画,即一帧一帧显示动画的图像序列而实现运动的效果。

虚拟现实

任何一个虚拟现实系统都可以用三个“I‖来描述其特性,这就是沉浸“(Immersion)‖―交互(Interaction)‖―想象(Imagination)‖。

DVR关键特性:

(l) DVR允许一组分布在不同地理位置上的用户进行实时交互。

(2)DVR所构造出的虚拟环境对用户的视觉和听觉来说都应该是三维的。

(3)DVR的每个用户在计算机环境中都以替身的形式出现

(4)用户除与其他用户交互之外,还可以与其它计算机仿真的虚拟生物交互

(5) 用户能够相互说话,

计算机图形学作业

计算机图形学第一次作业 计算机X班XXX 1XXX010XXX 1.你是否想用图形学的有关知识去解决一两个实际问题?你想解决的问题是什么?考虑如何解决? 答:我希望可以解决的有设计汽车外壳和制作动画。 解决方法:(1)汽车外壳 使用3D MAX/AutoCAD软件进行设计。 (2)制作动画 利用动画制作软件(3D MAX)在计算机上制作动画 2.某彩色图形显示系统,CRT显示器的分辨率为1024×1024,它可以从2^17次方种颜色中选择出2^15次方来显示,其帧缓冲器的容量应该如何计算?查色表的长度和宽度应为多少? 解:16b==2B 因为分辨率为1024x1024 所以1024*1024*2B=2MB 3.采用Bresenham画线算法,绘出起点(1,3),终点为(9,18)的直线段。 解: void DrawBresenhamline(int x0, int y0, int x1, int y1) { int dx = x1 - x0;//x偏移量 int dy = y1 - y0;//y偏移量 int ux = dx >0 ?1:-1;//x伸展方向 int uy = dx >0 ?1:-1;//y伸展方向 int dx2 = dx <<1;//x偏移量乘2 int dy2 = dy <<1;//y偏移量乘2 if(abs(dx)>abs(dy)) {//以x为增量方向计算 int e = -dx; //e = -0.5 * 2 * dx,把e 用2 * dx* e替换 int x = x0;//起点x坐标 int y = y0;//起点y坐标 for (x = x0; x < x1;x+=ux) { printf ("%d,%d\n",x, y); e=e + dy2;//来自2*e*dx= 2*e*dx + 2dy (原来是e = e + k) if (e > 0)//e是整数且大于0时表示要取右上的点(否则是右下的点) { y += uy; e= e - dx2;//2*e*dx = 2*e*dx - 2*dx (原来是e = e -1) } } } else {//以y为增量方向计算

计算机图形学试题附答案完整版

名词解释 将图形描述转换成用像素矩阵表示的过程称为扫描转换。 1.图形 2.像素图 3.参数图 4.扫描线 5.构造实体几何表示法 6.投影 7.参数向量方程 8.自由曲线 9.曲线拟合 10.曲线插值 11.区域填充 12.扫描转换 三、填空 1.图形软件的建立方法包括提供图形程序包、和采用专用高级语言。 2.直线的属性包括线型、和颜色。 3.颜色通常用红、绿和蓝三原色的含量来表示。对于不具有彩色功能的显示系统,颜色显示为。 4.平面图形在内存中有两种表示方法,即和矢量表示法。 5.字符作为图形有和矢量字符之分。 6.区域的表示有和边界表示两种形式。 7.区域的内点表示法枚举区域内的所有像素,通过来实现内点表示。 8.区域的边界表示法枚举区域边界上的所有像素,通过给赋予同一属性值来实现边界表示。 9.区域填充有和扫描转换填充。 10.区域填充属性包括填充式样、和填充图案。 11.对于图形,通常是以点变换为基础,把图形的一系列顶点作几何变换后,

连接新的顶点序列即可产生新的变换后的图形。 12.裁剪的基本目的是判断图形元素是否部分或全部落在之内。 13.字符裁剪方法包括、单个字符裁剪和字符串裁剪。 14.图形变换是指将图形的几何信息经过产生新的图形。 15.从平面上点的齐次坐标,经齐次坐标变换,最后转换为平面上点的坐标,这一变换过程称为。 16.实体的表面具有、有界性、非自交性和闭合性。 17.集合的内点是集合中的点,在该点的内的所有点都是集合中的元素。 18.空间一点的任意邻域内既有集合中的点,又有集合外的点,则称该点为集合的。 19.内点组成的集合称为集合的。 20.边界点组成的集合称为集合的。 21.任意一个实体可以表示为的并集。 22.集合与它的边界的并集称集合的。 23.取集合的内部,再取内部的闭包,所得的集合称为原集合的。 24.如果曲面上任意一点都存在一个充分小的邻域,该邻域与平面上的(开)圆盘同构,即邻域与圆盘之间存在连续的1-1映射,则称该曲面为。 25.对于一个占据有限空间的正则(点)集,如果其表面是,则该正则集为一个实体(有效物体)。 26.通过实体的边界来表示一个实体的方法称为。 27.表面由平面多边形构成的空间三维体称为。 28.扫描表示法的两个关键要素是和扫描轨迹。 29.标量:一个标量表示。 30.向量:一个向量是由若干个标量组成的,其中每个标量称为向量的一个分量。 四、简答题 1. 什么是图像的分辨率?

计算机图形学教程课后习题参考答案.

第一章 1、试述计算机图形学研究的基本内容? 答:见课本P5-6页的1.1.4节。 2、计算机图形学、图形处理与模式识别本质区别是什么?请各举一例说明。 答:计算机图形学是研究根据给定的描述,用计算机生成相应的图形、图像,且所生成的图形、图像可以显示屏幕上、硬拷贝输出或作为数据集存在计算机中的学科。计算机图形学研究的是从数据描述到图形生成的过程。例如计算机动画制作。 图形处理是利用计算机对原来存在物体的映像进行分析处理,然后再现图像。例如工业中的射线探伤。 模式识别是指计算机对图形信息进行识别和分析描述,是从图形(图像)到描述的表达过程。例如邮件分捡设备扫描信件上手写的邮政编码,并将编码用图像复原成数字。 3、计算机图形学与CAD、CAM技术关系如何? 答:见课本P4-5页的1.1.3节。 4、举3个例子说明计算机图形学的应用。 答:①事务管理中的交互绘图 应用图形学最多的领域之一是绘制事务管理中的各种图形。通过从简明的形式呈现出数据的模型和趋势以增加对复杂现象的理解,并促使决策的制定。 ②地理信息系统 地理信息系统是建立在地理图形基础上的信息管理系统。利用计算机图形生成技术可以绘制地理的、地质的以及其它自然现象的高精度勘探、测量图形。 ③计算机动画 用图形学的方法产生动画片,其形象逼真、生动,轻而易举地解决了人工绘图时难以解决的问题,大大提高了工作效率。 5、计算机绘图有哪些特点? 答:见课本P8页的1.3.1节。 6、计算机生成图形的方法有哪些? 答:计算机生成图形的方法有两种:矢量法和描点法。 ①矢量法:在显示屏上先给定一系列坐标点,然后控制电子束在屏幕上按一定的顺序扫描,逐个“点亮”临近两点间的短矢量,从而得到一条近似的曲线。尽管显示器产生的只是一些短直线的线段,但当直线段很短时,连成的曲线看起来还是光滑的。 ②描点法:把显示屏幕分成有限个可发亮的离散点,每个离散点叫做一个像素,屏幕上由像素点组成的阵列称为光栅,曲线的绘制过程就是将该曲线在光栅上经过的那些像素点串接起来,使它们发亮,所显示的每一曲线都是由一定大小的像素点组成的。当像素点具有多种颜色或多种灰度等级时,就可以显示彩色图形或具有不同灰度的图形。 7、当前计算机图形学研究的课题有哪些? 答:见课本P10-11页的1.4节。

计算机图形学作业-Display-答案分析

计算机图形学作业I 一.判断题 1.齐次坐标提供了坐标系变换的有效方法,但仍然无法表示无穷远的点;(×) 2.若要对某点进行比例、旋转变换,首先需要将坐标原点平移至该点,在新的坐标系下做比例或旋转变换,然后在将原点平移回去;(√) 3. 相似变换是刚体变换加上等比缩放变换;(√) 4. 保距变换是刚体变换加上镜面反射;(√) 5. 射影变换保持直线性,但不保持平行性。(√) 二、填空题 1.透视投影的视见体为截头四棱锥形状;平行投影的视见体为长方体形状。 2.字符的图形表示可以分为矢量表示和点阵表示两种形式。 3.仿射变换保持直线的平行性 4.刚体变换保持长度 5.保角变换保持向量的角度 三、单项选择题 1. 分辨率为1024×1024的显示器各需要多少字节位平面数为24的帧缓存?( D) A. 512KB; B. 1MB; C. 2MB; D. 3MB ; 2. 在透视投影中,主灭点的最多个数是( C ) A 1; B 2; C 3; D 4 3. 以下关于图形变换的论述不正确的是( B ) A. 平移变换不改变图形大小和形状,只改变图形位置; B. 拓扑关系不变的几何变换不改变图形的连接关系和平行关系; C.旋转变换后各图形部分间的线性关系和角度关系不变,变换后直线的长度不变 D.错切变换虽然可引起图形角度的改变,但不会发生图形畸变; 4. 使用下列二维图形变换矩阵:将产生变换的结果为( D ) A. 图形放大2倍; B. 图形放大2倍,同时沿X、Y1个绘图单位; C.沿X坐标轴方向各移动2个绘图单位; D.沿X坐标轴方向放大2倍,同时沿X、Y坐标轴方向各平移1个绘图单位。 5. 下列有关投影的叙述语句中,正确的论述为(B ) A. 透视投影具有近小远大的特点; B. 平行投影的投影中心到投影面距离是无限的; C. 透视投影变换中,一组平行于投影面的线的投影产生一个灭点; T =

计算机图形学试卷2

一、选择题(每小题2分,共20分) 1.在下列叙述语句中,正确的论述为( ) A 、一个计算机图形系统至少应具有计算、存储、输入、输出四个方面的基本功能; B 、在图形系统中,图形处理速度取决于CPU 的性能; C 、在图形系统中,存储容量指的是计算机的内存; D 、 在图形系统中,图形处理精度主要是指图形采集输入质量和显示输出质量。 2.如果一幅512×512像素的图像,每一像素用4位表示,那么存储此图像至少需要的容量为( ) A 、512K B B 、1MB C 、2MB D 、3MB 3.如果一个长方形使用右边二维图形变换矩阵:???? ??????=105050005T ,将产生变换的结果为( ) A 、图形放大5倍;同时沿X 坐标轴方向移动5个绘图单位 B 、图形放大25倍,同时沿X 坐标轴方向移动5个绘图单位; C 、图形放大5倍,同时沿Y 坐标轴方向移动5个绘图单位; D 、图形放大25倍,同时沿Y 坐标轴方向移动5个绘图单位; 4.下列有关Bezier 曲线性质的叙述语句中,错误的结论为( ) A: Bezier 曲线可用其特征多边形来定义; B: Bezier 曲线必须通过其特征多边形的各个顶点; C 、Bezier 曲线两端点处的切线方向必须与其特征多边形的相应两端线段走向一致; D 、Bezier 曲线具有凸包性。 5.下列有关二维几何变换的叙述语句中,正确的论述为( ) A 、几何变换就是把一个图形从一个位置移到别的位置; B 、几何变换后图形连线次序发生改变; C 、一个正方体经几何变换后可能会变成长方体; D 、几何变换使图形都产生了变形。 6.下列叙述正确的是( ) A 、 点是最基本的图形; B 、 Bresenham 画线法不适用于光栅图形显示器; C 、 正负法使利用平面曲线划分正负区域来直接生成圆弧的方法; D 、 数值微分法不适合画圆弧。 7.下列关于B 样条的叙述正确的是( ) A 、 B 样条曲线不具有凸包性; B 、 给定n 个型值点的三次B 样条曲线可由n-2段三次B 样条曲线段组成; C 、 B 样条曲线通过每一个给定的型值点; D 、 二次B 样条曲线的起点落在其B 特征多边形的第一条边的中点。 8.下面哪一个是Turbo c 提供的获取当前画图颜色函数( ) A 、getbkcolor(void); B 、getcolor(void); C 、getmaxcolor(void); D 、getnowcolor(void) 9.使用二维图形变换矩阵:T =???? ??????-100001010 如果图形的一个顶点坐标为A (6,8) ,则变换后的坐标A ’ 为 ( ) A 、(8,-6); B 、(-6,8); C 、(-8,6); D 、(6,-8)。 10、在透视投影中,主灭点的最多个数是( ) A 、1 B 、2 C 、3 D 、4 二、判断题(请给正确的达上“√”,错误的打上“×”,每小题2分,共20分) 1、所有图形都可以看成是由直线段组成的。( ) 2、图形变换有两种形式:坐标模式变换和图形模式变换。( ) 3、自由曲线可以用一条标准代数方程来描述。( ) 4、B 曲线具有对称性质。( ) 5、齐次坐标可表示图形中无穷远点。 ( ) 6、组合变换就是由若干个基本的几何变换组合而成( ) 7、四向种子填充算法可以用于填充八连通区域。 ( ) 8、多边形裁剪实际就是直线段裁剪的简单组合。 ( ) 9、三维图形的投影变换分为正平行投影和斜平行投影。( ) 10、三视图指的是主视图、仰视图、俯视图。( ) 三、简答题(每小题6分,共30分) 1、简述图像处理、模式识别与计算机图形学的关系。 2、简述直线段生成的数值微分算法基本思想。 3、写出二维几何变换的变换矩阵,各功能子矩阵及作用是什么? 4、简述直线段的编码裁剪方法。 5、什么是三维投影变换 四、计算、分析题(共30分) 1、证明两个二维比例变换T(sx1,sy1),T(sx2,sy2)具有下式: T(sx1,sy1) T(sx2,sy2)=T(sx1 * sx2,sy1 * sy2 ) (本题10分) 2、已知三角形各顶点坐标为(10,10),(10,30)和(30,20),作下列变换,写出变换的矩阵,画出变换后的图形。先绕原点逆时针旋转90度,再沿X 正向平移10,沿Y 负向平移20。(本题10分) 3、已知P0[0,0],P1[1,1],P2[2,1],P3[4,4]是一个三次bezier 曲线特征多边形顶点,求出此bezier 曲线的参数方

计算机图形学课程设计书

计算机图形学课程设计 书 文档编制序号:[KKIDT-LLE0828-LLETD298-POI08]

课程设计(论文)任务书 理学院信息与计算科学专业2015-1班 一、课程设计(论文)题目:图像融合的程序设计 二、课程设计(论文)工作: 自2018 年1 月10 日起至2018 年1 月12日止 三、课程设计(论文) 地点: 2-201 四、课程设计(论文)内容要求: 1.本课程设计的目的 (1)熟悉Delphi7的使用,理论与实际应用相结合,养成良好的程序设计技能;(2)了解并掌握图像融合的各种实现方法,具备初步的独立分析和设计能力;(3)初步掌握开发过程中的问题分析,程序设计,代码编写、测试等基本方法;(4)提高综合运用所学的理论知识和方法独立分析和解决问题的能力; (5)在实践中认识、学习计算机图形学相关知识。 2.课程设计的任务及要求 1)基本要求: (1)研究课程设计任务,并进行程序需求分析; (2)对程序进行总体设计,分解系统功能模块,进行任务分配,以实现分工合作;(3)实现各功能模块代码; (4)程序组装,测试、完善系统。 2)创新要求: 在基本要求达到后,可进行创新设计,如改进界面、增加功能或进行代码优化。

3)课程设计论文编写要求 (1)要按照书稿的规格打印誊写课程设计论文 (2)论文包括封面、设计任务书(含评语)、摘要、目录、设计内容、设计小结(3)论文装订按学校的统一要求完成 4)参考文献: (1)David ,《计算机图形学的算法基础》,机械工业出版社 (2)Steve Cunningham,《计算机图形学》,机械工业出版社 (3) 5)课程设计进度安排 内容天数地点 程序总体设计 1 实验室 软件设计及调试 1 实验室 答辩及撰写报告 1 实验室、图书馆 学生签名: 2018年1月12日 摘要 图像融合是图像处理中重要部分,能够协同利用同一场景的多种传感器图像信息,输出一幅更适合于人类视觉感知或计算机进一步处理与分析的融合图像。它可明显的改善单一传感器的不足,提高结果图像的清晰度及信息包含量,有利于更为准确、更为可靠、更为全面地获取目标或场景的信息。图像融合主要应用于军事国防上、遥感方面、医学图像处理、机器人、安全和监控、生物监测等领域。用于较多也较成熟的是红外和可见光的融合,在一副图像上显示多种信息,突出目标。一般情况下,图像融合由

计算机图形学作业-Display-答案

计算机图形学作业 I 一.判断题 1.齐次坐标提供了坐标系变换的有效方法,但仍然无法表示无穷远的点;(×) 2.若要对某点进行比例、旋转变换,首先需要将坐标原点平移至该点,在新的坐标系下做比例或旋转变换,然后在将原点平移回去;(√) 3. 相似变换是刚体变换加上等比缩放变换;(√) 4. 保距变换是刚体变换加上镜面反射;(√) 5. 射影变换保持直线性,但不保持平行性。(√) 二、填空题 1.透视投影的视见体为截头四棱锥形状;平行投影的视见体为长方体形状。 2.字符的图形表示可以分为矢量表示和点阵表示两种形式。 3.仿射变换保持直线的平行性 4.刚体变换保持长度 5.保角变换保持向量的角度 三、单项选择题 1. 分辨率为1024×1024的显示器各需要多少字节位平面数为24的帧缓存?( D) A. 512KB; B. 1MB; C. 2MB; D. 3MB ; 2. 在透视投影中,主灭点的最多个数是( C ) A 1; B 2; C 3; D 4 3. 以下关于图形变换的论述不正确的是( B ) A. 平移变换不改变图形大小和形状,只改变图形位置; B. 拓扑关系不变的几何变换不改变图形的连接关系和平行关系; C.旋转变换后各图形部分间的线性关系和角度关系不变,变换后直线的长度不变 D.错切变换虽然可引起图形角度的改变,但不会发生图形畸变; 4. 使用下列二维图形变换矩阵:将产生变换的结果为( D ) A. 图形放大2倍; B. 图形放大2倍,同时沿X、Y1个绘图单位; C.沿X坐标轴方向各移动2个绘图单位; D.沿X坐标轴方向放大2倍,同时沿X、Y坐标轴方向各平移1个绘图单位。 5. 下列有关投影的叙述语句中,正确的论述为(B ) A. 透视投影具有近小远大的特点; B. 平行投影的投影中心到投影面距离是无限的; C. 透视投影变换中,一组平行于投影面的线的投影产生一个灭点; T =

计算机图形学基础教程实验报告

湖北民族学院信息工程学院实验报告 (数字媒体技术专业用) 班级:0312413姓名:谌敦斌学号:031241318实验成绩: 实验时间:2013年10 月14 日9、10 节实验地点:数媒实验室课程名称:计算机图形学基础教程实验类型:设计型 实验题目:直线与圆的绘制 一、实验目的 通过本次实验,熟练掌握DDA、中点、Bresenham直线绘制方法和中点、Bresenham圆的画法,能够在vc环境下独立完成实验内容,逐渐熟悉opengl的语法特点,提高程序基本绘图的能力。 二、实验环境(软件、硬件及条件) Microsoft vc++6.0 多媒体计算机 三、实验内容 1.从DDA、中点、Bresenham画线法中任选一种,完成直线的绘制。 2.从中点、Bresenham画圆法中任选一种,完成圆的绘制。 四、实验方法与步骤 打开vc++6.0,新建一个工程,再在工程里面建一个.cpp文件,编辑程序,编译连接后执行即可。

程序如下 bresenham画线法: #include #include int bresenham(int x0,int y0,int x1,int y1,int color) { int x,y,dx,dy,e,i; dx=x1-x0; dy=y1-y0; e=-dx; y=y0; for(x=x0;x<=x1;x++) { putpixel(x,y,color); e+=2*dy; if(e>=0) { y++; e-=2*dx; } } return 0; } int main() { initgraph(640,480); bresenham(0,0,500,200,255); while(!kbhit()) { } closegraph(); return 0; } Bresenham画圆法: #include #include int circlepoints(int x,int y,int color) { putpixel(255+x,255+y,color); putpixel(255+y,255+x,color); putpixel(255-x,255+y,color);

计算机图形学课程教学大纲

《计算机图形学》课程教学大纲一、课程基本信息 课程代码:110053 课程名称:计算机图形学 英文名称:Computer Graphics 课程类别:专业课 学时:72 学分: 适用对象:信息与计算科学专业本科生 考核方式:考试(平时成绩占总成绩的30%) 先修课程:高级语言程序设计、数据结构、高等代数 二、课程简介 中文简介: 计算机图形学是研究计算机生成、处理和显示图形的学科。它的重要性体现在人们越来越强烈地需要和谐的人机交互环境:图形用户界面已经成为一个软件的重要组成部分,以图形的方式来表示抽象的概念或数据已经成为信息领域的一个重要发展趋势。通过本课程的学习,使学生掌握计算机图形学的基本原理和基本方法,理解图形绘制的基本算法,学会初步图形程序设计。 英文简介: Computer Graphics is the subject which concerned with how computer builds, processes and shows graphics. Its importance has been shown in people’s more and more intensively need for harmony human-machine interface. Graphics user interface has become an important part of software. It is a significant trend to show abstract conception or data in graphics way. Through the learning of this course, students could master Computer Graphics’basic theories and methods,understand graphics basic algorithms and learn how to design basic graphics program. 三、课程性质与教学目的 《计算机图形学》是信息与计算科学专业的一门主要专业课。通过本课程的学习,使学生掌握基本的二、三维的图形的计算机绘制方法,理解光栅图形生成基本算法、几何造型技术、真实感图形生成、图形标准与图形变换等概念和知识。学会图形程序设计的基本方法,为图形算法的设计、图形软件的开发打下基础。 四、教学内容及要求 第一章绪论 (一)目的与要求 1.掌握计算机图形学的基本概念; 2.了解计算机图形学的发展、应用; 3.掌握图形系统的组成。

计算机图形学作业题

计算机图形学作业题 1. 计算机中由图形的形状参数(方程或分析表达式的系数,线段的端点坐标等)加属性参数(颜色、线型等)来表示图形称图形的参数表示;枚举出图形中所有的点称图形的点阵表示,简称为图像(数字图像) 2. 什么是计算机图形学?计算机图形学有哪些研究内容? 3. 计算机图形学有哪些应用领域? 4. 计算机图形学有哪些相关学科分支?它们的相互关系是怎样的? 5. 图形系统的软件系统由哪些软件组成?举例说明。 6. 了解计算机图形系统的硬件。 7. 什么是显示器的分辨率、纵横比、刷新率? 8. 什么是像素、分辨率、颜色数?分辨率、颜色数与显存的关系? 分辨率M ?N 、颜色个数K 与显存大小V 的关系: 例:分辨率为1024像素/行?768行/ 帧,每像素24位(bit )颜色(224种颜色)的显示器,所需的显存为:1024?768?24位(bit )=1024?768?24/8=2359296字节(byte )。或:每像素16777216种颜色(24位真彩色),1024?768的分辨率,所需显存为:1024?768?log 216777216位显存=2359296字节显存。 9. 什么是图元的生成?分别列举两种直线和圆扫描转换算法。 10. OpenGL 由核心库GL(Graphics Library)和实用函数库GLU(Graphics Library Utilities)两个库组成。 11. 区域填充算法要求区域是连通的,因为只有在连通区域中,才可能将种子点的颜色扩展到区域内的其它点。 区域可分为 向连通区域和 向连通区域。区域填充算法有 填充算法和 填充算法。 12. 字符生成有哪两种方式? 点阵式(bitmap fonts 点阵字——raster 光栅方法):采用逐位映射的方式得到字符的点阵和编码——字模位点阵。 笔画式(outline fonts 笔画字——stroke 方法):将字符笔画分解为线段,以线段端点坐标为字符字模的编码。 13. 图形信息包含图形的 和 。 14. 什么是图形变换?图形变换只改变图形的 不改变图形的 。图形变换包括 和 ( )。 15. 熟练掌握二维图形的齐次坐标表示、平移、比例、旋转、对称变换以及复合变换的方法和原则。 16. 图形的几何变换包括 、 、 、 、 ;图形连续作一次以上的几何变换称 变换。 17. 试写出图示多边形绕点A(xo,yo)旋转的变换矩阵。要求写出求解过程及结果。 18. 试写出针对固定参考点、任意方向的比例变换矩阵。 19. 试写出对任意直线y=mx+b 的对称变换矩阵。 20. 什么是窗口?什么是视区?什么是观察变换? 21. 简述二维观察变换的流程。 22. 试述窗口到视区的变换步骤,并推出变换矩阵。 ??—(位) —K N M V 2log ??≥

计算机图形学实验二

实验报告 课程名称:计算机图形学 实验项目:区域填充算法 实验仪器:计算机 系别:计算机学院 专业:计算机科学与技术 班级姓名:计科1602/ 学号:2016011 日期:2018-12-8 成绩: 指导教师:

一.实验目的(Objects) 1.实现多边形的扫描线填充算法。 二.实验内容 (Contents) 实现多边形的扫描线填充算法,通过鼠标,交互的画出一个多边形,然后利用种子填充算法,填充指定的区域。不能使用任何自带的填充区域函数,只能使用画点、画线函数或是直接对图像的某个像素进行赋值操作;

三.实验内容 (Your steps or codes, Results) //widget.cpp //2016CYY Cprogramming #include"widget.h" #include #include #include using namespace std; #define H 1080 #define W 1920 int click = 0; //端点数量 QPoint temp; QPoint first; int result = 1; //判断有没有结束 int sign = 1; //2为画线 int length = 5; struct edge { int ymax; float x; float dx; edge *next; }; edge edge_; QVector edges[H]; QVector points;//填充用 bool fin = false; QPoint *Queue = (QPoint *)malloc(length * sizeof(QPoint)); //存放端点的数组 Widget::Widget(QWidget *parent) : QWidget(parent) { } Widget::~Widget() { } void Widget::mouseMoveEvent(QMouseEvent *event) { setMouseTracking(true); if (click > 0 && result != 0) { startPt = temp; endPt =event->pos(); sign = 2; update(); } } void Widget::mouseReleaseEvent(QMouseEvent *event) { if (event->button() == Qt::LeftButton) { } else if (event->button() == Qt::RightButton) { sign = 2;

计算机图形学 课程设计作品

《计算机图形学Visual c++版》考试作业报告 题目:计算机图形学图形画板 专业:推荐IT学长淘宝日用品店530213 班级:推荐IT学长淘宝日用品店530213 学号:推荐IT学长淘宝日用品店530213 姓名:推荐IT学长淘宝日用品店530213 指导教师:推荐IT学长淘宝日用品店530213 完成日期: 2015年12月2日

一、课程设计目的 本课程设计的目标就是要达到理论与实际应用相结合,提高学生设计图形及编写大型程序的能力,并培养基本的、良好的计算机图形学的技能。 设计中要求综合运用所学知识,上机解决一些与实际应用结合紧密的、规模较大的问题,通过分析、设计、编码、调试等各环节的训练,使学生深刻理解、牢固掌握计算机图形学基本知识和算法设计的基本技能术,掌握分析、解决实际问题的能力。 通过这次设计,要求在加深对课程基本内容的理解。同时,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。 二、设计内容推荐IT学长淘宝日用品店530213 设计一个图形画板,在这个图形画板中要实现: 1,画线功能,而且画的线要具备反走样功能。 2, 利用上面的画线功能实现画矩形,椭圆,多边形,并且可以对这些图形进行填充。 3,可以对选中区域的图形放大,缩小,平移,旋转等功能。 三、设计过程 程序预处理:包括头文件的加载,常量的定义以及全局变量的定义 #include "stdafx.h" #include "GraDesign.h" #include "GraDesignDoc.h" #include "GraDesignView.h" #include "math.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif //******自定义全局变量 int type = -1; CPoint point1; CPoint point2; CPoint temp[2];

计算机图形学作业题

1、已知一直线段起点(0,0),终点(8,6),利用Bresenham算法生成此直线段,写出 生成过程中坐标点及决策变量d的变化情况,并在二维坐标系中,标出直线上各点。 2、试用中点画圆算法原理推导第一象限中y=0到x=y半径为R的圆弧段的扫描转换算法。(要求写清原理、误差函数和递推公式,并进行优化) 3、如下图所示多边形,若采用扫描线算法进行填充,试写出该多边形的ET表和当扫描线Y=3时的有效边表(AET表)。 4、试按左下右上顺序用四向算法,分析当S1为种子时,下图区域的填充过程。 5、将下图中的多边形ABCD先关于点C(3,4)整体放大2倍,再绕点D(5,3)顺时针旋转90 ,试推导其变换矩阵、计算变换后的图形各顶点的坐标,并画出变换后的图形。

6、已知三角形ABC 各顶点的坐标A(3,2)、B(5,5)、C(4,5),相对直线P 1P 2(线段的坐标分别为:P 1 (-3,-2) 、P 2 (8,3) )做对称变换后到达A ’、B ’、C ’。 试计算A ’、B ’、C ’的坐标值。(要求用齐次坐标进行变换,列出变换矩阵,列出计算式子,不要求计算结果) 7、试作出下图中三维形体ABCDE 的三视图。要求写清变换过程,并画出生成的三视图。 x 8、试采用Sutherland –Cohen 裁剪算法,叙述裁剪如下图所示的直线AB 和CD 的步骤: ① 写出端点A 、B 、C 、D 的编码; ② 写出裁剪原理和直线AB 、CD 的裁剪过程。 A B C D 9 、用梁友栋算法裁减如下图线段AB ,A 、B 点的坐标分别为(3,3)、(-2,-1) 裁剪窗口为wxl=0,wxr=2,wyb=0,wyt=2。

计算机图形学

a.扫描线算法:目标:利用相邻像素之间的连贯性,提高算法效率。处理对象:简单多边形,非自交多边形(边与边之间除了顶点外无其它交点)。扫描线:平行于坐标轴的直线,一般取平行于X轴。区间:扫描线与边的交点间的线段。基本原理:将整个绘图窗口内扫描多边形的问题分解到一条条扫描线,只要完成每条扫描线的绘制就实现了多边形的扫描转换;一条扫描线与多边形的边有偶数个交点,每2个点形成一区间。步骤:(对于每一条扫描线)(1)计算扫描线与边的交点(2)交点按x坐标从小到大排序(3)交点两两配对,填充区间。算法:1、建立ET;2、将扫描线纵坐标y的初值置为ET中非空元素的最小序号,如图中,y=1;3、置AEL为空;4、执行下列步骤直至ET和AEL都为空.4.1、如ET中的第y类非空,则将其中的所有边取出并插入AEL 中;4.2、如果有新边插入AEL,则对AEL中各边排序;4.3、对AEL中的边两两配对,(1和2为一对,3和4为一对,…),将每对边中x坐标按规则取整,获得有效的填充区段,再填充.4.4、将当前扫描线纵坐标 y 值递值1;4.5、将AEL中满足y = ymax边删去(因为每条边被看作下闭上开的);4.6、对AEL中剩下的每一条边的x 递增deltax,即x = x+deltax. b.走样与反走样:走样:用离散量(像素)表示连续的量(图形)而引起的失真,称为走样,或称为混淆。光栅图形的走样现象:阶梯(锯齿)状边界、图形细节失真、狭小图形遗失:动画序列中时隐时现,产生闪烁。反走样:在图形显示过程中,用于减少或消除走样(混淆)现象的方法。方法:提高分辨率方法{方法简单,但代价非常大,显示器的水平、竖直分辩率各提高一倍,则显示器的点距减少一倍,帧缓存容量则增加到原来的4倍,而扫描转换同样大小的图元却要花4倍时间}、非加权区域采样{扫描转换线段的两点假设:像素是数学上抽象的点,它的面积为0,它的亮度由覆盖该点的图形的亮度所决定;直线段是数学上抽象直线段,它的宽度为0。而现实:像素的面积不为0;直线段的宽度至少为1个像素;假设与现实的矛盾是导致走样出现的原因之一。解决方法:改变直线段模型,线上像素灰度不等。方法步骤:1、将直线段看作具有一定宽度的狭长矩形;2、当直线段与某像素有交时,求出两者相交区域的面积;3、根据相交区域的面积,确定该像素的亮度值}、加权区域采样{权函数w(x, y),以像素A的中心为原点建立二维坐标系,w(x, y)反应了微面积元dA对整个像素亮度的贡献大小,与 dA 到像素中心距离d 成反比。实现步骤:1.求直线段与像素的相交区域2.计算的值3.上面所得到的值介于0、1之间,用它乘像素的最大灰度值,即设该像素的显示灰度。问题:计算量大。 c.为什么需要齐次坐标? 1、对多个点计算多次不同的变换时,分别利用矩阵计算各变换导致计算量大2、运算表示形式不统一:平移为“+”、旋转和放缩为“·”3、统一运算形式后,可以先合成变换运算的矩阵,再作用于图形对象。 d.Sutherland-Hodgman算法:S-H算法基本思想(亦称逐边裁剪算法):将多边形关于矩形窗口的裁剪分解为多边形关于窗口四边所在直线的裁剪。步骤:1、多边形由一系列顶点表示:V1V2…Vn2、按一定(左上右下)的次序依次裁剪; 与左边所在直线裁剪

计算机图形学 图形的几何变换的实现算法教程文件

计算机图形学图形的几何变换的实现算 法

实验二 图形的几何变换的实现算法 班级 08信计 学号 59 姓名 分数 一、实验目的和要求: 1、掌握而为图形的基本几何变换,如平移,旋转,缩放,对称,错切变换;。 2、掌握OpenGL 中模型变换函数,实现简单的动画技术。 3、学习使用OpenGL 生成基本图形。 4、巩固所学理论知识,加深对二维变换的理解,加深理解利用变换矩阵可由简单图形得到复杂图形。加深对变换矩阵算法的理解。 编制利用旋转变换绘制齿轮的程序。编程实现变换矩阵算法,绘制给出形体的三视图。调试程序及分析运行结果。要求每位学生独立完成该实验,并上传实验报告。 二、实验原理和内容: . 原理: 图像的几何变换包括:图像的空间平移、比例缩放、旋转、仿射变换和图像插值。 图像几何变换的实质:改变像素的空间位置,估算新空间位置上的像素值。 图像几何变换的一般表达式:[,][(,),(,)]u v X x y Y x y = ,其中,[,]u v 为变换后图像像素的笛卡尔坐标, [,]x y 为原始图像中像素的笛卡尔坐标。这样就得到了原始图像与变换后图像的像素的对应关系。 平移变换:若图像像素点 (,)x y 平移到 00(,)x x y y ++,则变换函数为 0(,)u X x y x x ==+, 0(,)v Y x y y y ==+,写成矩阵表达式为: 00x u x y v y ??????=+???????????? 其中,x 0和y 0分别为x 和y 的坐标平移量。 比例缩放:若图像坐标 (,)x y 缩放到( ,x y s s )倍,则变换函数为:

计算机图形学课程总结教材

计算机图形学报告 前言 计算机图形学(Computer Graphics,简称CG)是一种使用数学算法将二维或三维图形转化为计算机显示器的栅格形式的科学。简单地说,计算机图形学的主要研究内容就是研究如何在计算机中表示图形、以及利用计算机进行图形的计算、处理和显示的相关原理与算法。 其从狭义上是来说是一种研究基于物理定律、经验方法以及认知原理,使用各种数学算法处理二维或三维图形数据,生成可视数据表现的科学。广义上来看,计算机图形学不仅包含了从三维图形建模、绘制到动画的过程,同时也包括了对二维矢量图形以及图像视频融合处理的研究。由于计算机图形学在许多领域的成功运用,特别是在迅猛发展的动漫产业中,带来了可观的经济效益。另一方面,由于这些领域应用的推动,也给计算机图形学的发展提供了新的发展机遇与挑战。 计算机图形学的发展趋势包括以下几个方面: 1、与图形硬件的发展紧密结合,突破实时高真实感、高分辨率渲染的技术难点; 2、研究和谐自然的三维模型建模方法; 3、利用日益增长的计算性能,实现具有高度物理真实的动态仿真; 4、研究多种高精度数据获取与处理技术,增强图形技术的表现; 5、计算机图形学与图像视频处理技术的结合; 6、从追求绝对的真实感向追求与强调图形的表意性转变。 1、三维物体的表示 计算机图形学的核心技术之一就是三维造型三维物体种类繁多、千变万化,如树、花、云、石、水、砖、木板、橡胶、纸、大理石、钢、玻璃、塑料和布等等。因此,不存在描述具有上述各种不同物质所有特征的统一方法。为了用计算机生成景物的真实感图形,就需要研究能精确描述物体特征的表示方法。根据三维物体的特征,可将三维物体分为规则物体和非规则物体两类。 三维实体表示方法通常分为两大类:边界表示和空间分割表示,尽管并非所有的表示都能完全属于这两类范畴中的某一类。边界表示(B-reps)用一组曲面来描述三维物体,这些曲面将物体分为内部和外部。边界表示的典型例子是多边形平面片和样条曲面。空间分割表示(Space-Partitioning)用来描述物体内部性质,将包含一物体的空间区域分割为一组小的、非重叠的、连续实体(通常是立方体)。三维物体的一般空间分割描述是八叉树表示。本章主要介绍三维物体的各种表示方法及其特点。

16秋西交《计算机图形学》在线作业

奥鹏17春16秋西交《计算机图形学》在线作业 一、单选(共30 道,共60 分。) 1. 在三维造型中,不可以使用垂直扫掠造型方法构造的有( )。 A. 园柱 B. 长方体 C. 三棱锥 D. 正十二面体 标准解: 2. 在直线段的参数方程表示方法中,参数t的取值范围为( )。 A. 【0,1】 B. 【0,∞】 C. 【-1,1】 D. 【-1,0】 标准解: 3. 如果希望在CorelDRAW中创建的多个页面具有相同的图形元素,可以执行下面的哪一项操作( ) A. 先创建多个页面,然后分别在各个页面中绘制相同的图形元素 B. 创建一个页面并在此页面绘制需要的图形元素,然后再将此页面复制多个 C. 选择“Layout-Page Setup”命令,在弹出的对话框中进行设置 D. 在Master Page中创建一个图层,在此图层中绘制希望出现在各个页面中的图形元素,则此各个页面将具有相同的图形元素 标准解: 4. 下列有关平面几何投影的叙述,错误的是( )。 A. 透视投影又可分为一点透视、二点透视、三点透视 B. 斜投影又可分为等轴测、斜二测 C. 正轴测又可分为等轴测、正二测、正三测 D. 正视图又可分为主视图、侧视图、俯视图 标准解: 5. 要快速以递增的方式增大字体大小,可以利用“文本”工具选择特定的字符后,执行以下哪步操作( ) A. 按CTRL + "+"键 B. 双击“缩放”工具 C. 按CTRL + 数字小键盘上的"8" D. 按CTRL + 数字小键盘上的"2" 标准解: 6. 有M个控制顶点Pi(i=1,…k)所决定的n次B样曲线,由()段n次B样曲线段光滑连接而成。

计算机图形学第二版课后习题答案

第一章绪论 概念:计算机图形学、图形、图像、点阵法、参数法、 图形的几何要素、非几何要素、数字图像处理; 计算机图形学和计算机视觉的概念及三者之间的关系; 计算机图形系统的功能、计算机图形系统的总体结构。 第二章图形设备 图形输入设备:有哪些。 图形显示设备:CRT的结构、原理和工作方式。 彩色CRT:结构、原理。 随机扫描和光栅扫描的图形显示器的结构和工作原理。 图形显示子系统:分辨率、像素与帧缓存、颜色查找表等基本概念,分辨率的计算 第三章交互式技术 什么是输入模式的问题,有哪几种输入模式。 第四章图形的表示与数据结构 自学,建议至少阅读一遍 第五章基本图形生成算法 概念:点阵字符和矢量字符; 直线和圆的扫描转换算法; 多边形的扫描转换:有效边表算法; 区域填充:4/8连通的边界/泛填充算法;

内外测试:奇偶规则,非零环绕数规则; 反走样:反走样和走样的概念,过取样和区域取样。 5.1.2 中点 Bresenham 算法(P109) 5.1.2 改进 Bresenham 算法(P112) 习题答案

习题5(P144) 5.3 试用中点Bresenham算法画直线段的原理推导斜率为负且大于1的直线段绘制过程(要求写清原理、误差函数、递推公式及最终画图过程)。(P111) 解: k<=-1 |△y|/|△x|>=1 y为最大位移方向 故有 构造判别式: 推导d各种情况的方法(设理想直线与y=yi+1的交点为Q): 所以有: y Q-kx Q-b=0 且y M=y Q d=f(x M-kx M-b-(y Q-kx Q-b)=k(x Q-x M) 所以,当k<0, d>0时,M点在Q点右侧(Q在M左),取左点 P l(x i-1,y i+1)。 d<0时,M点在Q点左侧(Q在M右),取右点 Pr(x i,y i+1)。 d=0时,M点与Q点重合(Q在M点),约定取右点 Pr(x i,y i+1) 。 所以有 递推公式的推导: d2=f(x i-1.5,y i+2) 当d>0时, d2=y i+2-k(x i-1.5)-b 增量为1+k =d1+1+k

相关主题
文本预览
相关文档 最新文档