计算机图形学 (2)
计算机图形学实验二:直线的生成算法的实现

实验二: 直线的生成算法的实现班级 08信计2班学号 20080502055 姓名分数一、实验目的和要求:1.理解直线生成的原理;2.掌握几种常用的直线生成算法;3.利用C实现直线生成的DDA算法。
二、实验内容:1.了解直线的生成原理2、掌握几种基本的直线生成算法: DDA画线法、中点画线法、Bresenham画线法。
3、仿照教材关于直线生成的DDA算法, 编译程序。
4.调试、编译、运行程序。
三、实验过程及结果分析1.直线DDA算法:算法原理:已知过端点P0(x0,y0), P1(x1,y1)的直线段L(P0,P1), 斜率为k=(y1-y0)/(x1-x0), 画线过程从x的左端点x0开始, 向x右端点步进, 步长为1个像素, 计算相应的y坐标为y=kx+B。
计算y i+1 = kx i+B=kx i +B+kx=y i +kx当x=1,yi+1=yi+k, 即当x每递增1, y递增k。
由计算过程可知, y与k可能为浮点数, 需要取y整数, 源程序中round(y)=(int)(y+0.5)表示y四舍五入所得的整数值。
(1)程序代码:#include"stdio.h"#include"graphics.h"void linedda(int x0,int y0,int x1,int y1,int color){int x,dy,dx,y;float m;dx=x1-x0;dy=y1-y0;m=dy/dx;y=y0;for(x=x0;x<=x1;x++){putpixel(x,(int)(y+0.5),color);y+=m;setbkcolor(7);}}main(){int a,b,c,d,e;int graphdriver=DETECT;int graphmode=0;initgraph(&graphdriver,&graphmode,"");a=100;b=100;c=200;d=300;e=5;linedda(a,b,c,d,e);getch();closegraph();}运行结果:2.中点画线算法:假定所画直线的斜率为k∈[0,1], 如果在x方向上增量为1, 则y方向上的增量只能在0~1之间。
计算机图形学第2章图形系统

2、荫罩式
根据屏幕上荧光点的排列不同,控制栅也就不 一样。普通的显示器一般用三角的排列方式,这 种显像管被称为荫罩式显像管。荫罩法常用于光 栅扫描系统,因为它能产生的彩色范围比电子束 穿透法宽广得多。
三色荧光屏
荫罩
三个电子枪
能显示16兆种颜色的显示系统叫做真彩色显示系统
3、荫栅式
普通的显象管采用的都是荫罩式显象管,显象管 的表面呈略微凸起的球面状,故称之为“球面管”。 荫罩式球面显示器几何失真大,而且三角形的荧光 点排列造成即使点很密很细也不会特别清晰,所以 近几年荫栅式显示器逐渐流行起来。
喷绘仪实物图
四、静电设备
静电设备沿纸的宽度方向一次一整行地置负电 荷于纸上,尔后,面对调色剂曝光。调色剂充以 正电,被吸引到充以负电的区域,从而产生指定 的输出。 静电绘图仪分辨率可达200dpi,其速度比笔绘 仪高,运行可靠,噪声小,但用纸特殊而价格昂 贵。
静电绘图仪结构图
五、电热式设备
电热式利用点阵打印头的热度,在热感应纸上输 出图案。
二、激光设备
在激光设备里,激光束把要打印的图形写在感光 鼓上,鼓再把这一图形转移到纸上。激光打印机 的主要构成部分有感光鼓、炭粉、打底电晕丝和 转移电晕丝。
激光打印机结构图
三、喷墨设备
喷墨法产生的输出,是沿包裹在鼓上的纸卷逐行 喷墨水来实现的。在高压下墨水形成墨雾,充电 荷的墨雾在电场控制下发生偏转,将墨雾喷印到 纸上。
热升华打印机
六、笔绘仪
笔绘仪有一支或多支笔安装在横跨纸的笔架或滑杆 上,各种彩色和不同粗细的笔用来绘制各种阴影和 线型。与前面几种点阵硬拷贝设备不同,笔绘仪属 于随机画线硬拷贝设备。 笔绘仪的绘图速度取决于绘图笔移动的速度和 加速度。这里,加速度和笔绘仪笔头的质量有关。
《计算机图形学》练习试题及参考答案(二)

《计算机图形学》练习试题及参考答案二、选择题(每题2分)B 1、计算机图形学与计算几何之间的关系是( )。
A)学术上的同义词B)计算机图形学以计算几何为理论基础C)计算几何是计算机图形学的前身D).两门毫不相干的学科B 2、计算机图形学与计算机图象学的关系是( )。
A)计算机图形学是基础,计算机图象学是其发展B)不同的学科,研究对象和数学基础都不同,但它们之间也有可转换部分C)同一学科在不同场合的不同称呼而已D)完全不同的学科,两者毫不相干C 3、触摸屏是( )设备。
A)输入B)输出C)输入输出D)既不是输入也不是输出B 4.计算机绘图设备一般使用什么颜色模型?( )A)RGB;B)CMY;C)HSV ;D)HLS A 5. 计算机图形显示器一般使用什么颜色模型?( )A)RGB;B)CMY;C)HSV ;D)HLS C 6.分辨率为1024×1024的显示器各需要多少字节位平面数为24的帧缓存?( )A)512KB;B)1MB;C)2MB ;D)3MBD 7.哪一个不是国际标准化组织(ISO)批准的图形标准?( )A)GKS;B)PHIGS;C)CGM ;D)DXF C8.下述绕坐标原点逆时针方向旋转a角的坐标变换矩阵中哪一项是错误的? ( )| A B || C D |A) cos a;B) sin a;C) sin a;D) cos aA 9、在多边形的逐边裁剪法中,对于某条多边形的边(方向为从端点S 到端点P)与某条裁剪线(窗口的某一边)的比较结果共有以下四种情况,分别需输出一些顶点.请问哪种情况下输出的顶点是错误的? ( )A)S和P均在可见的一侧,则输出S和P.B)S和P均在不可见的一侧,则输出0个顶点.C)S在可见一侧,P在不可见一侧,则输出线段SP与裁剪线的交点.D)S在不可见的一侧,P在可见的一侧,则输出线段SP与裁剪线的交点和P.C 10、在物体的定义中对边的哪条限制不存在? ( )A) 边的长度可度量且是有限的B) 一条边有且只有两个相邻的面C) 一条边有且只有两个端点D) 如果一条边是曲线,那么在两个端点之间不允许曲线自相交D11.下述哪一条边不是非均匀有理B样条(NURBS)的优点? ( )A) NURBS比均匀B样条能表示更多的曲面B) 对于间距不等的数据点,用NURBS拟合的曲线比用均匀B 样条拟合的曲线更光滑C) NURBS提供的权控制方法比用控制点更能有效的控制曲线的形状D) 使用NURBS可以提高对曲面的显示效率C 12.下列关于图的存储表示的叙述中,哪一个是不正确的?A) 无向图的相邻矩阵是对称矩阵B) 对于带权的图,其相邻矩阵中值为1的元素,其值可以用边的权来权替C) 用邻接表法存储包括n个结点的图需要保存一个顺序存储的结点表和n个链接存储的边表D) 用邻接表法存储包括n条边的图需要保存一个顺序存储的结点表和n个链接存储的边表C13*.在面片的数量非常大的情况下哪一个消隐算法速度最快? ( )A) 深度缓存算法(Z-Buffer)B) 扫描线消隐算法C) 深度排序算法(画家算法)D) 不知道B14*.下面关于深度缓存消隐算法(Z-Buffer)的论断哪一条不正确? ( )A) 深度缓存算法并不需要开辟一个与图像大小相等的深度缓存数组B) 深度缓存算法不能用于处理对透明物体的消隐C) 深度缓存算法能并行实现D) 深度缓存算法中没有对多边形进行排序D15.在用射线法进行点与多边形之间的包含性检测时,下述哪一个操作不正确? ( )A) 当射线与多边形交于某顶点时且该点的两个邻边在射线的一侧时,计数0次B) 当射线与多边形交于某顶点时且该点的两个邻边在射线的一侧时,计数2次C) 当射线与多边形交于某顶点时且该点的两个邻边在射线的两侧时,计数1次D) 当射线与多边形的某边重合时,计数1次D 16*、扫描消隐算法在何处利用了连贯性(相关性Coherence)?(1)计算扫描线与边的交点;(2)计算多边形在其边界上的深度;(3)计算多边形视窗任意点处的深度值;(4)检测点与多边形之间的包含性。
计算机图形学二、多边形的扫描转换算法

2
做一个
E
2
A
C C
2
D
B
2
局部极大或局部极小点, 交点看做是二个
非局部极值点,交点看
2
做一个
E
非局部极值点将这些相
邻边分割开来
2
A
如何计算扫描线与多边形边界线的所有交点?
若扫描线yi与多边形边界线交点的x坐标是xi, 则对下一条扫描线yi+l,它与那条边界线的交点的x 坐标xi+1,可如下求出:
m
yi1 yi xi1 xi
, yi1
yi
1
xi 1
xi
1 m
扫描线与多边形边的交点计算 C
B
yk 1 yk
x AC k 1
xkAC
1 mAC
x BC k 1
xkBC
1 mBC
A
活跃(活性)边:与当前扫描线相交的边 活跃(活性)边表AET:存贮当前扫描线相交的各边的表。
ymax x 1/m next
…
扫描线5 扫描线6
e2 92 0
e2 92 0
e6 5 13 6/4 λ
e5 11 13 0 λ
9∧
8∧
e3
e4
7
9 7 -5/2
11 7 6/4 λ
e5
6
11 13 0 λ
5∧
e2
e3
4
9 2 0λ
3∧
e2
2∧
e1
e6
1
3 7 -5/2
5 7 6/4 λ
e1
0∧
ymax xmin 1/m
e4 e5
e6 5 111/2 6/4 λ
9∧
计算机图形学基础教程习题课2(第二版)(孙家广-胡事民编著)

(2)分別在Q,Q1和Q,Q2間生成一段直線段;
(3)在Q是一尖點。
答:首先了解均勻三次B樣條曲線の端點性質。
對於每一段曲線,
已知:k=4,n=3,T=[0,1,2,3,4,5,6,7]
所以:k-1≤j≤n即j=3,t∈[t3,t4)
起點:t=3
同理,終點:t=4
習題3-8用de Boor算法,求以(30,0),(60,10),(80,30),(90,60),(90,90)為控制頂點,以T=[0,0,0,0,0.5,1,1,1,1]為節點向量の三次B樣條曲線在t=1/4處の值。
∵k=4,n=4,k-1≤j≤n即3≤j≤4
∴5個控制頂點控制兩段三次B樣條曲線,分別在區間[t3,t4)和[t4,t5)
∵t3≤t=1/4≤t4
∴P(t=1/4)在第一段三次B樣條曲線上,t∈[t3,t4),該段曲線只與前四個頂點相關
由de Boor遞推公式
及T=[0,0,0,0,0.5,1,1,1,1],可得:
習題3-11Q,Q1,Q2,S1,S2是平面上の5個點。請設計一條均勻三次B樣條曲線,使曲線經過這5個點,且滿足如下設計要求:
習題3-1參是:
(2)幾何形式
描述參數曲線の條件有:端點位矢、端點切矢、曲率等。
上式是三次Hermite(Ferguson)曲線の幾何形式,F0,F1,G0,G1稱為調和函數(或混合函數)。
習題3-2設有控制頂點為P0(0,0),P1(48,96),P2(120,120),P3(216,72)の三次Bézier曲線P(t),試計算P(0.4)の(x,y)坐標,並寫出(x(t),y(t))の多項式表示。
習題3-5設一條三次Bézier曲線の控制頂點為P0,P1,P2,P3。對曲線上一點P(0.5),及一個給定の目標點T,給出一種調整Bézier曲線形狀の方法,使得P(0.5)精確通過點T。
计算机图形学实验报告_2

计算机图形学实验报告学号:********姓名:班级:计算机 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,Thisis my first SDI Application"。
(必选任务)3)利用MFC AppWizard(exe)建立一个SDI 程序,在文档视口内绘制基本图形(直线、圆、椭圆、矩形、多边形、曲线、圆弧、椭圆弧、填充、文字等),练习图形属性的编程(修改线型、线宽、颜色、填充样式、文字样式等)。
定义图形数据结构Point\Line\Circle 等保存一些简单图形数据(在文档类中),并在视图类OnDraw 中绘制。
3、实验过程1)使用MFC AppWizard(exe)建立一个SDI 程序,选择单文档;2)在View类的OnDraw()函数中添加图形绘制代码,说出字符串“Hello,Thisis my first SDI Application”,另外实现各种颜色、各种边框的线、圆、方形、多边形以及圆弧的绘制;3)在类视图中添加图形数据point_pp,pp_circle的类,保存简单图形数据,通过在OnDraw()函数中调用,实现线、圆的绘制。
4、实验结果正确地在指定位置显示了"Hello,This is my first SDI Application"字符串,成功绘制了圆,椭圆,方形,多边形以及曲线圆弧、椭圆弧,同时按指定属性改绘了圆、方形和直线。
讲稿-2 北航6系计算机图形学课件

2012-1-5
Graphics Lab. BUAA
26
基本原理
液晶是一种介于液体和 固体之间的特殊物质,它 具有液体的流态性质和固 体的光学性质。当液晶受 到电压的影响时,就会改 变它的物理性质而发生形 变,此时通过它的光的折 射角度就会发生变化,而 产生色彩。
2012-1-5 Graphics Lab. BUAA
2.1.1.1 阴极射线管 阴极射线管(CRT:Cathode Ray Tube)
–组成:电子枪、聚焦系统、加速电极、偏转系统、 组成:电子枪、聚焦系统、加速电极、偏转系统、
荧光屏 –工作原理:电子枪发射电子束,经过聚焦系统、 工作原理:电子枪发射电子束,经过聚焦系统、 加速电极、偏转系统,轰击到荧光屏的不同部位, 加速电极、偏转系统,轰击到荧光屏的不同部位, 被其内表面的荧光物质吸收, 被其内表面的荧光物质吸收,发光产生可见的图 形。 –结构
2012-1-5 Graphics Lab. BUAA 21
隔行扫描工作原理 隔行扫描工作原理 一帧完整的画面分成两场。 一场1/60秒,(场频60HZ),(帧 频30HZ)画面更新频率仍为60HZ,降低 了闪烁效应,每一场1/60秒内,帧缓存 中数据量比逐行扫描少一半。降低了视 频控制器存取帧缓存的速度及传输带宽 的要求。
2012-1-5
Graphics Lab. BUAA
20
彩显:
•带宽 与分辨率、帧频 的关系 带宽T与分辨率 帧频F的关系 带宽 与分辨率、
带宽问题
T ≥ M ×N×F
–高分辨率和高的刷新频率要求有高带宽 高分辨率和高的刷新频率要求有高带宽 –解决方法:隔行扫描(现在已经基本不用, 解决方法: 解决方法 隔行扫描(现在已经基本不用, 主流显示器都采用逐行扫描方式) 逐行扫描方式 主流显示器都采用逐行扫描方式) –隔行扫描的:把一帧分两场,即奇数场与 隔行扫描的: 隔行扫描的 把一帧分两场 偶数场 –场频:==2*帧频 场频: 场频 帧频
北京交通大学智慧树知到“计算机科学与技术”《计算机图形学》网课测试题答案2

北京交通大学智慧树知到“计算机科学与技术”《计算机图形学》网课测试题答案(图片大小可自由调整)第1卷一.综合考核(共15题)1.鼠标、操纵杆只可以输入一系列坐标位置。
()A.错误B.正确2.从动画生成技术角度,计算机动画分为()A.关键帧动画B.变形物体动画C.过程动画D.关节动画3.下列哪些是线画图元的基本属性?()A.线型B.线宽C.长度D.颜色4.编辑3D文字时,怎样得到能够在三维空间内旋转3D文字的角度控制框?()A.利用“选择”工具单击3D文字B.利用“交互立体”工具单击3D文字C.利用“交互立体”工具双击3D文字D.利用“交互立体”工具先选中3D文字,然后再单击5.有24个位平面,分辨率是1024×768像素的光栅显示系统,需要1024×768×24/8=2359296字节的帧缓存。
()A.错误B.正确6.如果希望在CorelDRAW中创建的多个页面具有相同的图形元素,可以执行下面的哪一项操作?()A.先创建多个页面,然后分别在各个页面中绘制相同的图形元素B.创建一个页面并在此页面绘制需要的图形元素,然后再将此页面复制多个C.选择“Layout-Page Setup”命令,在弹出的对话框中进行设置D.在Master Page中创建一个图层,在此图层中绘制希望出现在各个页面中的图形元素,则此各个页面将具有相同的图形元素7.计算机图形学中常用的坐标系有哪几类()A.MCB.VCC.NDCD.DC8.关于直线生成算法的叙述中,哪个说法是正确的()A.Bresenham算法是每次决定一个像素的走法B.Bresenham算法是对中点画线算法的改进C.DDA算法是对Bresenham算法的改进D.用DDA算法确定像素位置比其它直接生成算法要快,因为DDA算法利用了光栅的特点,故其运行效率高且便于硬件实现9.下面关于反走样的论述哪个是错误的?()A.提高分辨率B.把象素当作平面区域进行采样C.采用锥形滤波器进行加权区域采样D.增强图象的显示亮度10.计算机图形学中常用的坐标系有哪几类?()A.MCB.VCC.NDCD.DC11.要想对一个选中的对象进行原位复制,先选择“Copy”命令再选择“Paste”命令。
计算机图形学课件之第2章图形输入输出设备

颜色模式决定了图像中颜色的表示方式,常见的颜色模式有RGB、CMYK等。不 同的颜色模式适用于不同的应用场景,例如RGB适用于显示器显示,CMYK适用 于印刷。
扫描速度
扫描速度
扫描速度是指扫描仪在单位时间内能够扫描的面积,通常以 平方英寸/分钟(sq in/min)或毫米/秒(mm/s)表示。扫 描速度越快,扫描大型图像所需的时间就越短。
扫描类型
扫描类型包括平板扫描、胶片扫描和3D扫描等,不同类型的 扫描仪适用于不同的应用场景。平板扫描仪适用于普通文档 和照片扫描,胶片扫描仪适用于胶片扫描,3D扫描仪适用于 物体表面形状和纹理的扫描。
打印速度
打印速度
打印速度是指打印机在单位时间内能够打印的页面数量,通常以页/分钟( ppm)或页/秒(pps)表示。打印速度越快,打印大型文件所需的时间就越短 。
打印技术
打印技术是影响打印速度的重要因素,常见的打印技术有喷墨、激光、热转印 等。不同类型的打印技术适用于不同的应用场景,例如喷墨打印机适用于彩色 打印,激光打印机适用于黑白文档打印。
04
图形输入输出设备的 应用
办公自动化
文字处理
使用图形输入设备如键盘和鼠标 进行文档编辑,输出设备如打印 机进行打印输出。
数据可视化
利用图形输出设备展示数据,如 柱状图、饼图等,便于理解和分 析。
图像处理
图片编辑
使用图形输入设备如数码相机、扫描 仪获取图片,通过图形处理软件进行 编辑,再由输出设备如打印机输出。
特效制作
利用图形处理软件进行特效制作,如 滤镜、色彩调整等,丰富图像表现力 。
计算机辅助设计(CAD)
绘图设计
等。
触摸屏在移动设备和一些桌面应 用中广泛使用。
计算机图形学试题及答案 (2)

一、 判断题(10x1=10分)1、 构成图形的要素可分为两类:刻画形状的点、线、面、体的非几何要素与反映物体表面属性或材质的明暗、色彩等的几何要素。
( 错误 )2、 参数法描述的图形叫图形;点阵法描述的图形叫图像。
( 正确 )3、 EGA/VGA 为增强图形显示效果的一种图形处理软件的名称。
( 错误 )4、 对山、水等不规则对象进行造型时,大多采用过程式模拟方法。
( 正确 )5、 若两个图形是拓扑等价的,则一个图形可通过做弹性运动与另一个图形相重合。
( 正确 )6、 0阶参数连续性和0阶几何连续性的定义是相同的。
( 正确 )7、 Bezier 曲线可做局部调整。
( 错误 )8、 字符的图形表示分为点阵和矢量两种形式。
( 正确 )9、 LCD 表示发光二极管显示器。
( 错误 )10、 使用齐次坐标可以将n 维空间的一个点向量唯一的映射到n+1维空间中。
( 错误 ) 二、 填空题(15x2=30分)1、目前常用的PC 图形显示子系统主要由3个部件组成:(1)帧缓冲存储器、(2)显示控制器、(3)ROM BIOS 。
2、 图形的输入设备有(4)键盘、鼠标、光笔(至少写三种);图形的显示设备有(5)CRT 显示器、LCD 、投影仪(至少写三种)。
3、常用坐标系一般可以分为:建模坐标系、用户坐标系、(6观察坐标系、(7)规格化设备坐标系、(8)设备坐标系。
4、在多边形的扫描转换过程中,主要是通过确定穿越多边形区域的扫描线的覆盖区间来填充,而区域填充则是从(9)给定的位置开始涂描直到(10)指定的边界条件为止。
5、一个交互式计算机图形系统应具有(11)计算 、(12)存储、(13)对话、(14)输入和输出等五个方面的功能。
三、 简答题(5x6=30分)1、 请列举常用的直线段裁减算法(四种)。
答:答:直接求交算法、编码算法、中点再分算法、Cyrus-Beck 算法。
2、 考虑三个不同的光栅系统,分辨率依次为480640⨯,10241280⨯,20482560⨯。
计算机图形学第二版课后习题答案

第一章绪论概念:计算机图形学、图形、图像、点阵法、参数法、图形的几何要素、非几何要素、数字图像处理;计算机图形学和计算机视觉的概念及三者之间的关系;计算机图形系统的功能、计算机图形系统的总体结构。
第二章图形设备图形输入设备:有哪些。
图形显示设备: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 Qd=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当d<0时,d2=y i+2-k(x i-0.5)-b 增量为1=d1+1当d=0时,5.7 利用中点 Bresenham 画圆算法的原理,推导第一象限y=0到y=x圆弧段的扫描转换算法(要求写清原理、误差函数、递推公式及最终画图过程)。
计算机图形学 第二章 二维基本图形的生成与二维区域的填充

2013-10-21
(2-10)
22
2.1.2 生成直线的Bresenham算法
• 我们来分析公式(2-10): (1)当此值为正时,d1>d2,说明直线上 理论点离(xi+1,yi+1)象素较近,下一个象素 点应取(xi+1,yi+1)。 (2)当此值为负时,d1<d2,说明直线上 理论点离(xi+1,yi)象素较近,则下一个象素 点应取(xi+1,yi)。 (3)当此值为零时,说明直线上理论点 离上、下两个象素点的距离相等,取哪个 点都行,假设算法规定这种情况下取(xi+1, yi+1 2013-10-21 )作为下一个象素点。 23
2.1.2 生成直线的Bresenham算法
• 我们首先讨论m=△y/△x,当0≤m≤1且 x1<x2时的Bresenham算法。从DDA直线算 法可知这些条件成立时,公式(2-2)、(2-3) 可写成: • xi+1=xi+1 (2-6) • yi+1=yi+m (2-7) • 有两种Bresenham算法思想,它们各 自从不同角度介绍了Bresenham算法思想, 得出的误差判别式都是一样的。
2013-10-21 11
2.1.1 生成直线的DDA算法
二、直线DDA算法思想: 选定x2-x1和y2-y1中较大者作为步进方向 (假设x2-x1较大),取该方向上的增量为一个象素 单位(△x=1),然后利用式(2-1)计算另一个方向 的增量(△y=△x· m=m)。通过递推公式(2-2)至(2 -5),把每次计算出的(xi+1,yi+1)经取整后送到显 示器输出,则得到扫描转换后的直线。 之所以取x2-x1和y2-y1中较大者作为步进方 向,是考虑沿着线段分布的象素应均匀,这在下 图中可看出。
计算机图形学第4章图形变换(2)

5、使直线回到原来位置,结果图形即为原图形绕 指定直线旋转变换后的图形。
直线回到原来位置需要进行(3)~(1)的逆变换,其中:
图形绕空间任意轴旋转的总变换矩阵是
H = T
4.3.5 三维对称变换
三维对称变换可以是关于给定对称轴的或者 是关于给定对称平面的变换。三维对称矩阵的建 立类似于二维的。关于给定对称轴的对称变换等 价于绕此轴旋转180°,可以直接使用已讨论过 的相对于轴线的旋转变换公式。关于给定对称平 面的对称变换其最简单的是对称于坐标平面的变 换。当对称平面是坐标平面时(x-y,或x-z,y-z), 可以将此变换看成是左手系和右手系之间的转换。
变换过程为 [x' y' z' 1]=[x y z 1]· S(Sx,Sy,Sz) 其中,Sx,Sy,Sz分别为在x,y,z坐标轴方向上的 比例系数。
4.3.3 三维旋转变换
三维旋转变换:是指将物体绕某个坐标轴旋转 一个角度,所得到的空间位置变化。我们规定旋 转正方向与坐标轴矢量符合右手法则,即从坐标 轴正值向坐标原点观察,逆时针方向转动的角度 为正。如图所示。
设用户选定的窗口范围为(wxl,wyl)和(wxr,wyr), 视口范围为(vxl,vyl)和(vxr,vyr)。 将窗口中的图形转为视口中图形的过程: 1、先平移窗口使其左下角与坐标原点重合; 2、再比例变换使其大小与视口相等; 3、最后再通过平移使其移到视口位置。
4.3 三维几何变换
三维几何变换是二维几何变换的扩展。三维齐 次变换可用4×4矩阵表示。 平移变换 - 比例变换 - 旋转变换 - 绕空间任意轴 的旋转变换 - 对称变换 - 错切变换
四、二维观察变换将投影平面上矩形窗内的图形 变换到显示器(或规范化)坐标中的视口内。
计算机图形学习题参考答案(完整版)

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 英寸,要填满帧缓冲器需要多长时间。 解:
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《计算机图形学》思考练习题第一章计算机图形学概论1.比较计算机图形学与图象处理技术相同点和不同点。
计算机图形学是研究怎样用数字计算机生成、处理和显示图形的一门学科。
图像处理技术研究如何对连续图像取样、量化以产生数字图像,如何对数字图像做各种变换以方便处理,如何滤去图像中的无用噪声,如何压缩图像数据以便存储和传输,图像边缘提取,特征增强和提取。
2.列举三个计算机图形的应用实例。
勘探、绘制地形地貌,系统模拟,虚拟现实。
辅助教学设计。
3.简述计算机图形学发展动向。
造型技术—真实图形生成技术—人机交互技术—基于网络的图形技术第二章计算机图形系统概述1.叙述计算机图形系统的基本功能。
输入、输出、计算、存储、对话他的基本功能是帮助人们设计、分析、采集、存贮图形、视频甚至音乐等信息。
2.输入设备可有哪几种逻辑功能?请举出各自对应的物理设备。
.定位(locator): 指定一个坐标点。
对应的物理设备有鼠标器、键盘、数字化仪、触摸屏等。
.笔划(stroke): 指示一个坐标点系列, 如指定一条曲线的控制点等。
主要物理设备有数字化仪。
.送值(valuator): 输入一个数值。
最常用的物理设备是键盘的数字键。
.字符串(string):输入一个字符串。
键盘字母键.拾取(pick):各种定位设备.选择(choise): 鼠标器,数字化仪,键盘功能键等3.画出图形软件的层次结构及主要组成。
------------------------------------| 应用程序|| ----------------------------| | 图形支撑软件|| | -------------------| | | 高级语言|| | | ------------| | | | 操作系统|------------------------------------主要部分:图形核心系统GKS 计算机图形元文件CGM 计算机图形设备接口CGI程序员层次结构图形系统PHIGS4.颜色查找表的概念及实现原理。
颜色查找表是一维线性表,其每一项的内容对应一种颜色,它的长度由帧缓存单元的位数决定。
实现原理:把颜色码放在一个独立的表中,帧缓存存放的是颜色表中各项的索引值,这样在帧缓存单元的位数不增加的情况下,具有了大范围挑选颜色的能力。
5.光栅扫描显示器结构与工作原理。
工作原理:在这种显示器中,电子束的运动轨迹是固定的。
即从左到右、自上而下扫描荧光屏,来产生一幅光栅。
特点:由于图形是以点阵的形式存储在帧缓冲器中。
所以光栅扫描显示器的电子束按从上到下、从左到右的顺序依次扫描屏幕,来建立图形。
6.为什么要制订图形软件标准?举例说明它的分类。
制定图形软件标准的目的在于使图形软件能够在不同的计算机和图形设备之间进行移植,以便提高图形软件的利用率, 降低开发成本,缩短研制周期, 使图形软件向着通用、高级与设备无关的方向发展。
数据接口标准:CGM子程序接口标准:GKS、CGI、PHIGS第三章基本图形生成算法1.Bresenham 直线生成算法原理。
它与DDA 算法相比,有何改进?算法思想: 根据直线的斜率确定选择X或者Y方向作为计长方向, 在此方向上每次递增一个单位步长(或者一个像素单位), 另一个方向上是否同时产生一个单位增量由一个计算量很小的判别式来判断。
DDA为增量算法。
它根据每一次增长时在另一轴上的增长计算下一个点应该画在哪里。
Bresenham算法与它相比,由于全部采用了整数计算,使算法效率比起DD有大大提高,程序中只含有+ -和*2的计算,便于使用计算机内硬件实现。
2.比较几种常用画圆弧算法的原理和效率。
1)Bresenham算法思想其基本方法是从一个起点出发, 利用判别式选择下一个显示点。
判别式的值通过简单计算获得, 其符号用作判断。
只计算出1/8圆的点的位置,就可以画出整个圆来,效率高。
2)正负法:首先区分不同象限的圆弧,然后,选定圆弧起点后,在输出圆弧过程中,根据当前点位置与理想圆弧的关系和所在象限,决定下一次的走向每次只在X或Y方向走步取点,这样一点一点逼近圆弧形状。
在整个计算过程中,只使用了+ -和*2运算,提高了硬件使用率。
比起Bre算法,它更为简单。
但生成的点数要比Bre多。
3.简述两种字符生成方法。
一种是在计算机中用笔划(矢量)方式来表示,然后通过扫描转换生成, 这是目前常用的方法,生成的字符效果好, 但计算量大;另一种是在计算机内用位图(点阵)来表示, 存储在字符高速缓冲区(字符发生器)里, 显示时可以直接通过像素拷贝将其装入显示缓冲区中。
这是传统的方法,简单、速度快,但不灵活。
4.何谓四连通和八连通?写出一种边界表示的八连通区域填充算法。
4连通区域:取区域中的任何两个像素,从一象素出发,通过上、下、左、右4种运动,只经过该区域的点可以达到另一像素。
8连通区域:取区域中任何两个像素,从一象素出发通过上、下、左、右、两条对角线方向共8种运动,只经过该区域的点可达到另一像素。
漫水法:Procedure flood-fill-4(x,y,boundary-color,new-color:integer)beginif getpixel(framebuffer,x,y)<>boundary-color andgetpixel(framebuffer,x,y)<>new-colorthen beginsetpixel(framebuffer,x,y,newcolor);flood-fill-4(x, y+1, boundary-color,new-color);flood-fill-4(x, y-1, boundary-color,new-color);flood-fill-4(x+1, y, boundary-color,new-color);flood-fill-4(x-1, y, boundary-color,new-color);flood-fill-4(x+1, y+1, boundary-color,new-color);flood-fill-4(x-1, y-1, boundary-color,new-color);flood-fill-4(x+1, y+1, boundary-color,new-color);flood-fill-4(x-1, y-1, boundary-color,new-color);endend5.解释活化边表的思想,以多边形区域填充为例介绍它的应用。
边的活化链表AEL:记录当前扫描线与棱边的交点序列。
初值为空,在处理过程中利用ET表和求交点的递推关系不断刷新。
.链表AEL的边元素由以下4个域组成:ymax:该棱边的上端点的y坐标;x:该棱边与当前扫描线交点的x坐标;Dx:该棱边的斜率m的倒数;next:指向下一条棱边的指针。
6.已知多边形各个顶点的坐标为(2,2), (2,4), (8,6), (12,2), (8,1), (6,2)及(2,2), 在用扫描线填充算法实现扫描转换时, 写出其边表(ET)和全部的活化边表(AET)的内容。
第四章图形变换与裁剪1.什么是灭点?在我们从一定的视角看3D图形时,会看到彼此平行的直线在远处有交点,这个交点就叫做灭点。
2.试用几种不同顺序的简单几何变换,求出将平面上的任一线段P1(x1,y1), P2(x2, y2)变换成与X 轴重合的变换阵,并说明其等效性。
斜率为k = (y2-y1)/ x2-x1 ,可以使用以下几种方法进行变换:a.先把它平移到原点处,再旋转成水平线。
其变换矩阵为/1 0 0 \ / cosθsinθ0 \T = | 0 1 0 | | -sinθcosθ0 |\-x1 –y1 1 / \ 0 0 1 /(其中θ= arctag(k) )b. 先旋转,使它水平,再平移到X轴上/ cosθsinθ0 \ /1 0 0 \T = | -sinθcosθ0 || 0 1 0 |\ 0 0 1 / \Tx 0 1 /(其中Tx 可由几何计算得出)c.先平移,使原点在其所在的直线上,再旋转/1 0 0 \ / cosθsinθ0 \T = | 0 1 0 | | -sinθcosθ0 |\0 My 1 / \ 0 0 1 /其中My = x1*(y2-y1)/(x2-x1) – y1由计算结果可知,三者是等价的。
3.已知OXYZ 坐标系下平面方程是x+y+z+d=0,试求变换距阵T,使该平面在O’X’Y’Z’坐标系下变成z’=0。
三维坐标变换:比例变换:/ a 0 0 0 \T = | 0 e 0 0 || 0 0 i 0 |\ 0 0 0 1 /其中a,e,i分别为在X,Y,Z坐标上的比例改变平移变换:/ 1 0 0 0 \T = | 0 1 0 0 || 0 0 1 0 |\ l m n 1 /其中a,e,i分别为在X,Y,Z坐标上的平移量旋转变换:(手写)4.试简述二维图形裁剪的基本原理及可选用的裁剪策略.裁剪的原理: . 在显示图形之前, 组成图形的每一个基本元素都要经过裁剪, 因此裁剪算法直接影响整个图形系统的效率。
. 裁剪的基本目的是判断图形元素是否在所考虑的区域内。
如在区域内, 则进一步求出在区域内的那一部分。
因此裁剪处理包含两部分内容:1)点在区域内外的判断;2)计算图形元素与区域边界的交点。
1.编码裁剪法(Sutherland-Cohen算法)2.中点分割裁剪法3.多边形的裁剪1. 逐边裁剪法2. 双边裁剪法第五章人机交互技术1. 基本的交互任务有哪些?它们可用什么设备执行?基本交互任务1. 定位2. 选择3. 数量输入4. 文本输入5. 三维交互任务2. 举例说明WINDOWS 系统常用的交互方式,编程实现其中一例。
3. 叙述设计人机交互的一般风格和原则。
现在计算机系统的人机界面一般具有下列风格,即: “所见即所得”(what you see is what you get) ,直接操作(direct manipulate)及菜单和图形符号(icon)驱动。
–“所见即所得”在交互式图形系统中一般都能做到, 即在屏幕上所见到的设计结果和用硬拷贝所得的输出结果是一致的。
–直接操作是对对象、特性及关系等操作时用户可得到一种直观及形象的表示, 以说明这个操作是正确地被执行了。
人机界面设计的一些基本原则:(1) 简单易学(2) 提供反馈(3) 对错误操作容易纠正Undo(4) 设计一致性功能布局、颜色、代号等应一致第六章曲线曲面的表示1. Bezier 曲线具有哪些特性?试用n 的归纳法证明其凸包性。
2. B 样条曲线的定义及其特点。
特点:(1) 凸包性(2) 分段参数多项式(3)连续性(4)几何不变性(5)保凸性(6)局部调整性(7)造型灵活性3. 比较Bezier 曲面和B样条曲面的功能特点。