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

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

计算机图形学课程教学大

Final approval draft on November 22, 2020

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

一、课程基本信息

课程代码:110053

课程名称:计算机图形学

英文名称:Computer Graphics

课程类别:专业课

学时:72

学分:3.5

适用对象:信息与计算科学专业本科生

考核方式:考试(平时成绩占总成绩的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. 问题与应用(能力要求)

理解计算机图形学的概念。

第二节计算机图形学的发展

1.主要内容

计算机图形学的发展过程。

2.基本概念和知识点

计算机图形学的发展过程。

3. 问题与应用(能力要求)

了解计算机图形学的发展过程。

第三节计算机图形学的应用

1.主要内容

计算机图形学的应用。

2.基本概念和知识点

计算机图形学的应用。

3. 问题与应用(能力要求)

了解计算机图形学的应用。

第四节常用的图形输入/输出设备

1.主要内容

常用的图形输入/输出设备。

2.基本概念和知识点

常用的图形输入/输出设备。

3. 问题与应用(能力要求)

了解常用的图形输入/输出设备。

第五节计算机图形系统

1.主要内容

计算机图形系统。

2.基本概念和知识点

计算机图形系统。

3. 问题与应用(能力要求)

了解计算机图形系统。

(三)实践环节与课后练习

无。

(四)教学方法与手段

课堂板书结合PowerPoint电子教案讲授。

第二章光栅图形学

(一)目的与要求

1.理解三个常用直线生成算法;

2.理解圆的特征、掌握中点画圆法;

3.理解和掌握多边形的扫描转换、区域填充算法;

4.了解点阵字符、矢量字符、字符属性;

5.理解直线段裁剪、多边形裁剪、字符裁剪;

6.了解提高分辨率、区域采样、加权区域采样技术;

7.了解消隐的分类、消除隐藏线、消除隐藏面算法。

(二)教学内容

第一节直线段的扫描转换算法(3学时)

1.主要内容

三个常用直线生成算法。

2. 基本概念和知识点

三个常用算法:数值微分法(DDA(Digital differential

analyzer))、中点画线法、Bresenham 算法。

3.问题与应用(能力要求)

理解三个常用直线生成算法。

第二节圆弧的扫描转换算法

1.主要内容

圆的特征、中点画圆法。

2.基本概念和知识点

圆的特征、中点画圆法。

3.问题与应用(能力要求)

理解圆的特征、掌握中点画圆法。

第三节多边形的扫描转换算法与区域填充

1.主要内容

多边形的扫描转换、区域填充算法。

2.基本概念和知识点

多边形的扫描转换、区域填充算法。

3.问题与应用(能力要求)

理解和掌握多边形的扫描转换、区域填充算法。

第四节字符

1.主要内容

点阵字符、矢量字符、字符属性。

2.基本概念和知识点

点阵字符、矢量字符、字符属性。

3.问题与应用(能力要求)

了解点阵字符、矢量字符、字符属性。

第五节裁剪

1.主要内容

直线段裁剪、多边形裁剪、字符裁剪。

2.基本概念和知识点

直线段裁剪、多边形裁剪、字符裁剪。

3.问题与应用(能力要求)

理解直线段裁剪、多边形裁剪、字符裁剪。

第六节反走样

1.主要内容

提高分辨率、区域采样、加权区域采样。

2.基本概念和知识点

提高分辨率、区域采样、加权区域采样。

3.问题与应用(能力要求)

了解提高分辨率、区域采样、加权区域采样技术。

第七节消隐

1.主要内容

消隐的分类、消除隐藏线、消除隐藏面。

2.基本概念和知识点

消隐的分类、消除隐藏线、消除隐藏面。

3.问题与应用(能力要求)

了解消隐的分类、消除隐藏线、消除隐藏面算法。

(三)课后练习

此部分应布置一至两次至少四道题的课后习题,内容可覆盖直线和圆弧DDA算法、直线段裁剪、多边形裁剪。

(四)教学方法与手段

课堂板书结合PowerPoint电子教案讲授。

第三章几何造型技术

(一)目的与要求

1.理解Bézier曲线的定义和性质、掌握二、三次Bézier曲线、n次

Bézier曲线应用及变型;

2.理解和掌握数据拟合与最小二乘法、多项式插值及参数化;

3.了解参数连续和几何连续概念、二次参数样条曲线、三次参数样条曲

线;

4.理解B样条曲线定义与性质、了解二次和三次B样条曲线及其应用、非

均匀B样条曲线、参数曲线段的一般递推式;

5.了解矩阵域上的Bézier 曲面、三角域上的Bézier 曲面、Bézier 曲面

拼接应用;

6.了解双三次Coons曲面、布尔和形式的Coons曲面;

7.了解B样条曲面一般形式、三种双三次参数曲面片等价表示。

(二)教学内容

第一节Bézier 曲线

1.主要内容

Bézier曲线的定义和性质、二、三次Bézier曲线、n次Bézier

曲线应用及变型。

2.基本概念和知识点

Bézier曲线的定义和性质、二、三次Bézier曲线、n次Bézier曲

线应用及变型。

3.问题与应用(能力要求)

理解Bézier曲线的定义和性质、掌握二、三次Bézier曲线、n次Bézier曲线应用及变型。

第二节拟合、插值与样条概念

1.主要内容

数据拟合与最小二乘法、多项式插值及参数化。

2.基本概念和知识点

数据拟合与最小二乘法、多项式插值及参数化。

3.问题与应用(能力要求)

理解和掌握数据拟合与最小二乘法、多项式插值及参数化。

第三节二、三次参数样条曲线

1.主要内容

参数连续和几何连续概念、二次参数样条曲线、三次参数样条曲线。

2.基本概念和知识点

参数连续和几何连续概念、二次参数样条曲线、三次参数样条曲线。

3.问题与应用(能力要求)

了解参数连续和几何连续概念、二次参数样条曲线、三次参数样

条曲线。

第四节 B样条曲线

1.主要内容

B样条曲线定义与性质、二次和三次B样条曲线及其应用、非均匀B样条曲线、参数曲线段的一般递推式。

2.基本概念和知识点

定义与性质、二次和三次B样条曲线及其应用、非均匀B样条曲线、参数曲线段的一般递推式。

3.问题与应用(能力要求)

理解B样条曲线定义与性质、了解二次和三次B样条曲线及其应用、非均匀B样条曲线、参数曲线段的一般递推式。

*第五节Bézier 曲面及其拼接(自学)

1.主要内容

矩阵域上的Bézier 曲面、三角域上的Bézier 曲面、Bézier 曲面拼接应用。

2.基本概念和知识点

矩阵域上的Bézier 曲面、三角域上的Bézier 曲面、Bézier 曲面拼接应用。

3.问题与应用(能力要求)

了解矩阵域上的Bézier 曲面、三角域上的Bézier 曲面、

Bézier 曲面拼接应用。

*第六节 Coons 曲面(自学)

1.主要内容

双三次Coons曲面、布尔和形式的Coons曲面。

2.基本概念和知识点

双三次Coons曲面、布尔和形式的Coons曲面。

3.问题与应用(能力要求)

了解双三次Coons曲面、布尔和形式的Coons曲面。

*第七节 B样条曲面(自学)

1.主要内容

B样条曲面一般形式、三种双三次参数曲面片等价表示,NURBS曲

线与曲面。

2.基本概念和知识点

B样条曲面一般形式、三种双三次参数曲面片等价表示。

3.问题与应用(能力要求)

了解B样条曲面一般形式、三种双三次参数曲面片等价表示。(三)实践环节与课后练习

此部分应布置一至两次至少四道题的课后习题,内容可覆盖Bézier曲线、B样条曲线、Bézier 曲面、B样条曲面等。

(四)教学方法与手段

课堂板书结合PowerPoint电子教案讲授。

第四章真实感图形学

(一)目的与要求

1.理解颜色的基本概念、三色学说、CIE色度图、掌握常用的颜色模型;

2.掌握光照相关知识、Phong光照明模型、增量式光照明模型、阴影的生

成;

3.了解局部光照明的理论基础、局部光照明模型;

4.了解纹理相关概念、二维纹理域的映射、三维纹理域的映射、几何纹

理;

5.了解透明效果的简单模拟、Whitted 光透射模型、Hall 光透射模型、简

单光反射透射模型;

6.了解光线跟踪算法,辐射度方法、实时真实感图形学技术。

(二)教学内容

第一节颜色视觉

1.主要内容

颜色的基本概念、三色学说、CIE色度图、常用的颜色模型。

2.基本概念和知识点

基本概念、三色学说、CIE色度图、常用的颜色模型。

3.问题与应用(能力要求)

理解颜色的基本概念、三色学说、CIE色度图、掌握常用的颜色模型。

第二节简单光照明模型

1.主要内容

光照相关知识、Phong光照明模型、增量式光照明模型、阴影的生成。

2.基本概念和知识点

光照相关知识、Phong光照明模型、增量式光照明模型、阴影的生成。

3.问题与应用(能力要求)

掌握光照相关知识、Phong光照明模型、增量式光照明模型、阴影的生

成。

第三节局部光照明模型

1.主要内容

局部光照明的理论基础、局部光照明模型。

2.基本概念和知识点

局部光照明的理论基础、局部光照明模型。

3.问题与应用(能力要求)

了解局部光照明的理论基础、局部光照明模型。

第四节纹理及纹理映射

1.主要内容

纹理相关概念、二维纹理域的映射、三维纹理域的映射、几何纹理。

2.基本概念和知识点

纹理概述、二维纹理域的映射、三维纹理域的映射、几何纹理。

3.问题与应用(能力要求)

了解纹理相关概念、二维纹理域的映射、三维纹理域的映射、几何纹

理。

*第五节光透射模型(自学)

1.主要内容

透明效果的简单模拟、Whitted 光透射模型、Hall 光透射模型、简单

光反射透射模型。

2.基本概念和知识点

透明效果的简单模拟、Whitted 光透射模型、Hall 光透射模型、简单

光反射透射模型。

3.问题与应用(能力要求)

了解透明效果的简单模拟、Whitted 光透射模型、Hall 光透射模型、

简单光反射透射模型。

*第六节整体光照明模型(自学)

1.主要内容

光线跟踪算法,辐射度方法、实时真实感图形学技术。

2.基本概念和知识点

光线跟踪算法,辐射度方法、实时真实感图形学技术。

3.问题与应用(能力要求)

了解光线跟踪算法,辐射度方法、实时真实感图形学技术。

(三)实践环节与课后练习

此部分应布置至少二道题的课后习题,内容至少覆盖纹理映射以及光线跟踪。

(四)教学方法与手段

课堂板书结合PowerPoint电子教案讲授。

第五章图形标准

(一)目的与要求

熟悉OpenGL程序结构、基本几何元素、坐标变换和光照处理;了解

VRML。

(二)教学内容

第一节 OpenGL

1.主要内容

OpenGL概述、OpenGL程序结构、基本几何元素、坐标变换和光照处

理、VRML。

2.基本概念和知识点

OpenGL概述、OpenGL程序结构、基本几何元素、坐标变换和光照处

理、VRML。

3.问题与应用(能力要求)

熟悉OpenGL程序结构、基本几何元素、坐标变换和光照处理;了解

VRML。

(三)实践环节

VC下OpenGL运行框架的搭建,光源和材质的设定。

(四)教学方法与手段

课堂板书结合PowerPoint电子教案讲授。

第六章图形变换

(一)目的与要求

1.掌握图形变换中的数学方法;

2.理解平移变换、比例变换、旋转变换、对称变换、错切变换、基本图形

元素变换;

3.理解三维图形的几何变换。平行投影、透视投影、透视投影技巧。(二)教学内容

第一节图形变换中的数学方法

1.主要内容

图形变换中的数学方法。

2.基本概念和知识点

图形变换中的数学方法。

3.问题与应用(能力要求)

掌握图形变换中的数学方法。

第二节二维图形的几何变换

1.主要内容

平移变换、比例变换、旋转变换、对称变换、错切变换、基本图形元

素变换。

2.基本概念和知识点

平移变换、比例变换、旋转变换、对称变换、错切变换、基本图形元素

变换。

3.问题与应用(能力要求)

理解平移变换、比例变换、旋转变换、对称变换、错切变换、基本图形

元素变换。

第三节三维图形的几何变换

1.主要内容

三维图形的几何变换。

2.基本概念和知识点

三维图形的几何变换。

3.问题与应用(能力要求)

理解三维图形的几何变换。

第四节投影变换

1.主要内容

平行投影、透视投影、透视投影技巧。

2.基本概念和知识点

平行投影、透视投影、透视投影技巧。

3.问题与应用(能力要求)

平行投影、透视投影、透视投影技巧。

(三)实践环节与课后练习

用矩阵实现基本图形的对称、平移、旋转等变换。

(四)教学方法与手段

课堂板书结合PowerPoint电子教案讲授。

第七章图形计算与图形的数据结构

(一)目的与要求

1.掌握求二直线段的交点、直线段与曲线段的交点、曲线与曲线的交点、

直线与平面的交点、直线与曲面的交点算法;

2.掌握平面与曲面的交线、曲面与曲面的交线计算方法;

3.理解包含与重叠相关概念;

4.理解凸包的计算;

5.理解轮廓线概念;

6.了解等值线与网格的边相交的条件,等值线的起点、终点于分枝;

7.了解图形数学表示的若干方法、其它表示方法;

8.理解图形的数据结构;

9.了解图形数据库。

(二)教学内容

第一节交点的计算方法

1.主要内容

二直线段的交点、直线段与曲线段的交点、曲线与曲线的交点、直线

与平面的交点、直线与曲面的交点。

2.基本概念和知识点

二直线段的交点、直线段与曲线段的交点、曲线与曲线的交点、直线

与平面的交点、直线与曲面的交点。

3.问题与应用(能力要求)

掌握求二直线段的交点、直线段与曲线段的交点、曲线与曲线的交点、

直线与平面的交点、直线与曲面的交点算法。

第二节交线的计算方法

1.主要内容

平面与曲面的交线、曲面与曲面的交线。

2.基本概念和知识点

平面与曲面的交线、曲面与曲面的交线。

3.问题与应用(能力要求)

掌握平面与曲面的交线、曲面与曲面的交线计算方法。

第三节包含与重叠

1.主要内容

包含与重叠相关概念。

2.基本概念和知识点

包含与重叠。

3.问题与应用(能力要求)

理解包含与重叠相关概念。

第四节凸包的计算

1.主要内容

凸包的计算。

2.基本概念和知识点

凸包的计算。

3.问题与应用(能力要求)

理解凸包的计算。

第五节轮廓线

1.主要内容

轮廓线概念。

2.基本概念和知识点

轮廓线。

3.问题与应用(能力要求)

理解轮廓线概念。

*第六节等值线(自学)

1.主要内容

等值线与网格的边相交的条件,等值线的起点、终点于分枝。2.基本概念和知识点

等值线与网格的边相交的条件,等值线的起点、终点于分枝。3.问题与应用(能力要求)

了解等值线与网格的边相交的条件,等值线的起点、终点于分枝。第七节图形的表示法

1.主要内容

图形数学表示的若干方法、其它表示方法。

2.基本概念和知识点

数学表示的若干方法、其它表示方法。

3.问题与应用(能力要求)

了解图形数学表示的若干方法、其它表示方法。

第八节图形的数据结构

1.主要内容

图形的数据结构。

2.基本概念和知识点

图形的数据结构。

3.问题与应用(能力要求)

理解图形的数据结构。

*第九节图形数据库(自学)

1.主要内容

图形数据库。

2.基本概念和知识点

图形数据库。

3.问题与应用(能力要求)

了解图形数据库。

(三)实践环节与课后练习

编程实现凸包的计算算法。

(四)教学方法与手段

课堂板书结合PowerPoint电子教案讲授。

*第八章图形系统的总体设计(选学)

(一)目的与要求

1.掌握图形系统设计原则;

2.理解图形系统设计的基本问题;

3.了解图形系统软、硬件配置;

4.掌握图形要素及图形运算;

5.理解用户接口形式、用户接口的设计、基本交互任务组合、用户接口软

件。

(二)教学内容

第一节图形系统设计原则

1.主要内容

图形系统设计原则。

2.基本概念和知识点

图形系统设计原则。

3.问题与应用(能力要求)

掌握图形系统设计原则。

第二节图形系统设计的基本问题

1.主要内容

图形系统设计的基本问题。

2.基本概念和知识点

图形系统设计的基本问题。

3.问题与应用(能力要求)

理解图形系统设计的基本问题。

第三节图形系统软、硬件配置

1.主要内容

图形系统软、硬件配置。

2.基本概念和知识点

图形系统软、硬件配置。

3.问题与应用(能力要求)

了解图形系统软、硬件配置。

第四节图形要素及图形运算

1.主要内容

图形要素及图形运算。

2.基本概念和知识点

图形要素及图形运算。

3.问题与应用(能力要求)

掌握图形要素及图形运算。

第五节人机交互功能

1.主要内容

用户接口形式、用户接口的设计、基本交互任务组合、用户接口软

件。

2.基本概念和知识点

用户接口形式、用户接口的设计、基本交互任务组合、用户接口软

件。

3.问题与应用(能力要求)

理解用户接口形式、用户接口的设计、基本交互任务组合、用户接口软

件。

(三)实践环节与课后练习

设计一个Windows下GUI的图形系统,实现绘制,删除,保存线,圆弧等图元功能。

(四)教学方法与手段

课堂板书结合PowerPoint电子教案讲授

六、推荐教材和教学参考资源

推荐教材:

1、罗笑南、王若梅,计算机图形学(第三版),广州:中山大学出版社,2004.7。

2、李东、孙长嵩、苏小红,计算机图形学实用教程,北京:人民邮电出版社,

2004.10。

教学参考资源:

1、孙家广、胡事民,计算机图形学基础教程,北京:清华大学出版社,2005.2。

2、唐荣锡、汪嘉业、彭群生等,计算机图形学教程(修订版),北京:科学出版

社,2000。

3、杨钦、徐永安、翟红英,计算机图形学,北京:清华大学出版社,2005。

七、其他说明

大纲修订人:吴东庆修订日期:2007.4.8

大纲审定人:胡小健审定日期:

计算机图形学实验报告

《计算机图形学》实验报告姓名:郭子玉 学号:2012211632 班级:计算机12-2班 实验地点:逸夫楼507 实验时间:15.04.10 15.04.17

实验一 1 实验目的和要求 理解直线生成的原理;掌握典型直线生成算法;掌握步处理、分析实验数据的能力; 编程实现DDA 算法、Bresenham 中点算法;对于给定起点和终点的直线,分别调用DDA 算法和Bresenham 中点算法进行批量绘制,并记录两种算法的绘制时间;利用excel 等数据分析软件,将试验结果编制成表格,并绘制折线图比较两种算法的性能。 2 实验环境和工具 开发环境:Visual C++ 6.0 实验平台:Experiment_Frame_One (自制平台) 3 实验结果 3.1 程序流程图 (1)DDA 算法 是 否 否 是 是 开始 计算k ,b K<=1 x=x+1;y=y+k; 绘点 x<=X1 y<=Y1 绘点 y=y+1;x=x+1/k; 结束

(2)Mid_Bresenham 算法 是 否 否 是 是 是 否 是 否 开始 计算dx,dy dx>dy D=dx-2*dy 绘点 D<0 y=y+1;D = D + 2*dx - 2*dy; x=x+1; D = D - 2*dy; x=x+1; x

3.2程序代码 //-------------------------算法实现------------------------------// //绘制像素的函数DrawPixel(x, y); (1)DDA算法 void CExperiment_Frame_OneView::DDA(int X0, int Y0, int X1, int Y1) { //----------请实现DDA算法------------// float k, b; float d; k = float(Y1 - Y0)/float(X1 - X0); b = float(X1*Y0 - X0*Y1)/float(X1 - X0); if(fabs(k)<= 1) { if(X0 > X1) { int temp = X0; X0 = X1; X1 = temp; }

《计算机英语》教学大纲

《计算机英语》教学大纲 (待定) 课程代码:09111306 课程名称:计算机英语 总学时:56 一、课程任务与目的 随着计算机技术的迅速发展和广泛应用,计算机在经济和社会发展中的地位日益重要。而 国内计算机技术的应用与研究普遍滞后于西方尤其是美、英等发达的资本主义国家。如何才能跟上计算机技术发展与应用的最新水平,并迅速地掌握与利用各种新技术成果为我国的现代 化建设服务呢?一个必要的条件就是要能熟练地阅读外文的计算机技术文献、资料和书籍。由于大量的最新研究成果和新产品都是以英文公布于世的。因此,每个从事计算机科学与技术的教学、科研、工程技术及经营管理的人员都必须具有一定的计算机英语水平。(本课程在大学一、二年级基础英语课程结柬后开设,作为专业阅读课)通过本课程的教学,使学生掌握必要的计算机英语基础词汇和基本术语,养成良好的专业阅读习惯,以便融会贯通地运用英语这个工具去帮助解决理论上和实践中所遇到的问题,这就是计算机专业开设计算机英语课程目的和 任务之所在。 学习本课程的主要目的: (一)介绍计算机技术系最新进展,为专业理论的深入学习提供指导。 (二)使学生掌握基本的系统的计算机专业术语,能阅读关于计算机专业的 英文书籍,为进一步学习打下良好的基础。 二、阅读大纲 (一)Introduction 1.Organization0f computer system components 2.Type of computer 3.Computer generations (二)Hardware and system concepts 1.Computer codes 2.What is a processsor 3.the storage hierarchy 4.computer—system input/output 5.multiprocessing 6.performance measurement and evaluation (三)Discrete mathmatics 1.mathmatical logic 2.Boolcan algebras 3.graph theory 4.combinational problems (四)Algorithm 1.Algorithm attribute 2.algorithms and complexity

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

名词解释 将图形描述转换成用像素矩阵表示的过程称为扫描转换。 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. 什么是图像的分辨率?

计算机图形学实验报告 (2)

中南大学信息科学与工程学院 实验报告实验名称 实验地点科技楼四楼 实验日期2014年6月 指导教师 学生班级 学生姓名 学生学号 提交日期2014年6月

实验一Window图形编程基础 一、实验类型:验证型实验 二、实验目的 1、熟练使用实验主要开发平台VC6.0; 2、掌握如何在编译平台下编辑、编译、连接和运行一个简单的Windows图形应用程序; 3、掌握Window图形编程的基本方法; 4、学会使用基本绘图函数和Window GDI对象; 三、实验内容 创建基于MFC的Single Document应用程序(Win32应用程序也可,同学们可根据自己的喜好决定),程序可以实现以下要求: 1、用户可以通过菜单选择绘图颜色; 2、用户点击菜单选择绘图形状时,能在视图中绘制指定形状的图形; 四、实验要求与指导 1、建立名为“颜色”的菜单,该菜单下有四个菜单项:红、绿、蓝、黄。用户通过点击不同的菜单项,可以选择不同的颜色进行绘图。 2、建立名为“绘图”的菜单,该菜单下有三个菜单项:直线、曲线、矩形 其中“曲线”项有级联菜单,包括:圆、椭圆。 3、用户通过点击“绘图”中不同的菜单项,弹出对话框,让用户输入绘图位置,在指定位置进行绘图。

五、实验结果: 六、实验主要代码 1、画直线:CClientDC *m_pDC;再在OnDraw函数里给变量初始化m_pDC=new CClientDC(this); 在OnDraw函数中添加: m_pDC=new CClientDC(this); m_pDC->MoveTo(10,10); m_pDC->LineTo(100,100); m_pDC->SetPixel(100,200,RGB(0,0,0)); m_pDC->TextOut(100,100); 2、画圆: void CMyCG::LineDDA2(int xa, int ya, int xb, int yb, CDC *pDC) { int dx = xb - xa; int dy = yb - ya; int Steps, k; float xIncrement,yIncrement; float x = xa,y= ya; if(abs(dx)>abs(dy))

计算机图形学基础教学大纲

《计算机图形学基础》课程教学大纲 一、课程概述 (一)基本说明 中文名称:计算机图形学基础课程代码:16JS062 总学时/学分:48/3 考核方式:考试 适用专业:计算机科学与技术 (二)课程属性 1.课程性质 本课程是计算机科学与技术专业选修课,主要介计算机图形学的经典核心体系:图形系统、二维图形生成、几何变换、二维与三维观察、三维对象(实体造型与曲线曲面)、真实感图形技术、交互技术及动画等。通过本课程的学习,有助于学生对计算机图形学原理的理解和图形编程技术的掌握。 2.课程与课程群的联系 本课程与《Java程序设计基础》、《C语言程序设计》、《线性代数》等基础课程有着密切的关系,通过本课程的学习,使学生掌握图形方面的基本知识。为了使学生能够顺利完成本课程的学习,在学习本课程之前,需对相关课程(群)有一定的了解和掌握。 前修课程:《Java程序设计基础》、《C语言程序设计》、《数据库原理及应用》等,这些课程对本课程学习起着基础铺垫作用。 二、教学设计 (一)课程设置的主要依据 本课程是一门理实融合、教学做一体的理论课程,着眼于满足计算机科学与技术专业对应用型人才需求,遵循“基础/应用”的导向原则,教学内容与教学组织紧紧围绕应用型的计算机科学与技术专业人才培养目标进行设计、选择和实施,以“必需、够用、适度超前”为度,突出打牢理论基础和实践能力培养。在教学过程中,注重创新精神、实践能力和职业道德的培养,倡导探究性学习(或研讨式、案例式、专题式、项目式等),引导学生主动参与教学过程,主动思考、勤于实践、知行合一,逐步培养学生分析解决计算机类项目开发过程中实际问题、沟通交流与团队协作能力。 (二)课程设计思路 以《Java程序设计基础》、《C语言程序设计》、《线性代数》等课程为基础,紧紧围绕计算机科学与技术专业应用型人才培养目标,准确把握本课程在计算机科学与技术课程群中的定位和作用,以能力为本位,强调打牢基本知识和基本理论基础,强化基本技能训练,充分利用信息化教学平台,打破以知识

计算机图形学基础期末考试试题

一、填空题 1.将多边形外部一点A与某一点B用线段连接,若此线段与多边形边界相交的次数为??????????,则点B在多边形外部。若此线段与多边形边界相交的次数为??????????,则点B在多边形内部。 2.生成直线的四点要求是_______________________,____________________________,____________________________________,速度要快。 3.由5个控制顶点Pi(i=0,1,…4)所决定的3次B样条曲线,由??????????段3次B样条曲线段光滑连接而成。 4.用于减少或克服在“光栅图形显示器上绘制直线、多边形等连续图形时,由离散量表示连续量引起的失真”的技术叫??????????。 5.图形的数学表示法一般有??????????,??????????,??????????。 1.一个交互性的计算机图形系统应具有、、、、 输入等五方面的功能。 2.阴极射线管从结构上可以分为、和。 3.常用的图形绘制设备有和,其中支持矢量格式。 4.PHIGS和GKS将各种图形输入设备从逻辑上分为六种:定位设备、笔划设 备、、、和。 5.通常可以采用和处理线宽。 6.齐次坐标表示就是用维向量表示n维向量。 7.平行投影根据可以分为投影和投影。 8.一个交互式计算机图形处理系统包括图形软件和_____________,图形软件又分为 _____________、_____________和三部分。 9.构成图形的要素包括和,在计算机中通常用采用两种方法来表示 图形,他们是和。 10.荫罩式彩色显像管的结构包括、、和。 11.目前常用的PC图形显示子系统主要由3个部件组成:、和一 个ROM BIOS芯片。 12.在交互输入过程中,图形系统中有_____________、、和其组 合形式等几种输入(控制)模式。 13.填充一个特定区域,其属性选择包括、和。 14.计算机中表示带有颜色及形状信息的图和形常用和参数法,其中用参数法描 述的图形称为,用描述的图形称为。 15.在显示技术中,我们常常采用提高总的光强等级。 16.常用的交互式绘图技术有、、和。

计算机图形学实验报告

目录

实验一直线的DDA算法 一、【实验目的】 1.掌握DDA算法的基本原理。 2.掌握DDA直线扫描转换算法。 3.深入了解直线扫描转换的编程思想。 二、【实验内容】 1.利用DDA的算法原理,编程实现对直线的扫描转换。 2.加强对DDA算法的理解和掌握。 三、【测试数据及其结果】 四、【实验源代码】 #include

#include #include #include GLsizei winWidth=500; GLsizei winHeight=500; void Initial(void) { glClearColor(1.0f,1.0f,1.0f,1.0f); glMatrixMode(GL_PROJECTION); gluOrtho2D(0.0,200.0,0.0,150.0); } void DDALine(int x0,int y0,int x1,int y1) { glColor3f(1.0,0.0,0.0); int dx,dy,epsl,k; float x,y,xIncre,yIncre; dx=x1-x0; dy=y1-y0; x=x0; y=y0; if(abs(dx)>abs(dy)) epsl=abs(dx); else epsl=abs(dy); xIncre=(float)dx/(float)epsl; yIncre=(float)dy/(float)epsl; for(k=0;k<=epsl;k++) { glPointSize(3); glBegin(GL_POINTS); glV ertex2i(int(x+0.5),(int)(y+0.5)); glEnd(); x+=xIncre; y+=yIncre; } } void Display(void) { glClear(GL_COLOR_BUFFER_BIT); DDALine(100,100,200,180); glFlush(); }

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

《计算机图形学》课程教学大纲 课程编号:11090132 课程名称:计算机图形学 英文名称:Computer Graphics 学时与学分:2总学时:32实验学时:0课内上机学时:8 先修课程要求:大学数学、工程图学、C语言 适应专业:交通设备信息工程 参考教材: 1、Donald Hearn,M. Pauline Baker ,Computer Graphics (C Version),Prentice Hall ,1997; 2、陆润民等,计算机绘图,高等教育出版社(面向21世纪教材); 3、孙家广等,计算机图形学(第三版),清华大学出版社,1999。 课程简介: 计算机图形学是关于计算机图形技术的科学,它是研究用计算机生成、处理和输出图形的一门新兴学科,是CAD/CAM技术以及信息化设计、制造及图像处理的重要技术基础。本课程着重研究怎样将工程技术人员获得的数据、几何模型等信息或设计思想用计算机数字化模型和图形表达,是工程技术人员表达和交流设计思想和信息的一门现代化工具课程。一、课程在培养方案中的地位、目的和任务 本课程是交通设备信息工程专业应该选修的一门学科基础课。课程的主要目的是培养学生形、数结合的能力和图形程序设计能力,为图形的数学处理、后续课程的学习、图形软件开发打下必要的基础。本课程的主要任务是学习计算机图形学的基本原理和基础知识;学习应用高级语言编制图形程序的基本方法和技能;学习各种基本图形生成算法;学习常用的图形变换和图形处理算法;培养开发图形程序的基本能力。 二、课程的基本要求 1、了解计算机图形系统的硬件和软件; 2、了解基本的图形数据结构; 3、掌握常用的图形生成算法; 4、掌握常用的图形几何变换和观察变换方法; 5、了解通用的图形标准; 6、掌握常用的三维对象表达方法; 7、掌握基于一种图形软件包的图形程序设计方法。 三、课程的基本内容以及重点难点 基本内容: 1、计算机图形学的应用; 2、计算机图形系统; 3、图形标准及图形软件包; 4、输出图元及其属性; 5、二维几何变换及二维观察; 6、三维物体的表达; 7、三维几何和建模变换; 8、三维观察。 重点:图形生成、图形变换、图形程序设计。

计算机图形学必考知识点

Phong Lighting 该模型计算效率高、与物理事实足够接近。Phong模型利用4个向量计算表面任一点的颜色值,考虑了光线和材质之间的三种相互作用:环境光反射、漫反射和镜面反射。Phong模型使用公式:I s=K s L s cosαΦα:高光系数。计算方面的优势:把r和v归一化为单位向量,利用点积计算镜面反射分量:I s=K s L s max((r,v)α,0),还可增加距离衰减因子。 在Gouraud着色这种明暗绘制方法中,对公用一个顶点的多边形的法向量取平均值,把归一化的平均值定义为该顶点的法向量,Gouraud着色对顶点的明暗值进行插值。Phong着色是在多边形内对法向量进行插值。Phong着色要求把光照模型应用到每个片元上,也被称为片元的着色。 颜色模型RGB XYZ HSV RGB:RGB颜色模式已经成为现代图形系统的标准,使用RGB加色模型的RGB三原色系统中,红绿蓝图像在概念上有各自的缓存,每个像素都分别有三个分量。任意色光F都可表示为F=r [ R ] + g [ G ] + b [ B ]。RGB颜色立方体中沿着一个坐标轴方向的距离代表了颜色中相应原色的分量,原点(黑)到体对角线顶点(白)为不同亮度的灰色 XYZ:在RGB 系统基础上,改用三个假想的原色X、Y、Z建立了一个新的色度系统, 将它匹配等能光谱的三刺激值,该系统称为视场XYZ色度系统,在XYZ空间中不能直观地评价颜色。 HSV是一种将RGB中的点在圆柱坐标系中的表示法,H色相S饱和度V明度,中心轴为灰色底黑顶白,绕轴角度为H,到该轴距离为S,沿轴高度为S。 RGB优点:笛卡尔坐标系,线性,基于硬件(易转换),基于三刺激值,缺点:难以指定命名颜色,不能覆盖所有颜色范围,不一致。 HSV优点:易于转换成RGB,直观指定颜色,’缺点:非线性,不能覆盖所有颜色范围,不一致 XYZ:覆盖所有颜色范围,基于人眼的三刺激值,线性,包含所有空间,缺点:不一致 交互式计算机程序员模型 (应用模型<->应用程序<->图形库)->(图形系统<->显示屏).应用程序和图形系统之间的接口可以通过图形库的一组函数来指定,这和接口的规范称为应用程序编程人员接口(API),软件驱动程序负责解释API的输出并把这些数据转换为能被特定硬件识别的形式。API提供的功能应该同程序员用来确定图像的概念模型相匹配。建立复杂的交互式模型,首先要从基本对象开始。良好的交互式程序需包含下述特性:平滑的显示效果。使用交互设备控制屏幕上图像的显示。能使用各种方法输入信息和显示信息。界面友好易于使用和学习。对用户的操作具有反馈功能。对用户的误操作具有容忍性。Opengl并不直接支持交互,窗口和输入函数并没有包含在API中。 简单光线跟踪、迭代光线跟踪 光线跟踪是一种真实感地显示物体的方法,该方法由Appel在1968年提出。光线跟踪方法沿着到达视点的光线的相反方向跟踪,经过屏幕上每一象素,找出与视线所交的物体表面点P0,并继续跟踪,找出影响P0点光强的所有的光源,从而算出P0点上精确的光照强度。光线跟踪器最适合于绘制具有高反射属性表面的场景。优缺点:原理简单,便于实现,能生成各种逼真的视觉效果,但计算量开销大,终止条件:光线与光源相交光线超出视线范围,达到最大递归层次。一般有三种:1)相交表面为理想漫射面,跟踪结束。2)相交表面为理想镜面,光线沿镜面反射方向继续跟踪。3)相交表面为规则透射面,光线沿规则透射方向继续跟踪。 描述光线跟踪简单方法是递归,即通过一个递归函数跟踪一条光线,其反射光想和折射光线再调用此函数本身,递归函数用来跟踪一条光线,该光线由一个点和一个方向确定,函数返回与光线相交的第一个对象表面的明暗值。递归函数会调用函数计算指定的光线与最近对象表面的交点位置。 图形学算法加速技术BVH, GRID, BSP, OCTree 加速技术:判定光线与场景中景物表面的相对位置关系,避免光线与实际不相交的景物表面的求交运算。加速器技术分为以下两种:Bounding Volume Hierarchy 简写BVH,即包围盒层次技术,是一种基于“物体”的场景管理技术,广泛应用于碰撞检测、射线相交测试之类的场合。BVH的数据结构其实就是一棵二叉树(Binary Tree)。它有两种节点(Node)类型:Interior Node 和Leaf Node。前者也是非叶子节点,即如果一个Node不是Leaf Node,它必定是Interior Node。Leaf Node 是最终存放物体/们的地方,而Interior Node存放着代表该划分(Partition)的包围盒信息,下面还有两个子树有待遍历。使用BVH需要考虑两个阶段的工作:构建(Build)和遍历(Traversal)。另一种是景物空间分割技术,包括BSP tree,KD tree Octree Grid BSP:二叉空间区分树 OCTree:划分二维平面空间无限四等分 Z-buffer算法 算法描述:1、帧缓冲器中的颜色设置为背景颜色2、z缓冲器中的z值设置成最小值(离视点最远)3、以任意顺序扫描各多边形a) 对于多边形中的每一个采样点,计算其深度值z(x,y) b) 比较z(x, y)与z缓冲器中已有的值zbuffer(x,y)如果z(x, y) >zbuffer(x, y),那么计算该像素(x, y)的光亮值属性并写入帧缓冲器更新z缓冲器zbuffer(x, y)=z(x, y) Z-buffer算法是使用广泛的隐藏面消除算法思想为保留每条投影线从COP到已绘制最近点距离,在投影后绘制多边形时更新这个信息。存储必要的深度信息放在Z缓存中,深度大于Z缓存中已有的深度值,对应投影线上已绘制的多边形距离观察者更近,故忽略该当前多边形颜色,深度小于Z缓存中的已有深度值,用这个多边形的颜色替换缓存中的颜色,并更新Z缓存的深度值。 void zBuffer() {int x, y; for (y = 0; y < YMAX; y++) for (x = 0; x < XMAX; x++) { WritePixel (x, y, BACKGROUND_VALUE); WriteZ (x, y, 1);} for each polygon { for each pixel in polygon’s projection { //plane equation doubl pz = Z-value at pixel (x, y); if (pz < ReadZ (x, y)) { // New point is closer to front of view WritePixel (x, y, color at pixel (x, y)) WriteZ (x, y, pz);}}}} 优点:算法复杂度只会随着场景的复杂度线性增加、无须排序、适合于并行实现 缺点:z缓冲器需要占用大量存储单元、深度采样与量化带来走样现象、难以处理透明物体 着色器编程方法vert. frag 着色器初始化:1、将着色器读入内存2、创建一个程序对象3、创建着色器对象4、把着色器对象绑定到程序对象5、编译着色器6、将所有的程序连接起来7、选择当前的程序对象8、把应用程序和着色器之间的uniform变量及attribute变量关联起来。 Vertex Shader:实现了一种通用的可编程方法操作顶点,输入主要有:1、属性、2、使用的常量数据3、被Uniforms使用的特殊类型4、顶点着色器编程源码。输入叫做varying变量。被使用在传统的基于顶点的操作,例如位移矩阵、计算光照方程、产生贴图坐标等。Fragment shader:计算每个像素的颜色和其他属性,实现了一种作用于片段的通用可编程方法,对光栅化阶段产生的每个片段进行操作。输入:Varying 变量、Uniforms-用于片元着色器的常量,Samples-用于呈现纹理、编程代码。输出:内建变量。 观察变换 建模变换是把对象从对象标架变换到世界标架 观察变换把世界坐标变换成照相机坐标。VC是与物理设备无关的,用于设置观察窗口观察和描述用户感兴趣的区域内部分对象,观察坐标系采用左手直角坐标系,可在用户坐标系中的任何位置、任何方向定义。其中有一坐标轴与观察方向重合同向并与观察平面垂直。观察变换是指将对象描述从世界坐标系变换到观察坐标系的过程。(1):平移观察坐标系的坐标原点,与世界坐标系的原点重合,(2):将x e,y e轴分别旋转(-θ)角与x w、y w轴重合。 规范化设备坐标系 规范化设备坐标系是与具体的物理设备无关的一种坐标系,用于定义视区,描述来自世界坐标系窗口内对象的图形。 光线与隐式表面求交 将一个对象表面定义为f(x,y,z)=f(p)=0,来自P0,方向为d的光线用参数的形式表示为P(t)=P0+td. 交点位置处参数t的值满足:f(P0+td)=0,若f是一个代数曲面,则f是形式为X i Y j Z k的多项式之和,求交就转化为寻求多项式所有根的问题,满足的情况一:二次曲面,情况二:品面求交,将光线方程带入平面方程:p*n+c=0可得到一个只需做一次除法的标量方程p=p0+td。可通过计算得到交点的参数t的值:t=(p0*n+c)/(n*d). 几何变换T R S矩阵表示 三维平移T 三维缩放S旋转绕z轴Rz( ) 100dx 010dy 001dz 0001 Sx000 0Sy00 00Sz0 0001 cos-sin00 sin cos00 0010 0001 θθ θθ 旋转绕x轴Rx(θ) 旋转绕y轴Ry(θ) 1000 0cos-sin0 0sin cos0 0001 θθ θθ cos0sin0 0100 -sin0cos0 0001 θθ θθ 曲线曲面 Bezier曲线性质:Bezier曲线的起点和终点分别是特征多边形的第一个顶点和最后一个顶点。曲线在起点和终点处的切线分别是特征多边形的第一条边和最后一条边,且切矢的模长分别为相应边长的n倍;(2)凸包性;(3)几何不变性(4)变差缩减性。端点插值。 均匀B样条曲线的性质包括:凸包性、局部性、B样条混合函数的权性、连续性、B样条多项式的次数不取决于控制函数。 G连续C连续 C0连续满足:C1连续满足: (1)(0) p(1)=(1)(0)(0) (1)(0) px qx py q qy pz qz == ???? ???? ???? ???? (1)(0) p'(1)=(1)'(0)(0) (1)(0) p x q x p y q q y p z q z == ???? ???? ???? ???? C0(G0)连续:曲线的三个分量在连接点必须对应相等 C1连续:参数方程和一阶导数都对应相等 G1连续:两曲线的切线向量成比例 三维空间中,曲线上某点的导数即是该点的切线,只要求两个曲线段连接点的导数成比例,不需要导 数相等,即p’(1)=aq’(0) 称为G1几何连续性。将该思想推广到高阶导数,就可得到C n和G n连续性。

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

《计算机图形学》课程教学大纲一、课程基本信息 课程代码: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.掌握图形系统的组成。

计算机图形学实验报告

计算机图形学 实验报告 姓名:谢云飞 学号:20112497 班级:计算机科学与技术11-2班实验地点:逸夫楼507 实验时间:2014.03

实验1直线的生成 1实验目的和要求 理解直线生成的原理;掌握典型直线生成算法;掌握步处理、分析 实验数据的能力; 编程实现DDA算法、Bresenham中点算法;对于给定起点和终点的 直线,分别调用DDA算法和Bresenham中点算法进行批量绘制,并记 录两种算法的绘制时间;利用excel等数据分析软件,将试验结果编 制成表格,并绘制折线图比较两种算法的性能。 2实验环境和工具 开发环境:Visual C++ 6.0 实验平台:Experiment_Frame_One(自制平台)。 本实验提供名为 Experiment_Frame_One的平台,该平台提供基本 绘制、设置、输入功能,学生在此基础上实现DDA算法和Mid_Bresenham 算法,并进行分析。 ?平台界面:如错误!未找到引用源。所示 ?设置:通过view->setting菜单进入,如错误!未找到引 用源。所示 ?输入:通过view->input…菜单进入.如错误!未找到引用 源。所示 ?实现算法: ◆DDA算法:void CExperiment_Frame_OneView::DDA(int X0, int Y0, int X1, int Y1) Mid_Bresenham法:void CExperiment_Frame_OneView::Mid_Bresenham(int X0, int Y0, int X1, int Y1)

3实验结果 3.1程序流程图 1)DDA算法流程图:开始 定义两点坐标差dx,dy,以及epsl,计数k=0,描绘点坐标x,y,x增 量xIncre,y增量yIncre ↓ 输入两点坐标x1,y1,x0,y0 ↓ dx=x1-x0,dy=y1-y0; _________↓_________ ↓↓ 若|dx|>|dy| 反之 epsl=|dx| epsl=|dy| ↓________...________↓ ↓ xIncre=dx/epsl; yIncre=dy/epsl ↓ 填充(强制整形)(x+0.5,y+0.5); ↓←←←← 横坐标x+xIncre; 纵坐标y+yIncre; ↓↑ 若k<=epsl →→→k++ ↓ 结束 2)Mid_Bresenham算法流程图开始 ↓ 定义整形dx,dy,判断值d,以及UpIncre,DownIncre,填充点x,y ↓ 输入x0,y0,x1,y1 ______↓______ ↓↓ 若x0>x1 反之 x=x1;x1=x0;x0=x; x=x0;

计算机图形学实验报告

计算机图形学 实验报告 学号:20072115 姓名: 班级:计算机 2班 指导老师:何太军 2010.6.19

实验一、Windows 图形程序设计基础 1、实验目的 1)学习理解Win32 应用程序设计的基本知识(SDK 编程); 2)掌握Win32 应用程序的基本结构(消息循环与消息处理等); 3)学习使用VC++编写Win32 Application 的方法。 4)学习MFC 类库的概念与结构; 5)学习使用VC++编写Win32 应用的方法(单文档、多文档、对话框); 6)学习使用MFC 的图形编程。 2、实验内容 1)使用WindowsAPI 编写一个简单的Win32 程序,调用绘图API 函数绘制若干图形。(可选任务) 2 )使用MFC AppWizard 建立一个SDI 程序,窗口内显示"Hello,This is my first SDI Application"。(必选任务) 3)利用MFC AppWizard(exe)建立一个SDI 程序,在文档视口内绘制基本图形(直线、圆、椭圆、矩形、多边形、曲线、圆弧、椭圆弧、填充、文字等),练习图形属性的编程(修改线型、线宽、颜色、填充样式、文字样式等)。定义图形数据结构Point\Line\Circle 等保存一些简单图形数据(在文档类中),并在视图类OnDraw 中绘制。 3、实验过程

1)使用MFC AppWizard(exe)建立一个SDI 程序,选择单文档; 2)在View类的OnDraw()函数中添加图形绘制代码,说出字符串“Hello,This is my first SDI Application”,另外实现各种颜色、各种边框的线、圆、方形、多边形以及圆弧的绘制; 3)在类视图中添加图形数据point_pp,pp_circle的类,保存简单图形数据,通过在OnDraw()函数中调用,实现线、圆的绘制。 4、实验结果 正确地在指定位置显示了"Hello,This is my first SDI Application"字符串,成功绘制了圆,椭圆,方形,多边形以及曲线圆弧、椭圆弧,同时按指定属性改绘了圆、方形和直线。成功地完成了实验。 结果截图: 5、实验体会 通过实验一,了解了如用使用基本的SDI编程函数绘制简单的图

什么是计算机图形学

什么是计算机图形学? 计算机图形学是研究通过计算机将数据转换为图形,并在专门显示设备上显示的原理、方法和技术的学科 计算几何:研究几何模型和数据处理的学 科,探讨几何形体的计算机表示、分析和 综合 计算机图形学研究内容:建模,绘制,动画 图形系统的基本功能 1.计算功能 元素生成、坐标变换、求交、剪裁计算。 2.存储功能 存储数据:形体的集合数据、形体间相互关系、数据的实时检索、保存图形的编辑等信息。 3.输入功能 输入信息: 数据、图形信息、图象信息等输入。 命令关键字、操作信息。 4.输出功能 输出信息: 图形信息、文件信息;静态图形、动态图形。 5.交互功能 人─机交互:拾取对象、输入参数;接受命令、数据等。 显示器种类 阴极射线管、随机扫描、存储管式、光栅扫描、等离子和液晶显

示器 从以下几个方面介绍图形显示设备: 图形硬件显示原理 CRT;CRT是利用电子枪发射电子束来产生图像,容易受电磁波干扰液晶显示器;液晶显示器的工作原理是利用液晶的物理特性,在通电时导通,使液晶排列变得有秩序,使光线容易通过;不通电时,排列则变得混乱,阻止光线通过 未来显示器 光栅显示系统的组成 图形显示方式:随机扫描存储管式扫描光栅扫描 图形显示质量与一帧的画线数量有关:当一帧线条太多,无法维持30~60帧/秒刷新频率,就会出现满屏闪烁 光栅扫描显示器的常用概念:行频、帧频(图像刷新率) 水平扫描频率为行频。垂直扫描频率为帧频。 隔行扫描、逐行扫描 隔行扫描方式是先扫偶数行扫描线,再扫奇数行扫描线。像素 屏幕被扫描线分成n 行,每行有m 个点,每个点为一个象素。整个屏幕有m ×n 个象素。具有灰度和颜色信息 分辨率 指CRT单位长度上能分辨出的最大光点(象素)数。分为水平分辨率和垂直分辨率。

计算机图形学实验报告

计算机图形学(computer graphics)的基本含义是使用计算机通过算法和程序在显示设备上构造图形。图形是人们通过计算机设计和构造出来的,不是通过摄像机、扫描仪等设备输入的图像。这里的图形可以是现实中存在的图形,也可以是完全虚拟构造的图形。以矢量图的形式呈现,更强调场景的几何表示,记录图形的形状参数与属性参数。例如,工程图纸(drawing),其最基本的图形单元是点、线、圆/弧等,其信息包含图元的几何信息与属性信息(颜色、线型、线宽等显式属性和层次等隐式属性)。 图像处理(image processing)则是研究图像的分析处理过程,图像处理研究的是图像增加、模式识别、景物分析等,研究对象一般为二维图像。图像以点阵图形式呈现,并记录每个点的灰度或色彩。例如,照片、扫描图片和由计算机产生的真实感和非真实感图·形等,最基本的图像单元(pels,picture elements)是点—像素(pixel),其信息实际上是点与它的属性信息(颜色、灰度、亮度等)。 计算机视觉(computer vision)包括获取、处理、分析和理解图像或者更一般意义的真实世界的高维数据方法,它的目的是产生决策形式的数字或者符号信息。

计算机图形学和计算机视觉是同一过程的两个方向。计算机图形学将抽象的语义信息转化成图形,计算机视觉则从图形中提取抽象的语义信息,图像处理研究的则是一个图像或一组图像之间的相互转化和关系,与语义信息无关。下表从输入和输出的角度对三者的区别进行辨析: 表2 图像处理&计算机视觉&计算机图形学对比 计算机图形学,输入的是对虚拟场景的描述,通常为多边形数组,而每个多边形由三个顶点组成,每个顶点包括三维坐标、贴图坐标、RGB 颜色等。输出的是图像,即二维像素数组。 计算机视觉,输入的是图像或图像序列,通常来自相机、摄像头或视频文件。输出的是对于图像序列对应的真实世界的理解,比如检测人脸、识别车牌。图像处理,输入的是图像,输出的也是图像。

计算机图形学教学大纲

《计算机图形学》教学大纲 前 言 计算机图形学是计算机与应用专业的专业主干课,它的重要性体现在人们越来越强烈地需要和谐的人机交互环境:图形用户界面已经成为一个软件的重要组成部分,以图形的方式来表示抽象的概念或数据(可视化)已经成为信息领域的一个重要发展趋势。设置本课程的目的就在于让软硬件开发人员了解和掌握必要的图形学概念、方法和工具。 通过课程的学习: 了解图形系统的框架及其涉及的软件、硬件技术。了解图形学的基本问题,掌握图形学的基本概念、方法与算法。对与图形相关的应用及当前的研究热点有一个初步认识。具有一定实践体会和相关的编程能力。 教学目的要求和内容 预备知识 [目的要求] 掌握Windows 编程和VC++6.0及绘图的基本知识,为课程准备工具。 [教学内容] C++基本(类的设置,对象,成员变量和成员函数的初始化及其调用,继承和派生,函数的重载,虚函数) Visual C++6.0 开发环境,MFC简介,消息及其处理 图形设备的接口与绘图,菜单,对话框等控件 第1章 计算机图形学导论 [目的要求] 了解计算机图形学的研究内容及其应用领域, 了解图形、图象、像素、分辨率等基本概念 了解图形显示设备、图形输入设备以及图形软件等的发展状况 了解阴极射线管的工作原理 [教学内容] 。什么是图形,图象; 。计算机图形学的研究内容及其应用领域。 ? 掌握计算机中图形的两种表示方法,要求了解有关概念 ? 了解图形显示设备、图形输入设备以及图形软件的发展状况; ? 了解阴极射线管的结构及工作原理,彩色阴极射线管的工作原理 像素、分辨率等概念; 第2章二维线段图形的生成 [目的要求]

计算机图形学基础教程习题课1(第二版)(孙家广-胡事民编著)

1.列举计算机图形学的主要研究内容。 计算机中图形的表示方法、图形的计算、图形的处理和图形的显示。 图形硬件、图形标准、图形交互技术、光栅图形生成算法、曲线曲面造型、实体造型、真实感图形计算与显示算法,以及科学计算可视化、计算机动画、自然景物仿真、虚拟现实等。 2.常用的图形输出设备是什么? 显示器(CRT、LCD、等离子)、打印机、绘图仪等。 2.常用的图形输入设备是什么? 键盘、鼠标、跟踪球、空间球、数据手套、光笔、触摸屏、扫描仪等。 3.列出3种图形软件工具。 AutoCAD、SolidWorks、UG、ProEngineer、CorelDraw、Photoshop、PaintShop、Visio、3DMAX、MAYA、Alias、Softimage等。 错误:CAD 4.写出|k|>1的直线Bresenham画线算法。 d d d d 设直线方程为:y=kx+b,即x=(y-b)/k,有x i+1=x i+(y i+1-y i)/k=x i+1/k,其中k=dy/dx。因为直线的起始点在象素中心,所以误差项d的初值d0=0。y下标每增加1,d的值相应递增1/k,即d=d+1/k。一旦d≥1,就把它减去1,这样保证d在0、1之间。 ●当d≥0.5时,最接近于当前象素的右上方象素(xi+1,y i+1),x方向加1,d减 去1; ●而当d<0.5时,更接近于上方象素(x i,yi+1)。

为方便计算,令e=d-0.5,e的初值为-0.5,增量为1/k。 ●当e≥0时,取当前象素(x i,y i)的右上方象素(xi+1,y i+1),e减小1; ●而当e<0时,更接近于上方象素(xi,yi+1)。 voidBresenhamline (int x0,int y0,intx1, inty1,int color) { int x,y,dx,dy; float k,e; dx= x1-x0, dy = y1-y0,k=dy/dx; e=-0.5, x=x0, y=y0; for (i=0; i≤dy; i++) {drawpixel(x, y,color); y=y+1,e=e+1/k; if (e≥0) { x++, e=e-1;} } } 4.写出|k|>1的直线中点画线算法。 构造判别式:d=F(M)=F(xp+0.5,y p+1)=a(x p+0.5)+b(yp+1)+c ●当d<0,M在Q点左侧,取右上方P2为下一个象素; ●当d>0,M在Q点右侧,取上方P1为下一个象素; ●当d=0,选P1或P2均可,约定取P1为下一个象素;

相关文档
最新文档