西安交通大学计算机图形学第四章
- 格式:ppt
- 大小:8.85 MB
- 文档页数:18
第一章导论1孔令德.计算机图形学基础教程(Visual C++版)〔M〕.北京:清华大学出版社,2008孔令德.计算机图形学实践教程(Visual C++版)〔M〕.北京:清华大学出版社,2008孔令德.计算机图形学基础教程(Visual C++版)习题解答及编程实践〔M〕.北京:清华大学出版社,2010孔令德.计算机图形学课程设计教程(Visual C++版)〔M〕.北京:北京大学出版社,2010 参考文献2计算机图形学的应用领域计算机图形学的概念计算机图形学的相关学科Ivan E.Sutherland对计算机图形学的贡献光栅扫描显示器工作原理位面与帧缓冲器三维图形显示技术LOD与IBR热点技术本章学习目标31.1 计算机图形学的应用领域1.2 计算机图形学的概念1.3 计算机图形学的相关学科1.4 计算机图形学的确立与发展1.5 图形显示器的发展及其工作原理1.6 图形软件标准的形成1.7 计算机图形学研究的热点技术1.8 本章小结本章内容41.1 计算机图形学的应用领域“CG”是计算机图形学(Computer Graphics)的缩写。
计算机图形学是计算机技术与电视技术、图形图像处理技术相互融合的结果。
近年来,计算机图形学已经在游戏、电影、科学、艺术、商业、广告、教学、培训和军事等领域获得了广泛的应用。
5计算机游戏的核心技术来自于计算机图形学,如多分辨率地形、角色动画、天空盒、碰撞检测、粒子系统等。
人们学习计算机图形学的一个潜在目的就是从事游戏开发。
计算机游戏主要包括单机游戏、网络游戏和网页游戏等几种类型。
由Eidos公司推出的《古墓丽影》动作冒险系列游戏,成功地创造了虚拟人物劳拉(Lara Croft)和各种三维场景。
《古墓丽影》凭借巧妙的机关、逼真的动作,美丽的画面赢得了人们的喜爱,开创了三维动作冒险游戏的新纪元。
1.1.1 计算机游戏(Computer Game)6古墓丽影游戏截屏图7历代劳拉形象对比图891011计算机辅助设计(Computer Aided Design,CAD)和计算机辅助制造(Computer Aided Manufacture,CAM)是计算机图形学最早应用的领域,也是当前计算机图形学最成熟的应用领域,典型的代表产品为AutoCAD系统软件。
西安交通大学17年3月课程考试《计算机图形学》作业考核
试题100分答案
西安交通大学17年3月课程考试《计算机图形学》作业考核试题试卷总分:100? ? ? ?测试时间:--
一、单选题(共?30?道试题,共?60?分。
)
1. 在计算机的二维造型软件系统中,提供给用户多种图形的输入方式,但不包含( )。
A. 交互方式
B. 参数化方式
C. 事件方式
D. 识别方式
答案:C
满分:2 分
2. 计算机图形学中的光栅算法主要用于( )。
A. 三维图形的输入
B. 三维图形的输出
C. 二维图形输入
D. 二维图形输出
答案:D
满分:2 分
3. 在光照模型中,( )对于镜面光的处理不够好,会形成马赫带效应,针对这一问题,可以采用法向插值算法进行改进。
A. 恒定明暗处理
B. 光强插值算法
C. 法向插值算法
D. 光线跟踪
答案:B
满分:2 分
4. 用转角法判别点在区域的内外。
将点M与边界上一点P连接,
当P沿边界移动一周时,M 点处于区域外的是( )。
A. MP与给定的某条直线夹角变化值为0;
B. MP与给定的某条直线夹角变化值为2π;
C. MP与给定的某条直线夹角变化值为π;
D. MP与给定的某条直线夹角变化值为3π
答案:A
满分:2 分
5. 在三维几何变换中的透视投影中灭点最多可以有( )。
A. 4
B. 3
C. 2
D. 1
答案:B。
“计算机图形学”课内实验指导书杨新宇西安交通大学计算机科学与技术系课程基本情况实验学时:8适用专业:计算机专业本科生先修课程:数据结构,C语言程序设计开课学院:电子与信息工程学院开课学期:第七学期参考书:·DONALD HEARN & M.PAULINE BAKER著,蔡士杰、吴春鎔、孙正兴等译,《计算机图形学(第二版)》,PRENTICE HALL&电子工业出版社,2002年·David F. Rogers主编,《Procedural Elements for Computer Graphics》,机械工业出版社,2002年课程简介本实验是对《计算机图形学》课的课内实践,完成基本几何图形(线、圆、椭圆)的绘制。
教学基本要求与成绩的考核与评定办法一、实验课教学基本要求1.根据题目要求的功能,独立完成,培养自己独立思考、独立解决问题的能力;2.同学之间可以讨论研究问题,互相交流经验体会,但不可照抄;3.记录保存好自己的设计资料数据,调试完成后要写出详细设计报告;4.任务完成后老师要逐个检查验收,并结合实际情况提问答辩。
二、实验成绩的考核与评定办法在实验过程中考察动手能力,依据提交的设计报告、结合验收的实际情况综合打分。
实验项目名称:直线的DDA算法实验目的:1.掌握直线的DDA算法的编程实现。
实验环境:Windows操作系统、VC编程环境。
实验要求:以绘图区域中心为(0,0)点。
要求能够输入任意两个端点的坐标。
实验内容提要:参考《计算机图形学基础》课程中的相关算法流程。
实验类型:设计性。
实验项目名称:直线的Bresenham画线算法实验目的:1.掌握直线的Bresenham算法的编程实现。
实验环境:Windows操作系统、VC编程环境。
实验要求:以绘图区域中心为(0,0)点。
要求能够输入任意两个端点的坐标。
实验内容提要:参考《计算机图形学基础》课程中的相关算法流程。
《计算机图形学课内实验》实验报告班级:姓名:学号:日期:一:实验目的及要求(1)理解和掌握计算机中的基本图形绘画算法,包括直线DDA算法,直线Bresenham算法,圆Bresenham算法,椭圆Bresenham算法。
(2)学习MFC类程序编程,巩固提高编程能力。
(3)提高调试纠错能力,提高自学能力。
二:实验环境Windows 8.1系统,Visual Studio 2015 社区版,MFC类库。
三:实验内容直线的DDA算法实现。
四:数据结构与算法描述(1)问题分析设直线方程y=kx+b,该算法从直线端点(x1,y1)开始画点,画到(x2,y2)为止,分|k|<=1和|k|>1两种情况。
|k|<=1时,以横坐标为步进,x每次加1或-1(取决于x1小于x2还是大于x2),y每次加k(k为正数或负数),y以浮点数计算,画点时取整形数,画到另一端点为止。
|k|>1时,方程改为x=y/k-b/k,以纵坐标为步进,y每次加1(取决于y1小于y2还是大于y2),x每次加1/k(1/k为正数或负数),x以浮点数计算,画点时取整形数,画到另一端点为止。
(2)C++代码表示的算法概述:该程序在对话框中输入(x1,y1)(x2,y2)坐标,点击确定后在用户区画线(使用消息处理程序)。
画线算法为程序核心,如下:CDialog::OnOK();UpdateData(TRUE); //将输入对话框的数据送入变量,该对话框类包含四个成员变量://m_x1,m_y1为第一个点坐标,m_x2,m_y2为第二个点坐标CDC* p = k; //创建CDC对象指针,用于调用画点函数p->SetViewportOrg(683, 300); //坐标轴提前画好,原点在(683,300)int i, x = m_x1, y = m_y1;float xi, yi, st, dx = m_x2 - m_x1, dy = m_y2 - m_y1, xf = (float)x, yf = (float)y; st = abs(dx); //设定步进,以下三行代码确定横坐标差和纵坐标差中较大的,abs()为绝对值函数if (abs(dx) < abs(dy))st = abs(dy);xi = dx / st;yi = dy / st; //xi和yi中必有一个为1,用于在下方循环内统一操作p->SetPixel(CPoint(x, -y), RGB(255, 0, 0)); //画初始点,mfc坐标系y轴正方向朝下for (i = 1; i <= st; i++){xf += xi;yf += yi; //用浮点数计算,否则带入画点时小数部分始终被舍去,使得整数无法增加 x = xf;y = yf;p->SetPixel(CPoint(x, -y), RGB(255, 0, 0)); //循环画点Sleep(10);}(3)执行结果事例输入:绘制结果:(4)遇到的问题和解决手段①在编写界面时不知道如何实现在菜单点击后出现上图所示对话框,查询得知需设置消息处理程序打开对话框。