计算机图形学基础教程习题课1(第二版)(孙家广-胡事民编著)
计算机图形学习题集科大
计算机图形学习题集青岛科技大学计算机图形学复习大纲第一章概述一、填空题1.计算机图形学研究怎样用生成、处理和显示的学科。
2.矢量图是由数学方式描述的只记录生成图形算法和图形特征的数据文件。
位图是由像素描述的全部像素信息组成的数据文件。
二、选择题1.下列不属于计算机图形学的应用的是()A、计算机辅助绘图及设计B、事务管理中的交互式绘图C、科学计算可视化D、人工智能第二章基本图形生成一、填空题2.绘制直线时的终点判别,规定离X轴近的终点,以ˍXˍ来计长,而离Y轴近的终点,以ˍˍYˍ来计长。
3.绘制圆弧时的终点判别,规定离X轴近的终点,以ˍˍˍˍˍˍˍˍˍˍ来计长,而离Y轴近的终点,以ˍˍˍˍˍˍˍˍˍˍ来计长。
4.生成直线常用的算法主要有、、。
5.圆弧的Bresenham点生成算法,通常把圆分成____________________个部分,如果f i=(x i+1)2+y i2-R2,g i=(x i+1)2+(y i-1) 2-R2,e=∣f i∣-∣g i∣,当点(X i,Y i)的e i≥0 则下一点为D,其坐标为(X i+1,____________________),若e i<0则下一点为H,其坐标为(X i+1,____________________)。
6.6.直线DDA 算法,当斜率m<=1时,x 方向的增量△x 和y 方向的增量△y 分别是____。
A. ±m 和±1B. ±1和±1/mC. ±1和±mD. ±1/m 和±1三、 计算推理题1、 用Bresenham 算法生成椭圆 一 时,若: 在第一象限上半部分误差项递推公式为:下半部分的递推公式为:当时,说明从椭圆的上半部分转入下半部分。
请写出画出整个椭圆的算法步骤。
5、已知逐点比较法在第Ⅰ象限生成直线的计算式为:⎪⎩⎪⎨⎧-==+=≥++A i i i i i i i Y F F Y Y X X X F 1110)1(方向一步,即时,走 ⎪⎩⎪⎨⎧+=+==<++A i i i i i i i X F F Y Y X X Y F 1110)1(方向一步,即时,走 试推导逐点比较法在第Ⅱ象限生成直线的计算式。
计算机图形学基础教程孔令德课后答案
计算机图形学基础教程孔令德课后答案【篇一:大学计算机图形学课程设】息科学与工程学院课程设计任务书题目:小组成员:巴春华、焦国栋成员学号:专业班级:计算机科学与技术、2009级本2班课程:计算机图形学指导教师:燕孝飞职称:讲师完成时间: 2011年12 月----2011年 12 月枣庄学院信息科学与工程学院制2011年12 月20日课程设计任务书及成绩评定12【篇二:计算机动画】第一篇《计算机图形学》小结《计算机图形学》第一章:从计算机的辅助设计,艺术,和虚拟现实技术等方面介绍了计算机图形学的应用领域;接下了解了有关计算机图形学的概念和发展情况和图新显示器的发展和阴极射线管光栅扫描显示等的工作原理;最后介绍了图形学的最新技术。
第二章:介绍了面向对象程序设计,visual c++下的编程,主要基于mfc的编程,更重要的是绘制图形的方法。
第三章:图形的扫描与转换:主要分两部分,一是:直线,圆,和椭圆的扫描和转换中的一些重要而经典的算法。
二是:反走样技术,尤其,直线距离加权反走样的算法。
第四章:主要介绍了多边形填充,有多边形的的概述到有效边表填充,边缘填充,最后区域填充的原理和算法第五章:二维变换和裁剪:主要介绍了裁剪的方法:cohen sutherland算法是最著名的算法,除此之外还有重点分割裁剪算法,梁友栋——barsky算法。
第二篇计算机动画2.1计算机动画的概念:计算机动画是指采用图形与图像的处理技术,借助于编程或动画制作软件生成一系列的景物画面,其中当前帧是前一帧的部分修改。
计算机动画是采用连续播放静止图像的方法产生下图1-1几幅图片就是用计算机动画(a)(b)(c)(d)图2-1 计算机动画示例2.2 计算机动画的发展:计算机动画的发展大致分为三阶段:第一阶段:初出茅庐阶段:20世纪60年代初。
第一部计算机动画片诞生,之后大约20年,二维动画是计算机动画研究的重心,同时,二维动画也被应用于教学演示和辅助传统的动画片制作。
计算机图形学教程课后习题参考答案.
第一章1、试述计算机图形学研究的基本内容?答:见课本P5-6页的1.1.4节。
2、计算机图形学、图形处理与模式识别本质区别是什么?请各举一例说明。
答:计算机图形学是研究根据给定的描述,用计算机生成相应的图形、图像,且所生成的图形、图像可以显示屏幕上、硬拷贝输出或作为数据集存在计算机中的学科。
计算机图形学研究的是从数据描述到图形生成的过程。
例如计算机动画制作。
图形处理是利用计算机对原来存在物体的映像进行分析处理,然后再现图像。
例如工业中的射线探伤。
模式识别是指计算机对图形信息进行识别和分析描述,是从图形(图像)到描述的表达过程。
例如邮件分捡设备扫描信件上手写的邮政编码,并将编码用图像复原成数字。
3、计算机图形学与CAD、CAM技术关系如何?答:见课本P4-5页的1.1.3节。
4、举3个例子说明计算机图形学的应用。
答:①事务管理中的交互绘图应用图形学最多的领域之一是绘制事务管理中的各种图形。
通过从简明的形式呈现出数据的模型和趋势以增加对复杂现象的理解,并促使决策的制定。
②地理信息系统地理信息系统是建立在地理图形基础上的信息管理系统。
利用计算机图形生成技术可以绘制地理的、地质的以及其它自然现象的高精度勘探、测量图形。
③计算机动画用图形学的方法产生动画片,其形象逼真、生动,轻而易举地解决了人工绘图时难以解决的问题,大大提高了工作效率。
5、计算机绘图有哪些特点?答:见课本P8页的1.3.1节。
6、计算机生成图形的方法有哪些?答:计算机生成图形的方法有两种:矢量法和描点法。
①矢量法:在显示屏上先给定一系列坐标点,然后控制电子束在屏幕上按一定的顺序扫描,逐个“点亮”临近两点间的短矢量,从而得到一条近似的曲线。
尽管显示器产生的只是一些短直线的线段,但当直线段很短时,连成的曲线看起来还是光滑的。
②描点法:把显示屏幕分成有限个可发亮的离散点,每个离散点叫做一个像素,屏幕上由像素点组成的阵列称为光栅,曲线的绘制过程就是将该曲线在光栅上经过的那些像素点串接起来,使它们发亮,所显示的每一曲线都是由一定大小的像素点组成的。
02-计算机图形学基础(第二版)PPT课件
透镜组
光 孔
触钮开关
导线
笔体 光导纤维
图2.3 光笔的结构
2021/7/22
7
图形输入设备
触摸屏(touch screen) 当用手指或者小杆触摸屏幕时,触点位置
便以光学的(红外线式触摸屏)、电子的(电 阻式触摸屏和电容式触摸屏)或声音的(声音 探测式)方式记录下来。
2021/7/22
8
图形输入设备
随机扫描(random-scan)的图形显示器中电 子束的定位和偏转具有随机性,即电子束的扫 描轨迹随显示内容而变化,只在需要的地方扫 描,而不必全屏扫描。
2021/7/22
31
随机扫描的图形显示器
2
Y
2
3
1
1
3
t
1
X
2
3
图2.16 随机扫描图形显示器的工作原理
2021/7/22
32
随机扫描的图形显示器
2021/7/22
52
2.4 显示子系统
光栅扫描图形显示子系统的结构 绘制流水线 相关概念
2021/7/22
53
光栅扫描图形显示子系统的结构
CPU
系统 主存
显示 控的光栅图形显示子系统
2021/7/22
54
光栅扫描图形显示子系统的结构
CPU
系统 主存
帧缓存
2021/7/22
41
液晶显示器——原理
液晶分子的排列在微弱的外部电场、磁场或者 应力、温度变化等作用下非常容易改变。当液 晶分子的某种排列状态在电场作用下变为另一 种状态时,液晶的光学性质随之改变,这种产 生光被电场调制的现象称为液晶的电光效应。
2021/7/22
计算机图形学基础教程附录(第二版)(孙家广 胡事民编著)
(4)两个矢量的点积
V1·V2=|V1||V2|cosθ=x1x2+y1y2+z1z2
其中,θ为两相量之间的夹角。
点积满足交换律和分配律:
V1·V2=V2·V1
V1·(V2+V3)=V1·V2+V1·V3
(5)两个矢量的叉积
叉积V1×V2是一个向量,而且满足:
①|V1×V2|=|V1||V2|sinθ,即以V1和V2为邻边所构成的平行四边形的面积。
齐次坐标的优点:
①它提供了用矩阵运算把二维、三维甚至高维空间中的一个点集,从一个坐标系变换到另一个坐标系的有效方法。
②它可以表示无穷远的点。n+1维的齐次坐标中如果h=0,实际上就表示了n维空间的一个无穷远点。对于齐次坐标[a,b,h],保持a,b不变,h→0的过程就表示了在二维坐标系中的一个点,沿直线ax+by=0逐渐走向无穷远处的过程。
即:
用齐次坐标表示为:
其中h=(zprp-z)/dp。
由比例关系,两者的变换公式为:
可以简单地将两者的关系表示为:
其中:
用矩阵表示为:
B.2二维图形的几何变换
正如我们在附录A中提到的那样,用齐次坐标表示点的变换将非常方便,因此在附录B中所有的几何变换都将采用齐次坐标进行运算。
二维齐次坐标变换的矩阵的形式是:
这个矩阵每一个元素都是有特殊含义的。其中 可以对图形进行缩放、旋转、对称、错切等变换; 是对图形进行平移变换;[gh]是对图形作投影变换;[i]则是对图形整体进行缩放变换。
C.3正平行投影(三视图)
投影方向垂直于投影平面的投影称为正平行投影,通常所说的三视图均属于正平行投影。三视图的生成就是把xyz坐标系的形体投影到z=0的平面,变换到uvw坐标系。一般还需将三个视图在一个平面上画出,这时就得到下面的变换公式,其中(a,b)为uv坐标系下的值,tx、ty、tz均如图C-3所示。
《计算机图形学》习题与解答
《计算机图形学》习题与解答第一章概述1. 试描述你所熟悉的计算机图形系统的硬软件环境。
计算机图形系统是计算机硬件、图形输入输出设备、计算机系统软件和图形软件的集合。
例如:计算机硬件采用PC、操作系统采用windows2000,图形输入设备有键盘、鼠标、光笔、触摸屏等,图形输出设备有CRT、LCD等,安装3D MAX图形软件。
2. 计算机图形系统与一般的计算机系统最主要的差别是什么?3. 图形硬件设备主要包括哪些?请按类别举出典型的物理设备?图形输入设备:鼠标、光笔、触摸屏和坐标数字化仪,以及图形扫描仪等。
图形显示设备:CRT、液晶显示器(LCD)等。
图形绘制设备:打印机、绘图仪等。
图形处理器:GPU(图形处理单元)、图形加速卡等等。
4. 为什么要制定图形软件标准?可分为哪两类?为了提高计算机图形软件、计算机图形的应用软件以及相关软件的编程人员在不同计算机和图形设备之间的可移植性。
图形软件标准通常是指图形系统及其相关应用系统中各界面之间进行数据传送和通信的接口标准,另外还有供图形应用程序调用的子程序功能及其格式标准。
5. 请列举出当前已成为国际标准的几种图形软件标准,并简述其主要功能。
(1)CGI(Computer Graphics Interface),它所提供的主要功能集包括控制功能集、独立于设备的图形对象输出功能集、图段功能集、输入和应答功能集以及产生、修改、检索和显示以像素数据形式存储的光栅功能集。
(2)GKS(Graphcis Kernel System),提供了应用程序和图形输入输出设备之间的接口,包括一系列交互和非交互式图形设备的全部图形处理功能。
主要功能如下:控制功能、输入输出功能、变换功能、图段功能、询问功能等。
6. 试列举计算机图形学的三个应用实例。
(1)CAD/CAM(2)VISC(3)VR.第二章光栅图形学1. 在图形设备上如何输出一个点?为输出一条任意斜率的直线,一般受到哪些因素影响?若图形设备是光栅图形显示器,光栅图形显示器可以看作是一个像素的矩阵,光栅图形显示器上的点是像素点的集合。
计算机图形学-第一章
1.4 图形显示设备 (阴极射线管显示器)
– 带宽问题
– 高分辨率和高的刷新频率要求有高带宽 1024*768/85模式需要85M带宽 – – – –
依然是个问题! 解决方法:隔行扫描(现在已经基本不用,主流地显示器都采用逐行扫描方式) 隔行扫描的工作原理:把一帧分两场,即奇数场与偶数场 场频:==2*帧频
12
1.2 计算机图形学的发展
Whirlwind: early graphics using VectorScope (1951)
first CAD system (IBM 1959)
Spacewars: first computer graphics game (MIT 1961)
SketchPad: first interactive graphics (1961)
a31
a32
a33
a34
a35
a41
a42
a43
a44
a45
5×5图像
a51
a52
a53
a54
a55
x
0
直线的参数方程:ax+by+c=0
7
1.1 计算机图形学及其相关概念 计算机图形学研究的对象
8
• 图形与图像
—图像纯指计算机内以位图(Bitmap)形式存在的 灰度信息。
—图形含有几何属性,更强调场景的几何表示, 是由场景的几何模型和景物的物理属性共同组 成的。 —图形主要分为两类 – 基于线条信息表示 – 明暗图(Shading)
24
科学可视化
25
-By Science Visualization challenge 2013
科学可视化
计算机图形学习题
技术。
图像变换
图像变换包括缩放、旋转、剪切和 翻转等操作,用于改变图像的尺寸 和方向。
像素操作
像素操作包括改变像素的颜色、亮 度、对比度等属性,以及进行像素 级别的操作,如模糊、锐化等。
几何变换与矩阵运算
01
02
03
04
平移
平移是将图形在二维或三维空 间中移动的操作。
起步阶段
发展阶段
20世纪50年代,计算机图形学开始起步, 主要应用于科学可视化领域。
20世纪80年代,随着个人电脑的普及,计 算机图形学在游戏、电影等领域得到广泛 应用。
成熟阶段
未来展望
21世纪初,随着计算机硬件和软件技术的 不断进步,计算机图形学在虚拟现实、增 强现实等领域取得突破性进展。
随着人工智能、云计算等技术的融合发展 ,计算机图形学将在更多领域发挥重要作 用。
// Colors
1.0f, 1.0f, -1.0f, 1.0f, 0.0f, 0.0f,
1.0f, 1.0f, -1.0f, 0.0f, 1.0f, 0.0f,
编程题
1.0f, -1.0f, -1.0f, 0.0f, 0.0f, 1.0f, 1.0f, -1.0f, -1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 0.5f, 0.5f, 1.0f,
三维建模
使用三维建模软件(如Blender、3D Studio Max等)或编 程语言(如OpenGL、Direct3D等)进行三维模型的创建、 编辑和优化。
渲染技术
通过光照模型、纹理映射、阴影处理等技术将三维模型渲染 成逼真的图像,常用的渲染技术包括光栅化渲染和光线追踪 渲染。
计算机图形学基础教程习题课1(第二版)(孙家广_胡事民编著)
1.列举计算机图形学的主要研究内容。
计算机中图形的表示方法、图形的计算、图形的处理和图形的显示。
图形硬件、图形标准、图形交互技术、光栅图形生成算法、曲线曲面造型、实体造型、真实感图形计算与显示算法,以及科学计算可视化、计算机动画、自然景物仿真、虚拟现实等。
2.常用的图形输出设备是什么?显示器(CRT、LCD、等离子)、打印机、绘图仪等。
2.常用的图形输入设备是什么?键盘、鼠标、跟踪球、空间球、数据手套、光笔、触摸屏、扫描仪等。
3.列出3种图形软件工具。
AutoCAD、SolidWorks、UG、ProEngineer、CorelDraw、Photoshop、PaintShop、Visio、3DMAX、MAYA、Alias、Softimage等。
错误:CAD4.写出|k|>1的直线Bresenham画线算法。
dddd设直线方程为: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时,最接近于当前象素的右上方象素(x i+1,y i+1),x方向加1,d减去1;●而当d<0.5时,更接近于上方象素(x i,y i+1)。
为方便计算,令e=d-0.5,e的初值为-0.5,增量为1/k。
●当e≥0时,取当前象素(x i,y i)的右上方象素(x i+1,y i+1),e减小1;●而当e<0时,更接近于上方象素(x i,y i+1)。
void Bresenhamline (int x0,int y0,int x1, int y1,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的直线中点画线算法。
计算机图形学课后习题答案(孙家广)
第一章:P561、列出在你过去学习工作中用过与计算机图形学有关的程序c语言:#include <graphics.h>main(){int graphdriver = VGA, graphmode=VGAHI;initgraph(&graphdriver,&graphmode,””);setbkcolor(BLUE);setcolor(WHITE);setfillstyle(1,LIGHTRED);bar3d(100,200,400,350,100,1);floodfill(450,300,WHITE);floodfill(250,450,WHITE);setcolor(LIGHTGREEN);rectangle(450,400,500,450);floodfill(470,420,LIGHTGREEN);getch();closegraph();}JA V A语言:例1、画点Import java.io.*;Class point{int ax;int ay;int bx;int by;public point(int ax, int ay, int bx, int by){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){super.paint(g);Graphics2D g2= (Graphics 2D);Double leftx=200;Double topy=200;Double width=300;Double height=250;Rectangle2D rect= new Rectangle2D.double(leftx,topy,width,height);G2.draw(rect);}}2、列出你所用过的窗口系统中与观感有关的元素的功能,如图标、滚动棒、菜单等使用滚动条当文档、网页或图片超出窗口大小时,会出现滚动条,可用于查看当前处于视图之外的信息。
计算机图形学基础(第二版)部分习题答案
华中科技大学计算机图形学课后习题指导一、第五章5.3 试用中点Bresenham算法画直线段的原理推导斜率为负且大于1的直线段绘制过程(要求写清原理、误差函数、递推公式及最终画图过程)。
分析:这是典型的算法推导题,推导时需要首先确定最大位移方向,然后根据最大位移方向确定候选点,并利用候选点的中点构造判别式;根据判别式确定选择候选点的条件,然后确定判别式的递推公式以及初值。
解:5.7 利用中点Bresenham画圆算法的原理推导第一象限x=y到y=0圆弧段的扫描转换算法(要求写清原理、误差函数、递推公式及最终画图过程)。
分析:这是典型的算法推导题,推导时需要首先确定最大位移方向,然后根据最大位移方向确定候选点,并利用候选点的中点构造判别式;根据判别式确定选择候选点的条件,然后确定判别式的递推公式以及初值。
圆算法应该注意的是算法是从理想圆与坐标轴交点开始的。
解:在x=y到y=0的圆弧中,(R, 0)点比在圆弧上,算法从该点开始。
最大位移方向为y,由(R, 0)点开始,y渐增,x渐减,每次y方向加1,x方向减1或减0。
(注意算法的起始点)设P点坐标(xi, yi),下一个候选点为Pr(xi, yi+1)和Pl(xi-1, yi+1),取Pl和Pr的中点M(xi-0.5, yi+1),设理想圆与y=yi+1的交点Q,构造判别式:d=F(xM, yM)=(x-0.5)2+(y+1)2-R2当d<0时,M在Q点左方,取Pr(xi,yi+1);当d>0时,M在Q点右方,取Pl(xi-1,yi+1);当d=0时,M与Q点重合,约定取Pl(xi-1, yi+1)。
5.11 如图所示多边形,若采用扫描转换算法(ET边表算法)进行填充,试写出该多边形的ET表和当扫描线Y=4时的有效边表(AET表,活性边表)。
分析:改进的有效边表算法是用软件方法实现扫描转换效率较高的算法,它利用了边表来构造有效边表。
需要注意的有以下几点:(1)构造边表时,水平边不需要构造,算法能够获取到水平边的两个端点,配对填充后水平边被填充,因此水平边的数据不参与计算。
计算机图形学教案
课程章节
第二章MFC绘图基础(继续)
第 3 次课
授课时间2013年9月9日
授课班级1020541、1020542
授课类型:理论课√讨论课实践课习题课
教学目标(知识教学,能力发展两个方面内容)
1、了解CDC类的成员函数2、掌握绘制像素点、矩形、椭圆等成员函数的使用
3、理解双缓冲机制位图函数、文本函数4、应用:各种绘图函数的正确使用方法
2、思考:三次Bezier样条拼接的注意事项?
3、作业:习题2-6,2-7
参考文献:
[1]郑阿奇?,丁有和.Visual C++应用教程[M].北京:人民邮电出版社,2008.
[2]孔令德.计算机图形学基础教程(Visual C++版)[M].北京,清华大学出版社,2008.
太原工业学院教案
课程章节
5、学会MFC绘图的几种方法6、具有使用绘图函数绘制复杂图形的能力
教学内容(注明重点、难点)
课堂教学设计与教学方法
一、CDC类的绘图成员函数[重点]
1、绘制像素点和获取像素点
2、绘制直线段和绘制矩形函数
3、绘制椭圆和绘制椭圆弧
4、绘制扇形和绘制多边形函数
5、路径层函数
6、绘制Bezier样条函数
7、位图操作函数
2、作业:3-5,3-6
参考文献:
[1]陆枫,何云峰.计算机图形学基础(第2版)[M].北京:电子工业出版社,2010.
[2]孙家广,胡事民.计算机图形学基础教程[M].北京:清华大学出版社,2005.
太原工业学院教案
课程章节
第三章基本图形的扫描转换(继续)
第6次课
授课时间2013年9月23日
计算机图形学基础教程
• 图形学的杂志和会议
– 会议:Siggraph, Eurograph, Pacific Graphics Computer Graphics International, Graphics Interface – 杂志: ACM Transaction on Graphics IEEE Computer Graphics and Application IEEE Visualization and Computer Graphics Graphical Models Computer Graphics Forum The Visual Computer
– CRT(CRT Cathode-Ray Tube,阴极射线 管) – 组成
• • • • 电子枪 聚焦系统 加速系统 磁偏转系统
计算机图形学
清华大学计算机科学与技术系
电子枪
聚焦系统 加速系统
磁偏转系统
电子束 加热灯丝 金属阴极 电平控制器 水平偏转板 垂直偏转板 荧光屏
CRT显示器的简易结构图
清华大学计算机科学与技术系
计算机图形学
– 真实感图形学
• 1970年,Bouknight提出了第一个光反射模型 • 1971年Gourand提出“漫反射模型+插值”的思 想,被称为Gourand明暗处理 • 1975年,Phong提出了著名的简单光照模型Phong模型
– 实体造型技术
• 英国剑桥大学CAD小组的Build系统 • 美国罗彻斯特大学的PADL-1系统
计算机图形学
– N-system 注册 – Published in IJCV
清华大学计算机科学与技术系
计算机图形学
• Results of multi-View registration
计算机图形学教程课后习题参考答案解析
第一章1、试述计算机图形学研究的基本内容?答:见课本P5-6页的1.1.4节。
2、计算机图形学、图形处理与模式识别本质区别是什么?请各举一例说明。
答:计算机图形学是研究根据给定的描述,用计算机生成相应的图形、图像,且所生成的图形、图像可以显示屏幕上、硬拷贝输出或作为数据集存在计算机中的学科。
计算机图形学研究的是从数据描述到图形生成的过程。
例如计算机动画制作。
图形处理是利用计算机对原来存在物体的映像进行分析处理,然后再现图像。
例如工业中的射线探伤。
模式识别是指计算机对图形信息进行识别和分析描述,是从图形(图像)到描述的表达过程。
例如邮件分捡设备扫描信件上手写的邮政编码,并将编码用图像复原成数字。
3、计算机图形学与CAD、CAM技术关系如何?答:见课本P4-5页的1.1.3节。
4、举3个例子说明计算机图形学的应用。
答:①事务管理中的交互绘图应用图形学最多的领域之一是绘制事务管理中的各种图形。
通过从简明的形式呈现出数据的模型和趋势以增加对复杂现象的理解,并促使决策的制定。
②地理信息系统地理信息系统是建立在地理图形基础上的信息管理系统。
利用计算机图形生成技术可以绘制地理的、地质的以及其它自然现象的高精度勘探、测量图形。
③计算机动画用图形学的方法产生动画片,其形象逼真、生动,轻而易举地解决了人工绘图时难以解决的问题,大大提高了工作效率。
5、计算机绘图有哪些特点?答:见课本P8页的1.3.1节。
6、计算机生成图形的方法有哪些?答:计算机生成图形的方法有两种:矢量法和描点法。
①矢量法:在显示屏上先给定一系列坐标点,然后控制电子束在屏幕上按一定的顺序扫描,逐个“点亮”临近两点间的短矢量,从而得到一条近似的曲线。
尽管显示器产生的只是一些短直线的线段,但当直线段很短时,连成的曲线看起来还是光滑的。
②描点法:把显示屏幕分成有限个可发亮的离散点,每个离散点叫做一个像素,屏幕上由像素点组成的阵列称为光栅,曲线的绘制过程就是将该曲线在光栅上经过的那些像素点串接起来,使它们发亮,所显示的每一曲线都是由一定大小的像素点组成的。
计算机图形学习题参考答案(完整版)
9、使用中点圆算法,绘制圆心为 (0, 0) ,半径 r 10 的圆在第一象限中的部分。 解:
k (x k, yk) (x k ', yk ') pk 0 (0,10) (10, 0) 1r 9 1 (1,10) (10,1) p0 2x 116 2 (2,10) (10, 2) p12x 2 11 3 (3,10) (10, 3) p2 2x 3 2x 4 12y 4 3 5 (5, 9) (9, 5) p4 2x 5 18 6 (6, 8) (8, 6) p5 2x 6 12y6 5 7 (7, 7)
1
度,可以沿着三个方向移动,也可以沿着三个方位旋转,同时还可以建立与其他三维空间的超链接。 因此 VRML 是超空间的。 7、图形的构成要素有哪些? 解: ① 刻画形状的点、线、面、体等几何要素; ② 反映物体表面属性和材质的灰度、颜色等非几何要素。 8、计算机图形学的最高奖以谁的名字命名,获得第一届和第二届该奖的分别是谁? 解: 计算机图形学的最高奖是以 Coons 的名字命名的, 获得第一届和第二届 Coons 奖的是 Ivan Sutherland 和 Pierre Bézier。
2
11、已知: A(0, 0) 、 B(1, 1) 、 C(2, 0) 、 D(1, 2) ,请判断多边形 ABCD 是否是凹多边形。 解: 多 边 形 的 边 向 量 为 AB (1,1, 0) , BC (1, 1, 0) , CD (1, 2, 0) , DA(1, 2, 0) 。 因 为
第 2 章 基本图元的显示
1、假设 RGB 光栅系统的设计采用 810 英寸的屏幕,每个方向的分辨率为每英寸 100 个像素。如果 每个像素 6 位,存放在帧缓冲器中,则帧缓冲器需要多大存储容量(字节数)? 解: 8100101006/8600000 (字节) 。 2、假设计算机字长为 32 位,传输速率为 1 MIP(每秒百万条指令) 。300 DPI(每英寸点数)的激光打 印机,页面大小为 8.511 英寸,要填满帧缓冲器需要多长时间。 解:
计算机图形学课件:习题课-解答
解答:利用齐次坐标形式把三角形写为矩阵形式:
(a)
0 1 5
[ A B C] 0 1 2
1 1 1
cos 45
sin 45
0
2
2
2 2
0
R 45
sin
45
0
cos 45 0
0
1
2 2 0
2 2
0
0 1
变换后的三角形为:
2
2
2 2
0
0
A'
B'
C'
2 2
2 2
0 •[A B C] 0
N
code1==0000&&code2==0000
y
p1p2完全可见
N
code1&code2!=0000
y p1p2完全不可见
exit exit
code1/2[1]=1:线段与上边框线交点代替P1/2 code1/2[2]=1:线段与下边框线交点代替P1/2 code1/2[3]=1:线段与右边框线交点代替P1/2 code1/2[4]=1:线段与左边框线交点代替P1/2
以上不等式可改写为: pku qk , k 1, 2, 3, 4
其中:p1 x1 x2
q1 x1 xmin (左)
p2 x2 x1
q2 xmax x1(右)
p3 y1 y2
q3 y1 ymin (下)
p4 y2 y1
q4 ymax y1(上)
pk
0时交点参数值为:uk
解答:(1)初始边表:不包含水平边。
8
7
6
5
4
3
2
1
0
ymax x a Next-pointer
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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为下一个象素;
增量计算:
●若d 0,取正上方象素P1(x p, y p+1),要判下一个象素位置,应计算
d1= F(M1)=F(xp+0.5, y p+2)=a(x p+0.5)+b(yp+2)+c=d+b
增量为b。
●若d<0,取右上方象素P2 (xp+1, y p+1)。
要判断再下一象素,则要计算
d2= F(M2)=F(x p+1.5,y p+2)=a(xp+1.5)+b(y p+2)+c=d+a+b
增量为a+b。
●d的初值d0=F(x0+0.5,y0+1)=F(x0, y0)+0.5a+b=0.5a+b 用2d代替d的算法:
void Midpoint Line (int x0,int y0,int x1, int y1,int color)
{ int a,b,d1, d2, d, x, y;
a=y0-y1, b=x1-x0, d=a+2*b;
d1=2*b,d2=2*(a+b);
x=x0, y=y0;
drawpixel(x,y, color);
while (y<y1)
{ if (d<0){x++,y++,d+=d2; }
else{y++,d+=d1;}
drawpixel (x, y,color);
} /* while*/
}/* midPointLine*/
5.写出下图中多边形的边表(新边表)。
5.写出下图中多边形的边表(新边表)。
6. 写出以原点为球心,半径为2的球体的旋转生成算法。
算法一:以点为基本图元 for(j =0;j<72;j++)
{ﻩ 绕Y轴逆时针旋转5度,⎥⎥⎥
⎥⎥⎥⎦⎤
⎢⎢⎢⎢⎢⎢⎣⎡-=1000
036cos 036sin
0010
036sin
036cos π
π
π
πy R ;ﻩ
//画出半圆
画点(0,2,0); for(i=0;i<36;i++)
{
将当前点绕Z轴逆时针旋转5度,⎥⎥⎥⎥⎥⎥⎦
⎤⎢⎢⎢⎢⎢⎢⎣
⎡-=100001000036cos 36sin
0036
sin
36cos π
π
π
πz R ;
ﻩ 画变换后的点⎥⎥⎥⎥⎦
⎤⎢⎢⎢⎢⎣⎡⋅⋅=⎥⎥⎥⎥
⎦
⎤⎢⎢⎢⎢⎣⎡'''10201z
y R R z y x ;}} 算法二:以圆弧为基本图元 fo r(j=0;j <72;j ++)
{ 绕Y 轴逆时针旋转5度,⎥⎥⎥
⎥⎥⎥⎦⎤
⎢⎢⎢⎢⎢⎢⎣⎡-=1000
036cos 036sin
0010
036sin
036cos π
π
π
πy R ;
画半圆;}。