计算机图形学课后答案1
- 格式:doc
- 大小:56.50 KB
- 文档页数:2
第一章绪论概念:计算机图形学、图形、图像、点阵法、参数法、图形的几何要素、非几何要素、数字图像处理;计算机图形学和计算机视觉的概念及三者之间的关系;计算机图形系统的功能、计算机图形系统的总体结构。
第二章图形设备图形输入设备:有哪些。
图形显示设备: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圆弧段的扫描转换算法(要求写清原理、误差函数、递推公式及最终画图过程)。
计算机图形学作业I一. 判断题1齐次坐标提供了坐标系变换的有效方法,但仍然无法表示无穷远的点;(X )2 •若要对某点进行比例、旋转变换,首先需要将坐标原点平移至该点,在新的坐标系下做 比例或旋转变换,然后在将原点平移回去;(V ) 3. 相似变换是刚体变换加上等比缩放变换; (V ) 4. 保距变换是刚体变换加上镜面反射; (V ) 5. 射影变换保持直线性,但不保持平行性。
(X )二、填空题1. 透视投影的视见体为四棱锥形状;平行投影的视见体为长度无限的四棱柱 ________ 形状。
2. 字符的图形表示可以分为 _______ 点阵 ________ 和 矢量 ___________ 两种形式。
3. 仿射变换保持直线的 _______ 平行性 ________ 。
4. 刚体变换保持 _____ 长度,角度,面积等不变 ___________ 。
5. 保角变换保持 _____ 任意两点间的距离不变 _________ 。
三、单项选择题1.分辨率为1024X 1024的显示器各需要多少字节位平面数为24的帧缓存?( D )A. 512KB ;B. 1MB ;C. 2MB ;D. 3MB ;2. 在透视投影中,主灭点的最多个数是(C )A 1;B 2;C 3;D 43. 以下关于图形变换的论述不正确的是(D )A. 平移变换不改变图形大小和形状,只改变图形位置;B. 拓扑关系不变的几何变换不改变图形的连接关系和平行关系;C. 旋转变换后各图形部分间的线性关系和角度关系不变,变换后直线的长度不变D. 错切变换虽然可引起图形角度的改变,但不会发生图形畸变;2 0 14.使用下列二维图形变换矩阵:T =0 1 1 00 1A. 图形放大2倍;C.沿X 坐标轴方向各移动 2个绘图单位;D.沿X 坐标轴方向放大 2倍,同时沿X 、Y 坐标轴方向各平移1个绘图单位。
将产生变换的结果为(D )B.图形放大2倍,同时沿 X 、Y 坐标轴方向各移动 1个绘图单位;5. 下列有关投影的叙述语句中,正确的论述为(B )A. 透视投影具有近小远大的特点;B. 平行投影的投影中心到投影面距离是无限的;C. 透视投影变换中,一组平行于投影面的线的投影产生一个灭点;D. 灭点可以看作是无限远处的一个点在投影面上的投影。
《计算机图形学》习题与解答第一章概述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.什么是图像的分辨率?解答:在水平和垂直方向上每单位长度(如英寸)所包含的像素点的数目。
2.计算在240像素/英寸下640×480图像的大小。
解答:(640/240)×(480/240)或者(8/3)×2英寸。
3.计算有512×512像素的2×2英寸图像的分辨率。
解答:512/2或256像素/英寸。
第三章二维图形生成技术1.一条直线的两个端点是(0,0)和(6,18),计算x从0变到6时y所对应的值,并画出结果。
解答:由于直线的方程没有给出,所以必须找到直线的方程。
下面是寻找直线方程(y =mx+b)的过程。
首先寻找斜率:m =⊿y/⊿x =(y2-y1)/(x2-x1)=(18-0)/(6-0) = 3 接着b在y轴的截距可以代入方程y=3x+b求出 0=3(0)+b。
因此b=0,所以直线方程为y=3x。
2.使用斜截式方程画斜率介于0°和45°之间的直线的步骤是什么?解答:(1)计算dx:dx=x2-x1。
(2)计算dy:dy=y2-y1。
(3)计算m:m=dy/dx。
(4)计算b: b=y1-m×x1(5)设置左下方的端点坐标为(x,y),同时将x end设为x的最大值。
如果dx < 0,则x=x2、y=y2和x end=x1。
如果dx > 0,那么x=x1、y=y1和x end=x2。
(6)测试整条线是否已经画完,如果x > x end就停止。
(7)在当前的(x,y)坐标画一个点。
(8)增加x:x=x+1。
(9)根据方程y=mx+b计算下一个y值。
(10)转到步骤(6)。
3.请用伪代码程序描述使用斜截式方程画一条斜率介于45°和-45°(即|m|>1)之间的直线所需的步骤。
假设线段的两个端点为(x1,y1)和(x2,y2),且y1<y2int x = x1, y = y1;float x f, m = (y2-y1)/(x2-x1), b = y1-mx1;setPixel( x, y );/*画一个像素点*/while( y < y2 ) {y++;x f = ( y-b)/m;x = Floor( x f +0.5 );setPixel( x, y );}4.请用伪代码程序描述使用DDA算法扫描转换一条斜率介于-45°和45°(即|m| ≤1)之间的直线所需的步骤。
高级计算机图形学原理与实践智慧树知到课后章节答案2023年下西安科技大学第一章测试1.计算机图形学与计算几何之间的关系是( ) A:计算几何是计算机图形学的前身 B:两门毫不相干的学科 C:学术上的同义词 D:计算机图形学以计算几何为理论基础答案:计算机图形学以计算几何为理论基础2.Edwin Catmull首次提出了计算机图形学的概念。
()A:错 B:对答案:错3.计算机辅助设计与制造(CAD/CAM)的代表软件有哪些?()A:3D MaxB:Maya C:AutoCAD D:Unity 答案:3D Max;AutoCAD4.虚拟现实不属于计算机图形学的应用领域。
()A:错 B:对答案:错5.计算机图形显示器一般使用什么颜色模型?( ) A:RGB B:HLS C:CMY D:HSV 答案:RGB6.RGB三基色通过适当的混合能产生所有颜色。
()A:错 B:对答案:对第二章测试1.下面哪些方法可以减轻走样现象()。
A:非加权区域采样 B:降低空间分辨率 C:提高空间分辨率 D:加权区域采样答案:非加权区域采样 ;提高空间分辨率 ;加权区域采样2.利用数值微分算法进行直线的扫描转换不需要进行浮点数的加减法。
()A:对 B:错答案:错3.Brenham算法进行直线绘制, x为主方向,当中点误差项d>0时,y方向上应不走步。
()A:错 B:对答案:错4.走样是光栅扫描器的一种固有属性,不可避免,只能减轻。
()A:错 B:对答案:对5.有效边表算法中每一条扫描线交点的个数只能是偶数。
()A:错 B:对答案:对第三章测试1.n次B样条曲线中,更改一个控制顶点,最多影响()段曲线。
A:n+1 B:nC:1 D:所有答案:n+12.下面哪些性质是NURBS曲面不具备的()。
A:仿射变换不变性 B:局部修改性 C:凸包性 D:变差缩减小答案:变差缩减小3.曲线的插值拟合方法通过每个型值点。
()A:对 B:错答案:对4.B样条曲线曲面都可以精确的表示二次曲线弧或曲面。
计算机图形学课后题答案10.设五边形的五个顶点是(10.5,10.5),(15,5),(12,5),(8,2.5),(4,5.5),要利用使用活跃边表的扫描转换算法进行填充,写出应填写的ET表,写出活跃边表的变化情况。
e3 e2e4e1e563 68-4/3e 1 582∧e 5 ∧2∧ 4 ∧ 5 6 11 141/3 -2/3∧e 37 ∧ 8 11 52/57/5e 2 ∧ ∧ 9 ∧ 10 ∧ 11 ∧ 12 ∧ 13 …∧ y max x min 1/mET :Y 吊桶表第3章2.写出完成如下平面图形变换的变换矩阵;(1) 保持点(5,10)固定,x 方向放大3倍,y 方向放大2倍。
(2) 绕坐标原点顺时针旋转︒90。
(3) 对直线x y =成轴对称。
(4) 对直线x y -=成轴对称。
(5) 沿与水平方向成θ角的方向扩大1S 倍,沿与水平方向成θ+︒90角的方向扩大2S 倍。
(6) 对于平面上任意一点),(00y x 成为中心对称。
(7) 对平面上任意一条方程为0=++C By Ax 的直线成轴对称。
(1)300(5,10)(3,2)(5,10)02010101T S T ⎡⎤⎢⎥--⋅⋅--=⎢⎥⎢⎥--⎣⎦(2)AET 指针 ∧初始化 扫描线10 11 93/57/5 扫描线3 6 8-4/3 e 15 82 ∧ e 5e2扫描线4 6 62/3 -4/3e 15 10 2∧ e 5扫描线5 6 51/3 -4/3e 1 5122∧e 5扫描线6 64-4/3 e 1 11 141/3 -2/3 ∧e 3扫描线7 11 52/57/5e 211 132/3 -2/3 ∧e 3 扫描线8 11 64/57/5 e211 13-2/3 ∧e 3 扫描线9 11 81/57/5e 211 121/3 -2/3 ∧e 311 112/3 -2/3 ∧e 3 扫描线11 11 117/5e 211 11-2/3 ∧e 3 ∧扫描线12cos(90)sin(90)0010(90)sin(90)cos(90)010*******R -︒-︒-⎡⎤⎡⎤⎢⎥⎢⎥-︒=--︒-︒=⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦(3)22220022221000102222(45)(1,1)(45)001001002222001001001001R S R ⎡⎤⎡⎤-⎢⎥⎢⎥⎢⎥⎢⎥-⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥︒⋅-⋅-︒=-⋅⋅=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦(4)22220022221000102222(45)(1,1)(45)001001002222001001001001R S R ⎡⎤⎡⎤-⎢⎥⎢⎥⎢⎥⎢⎥-⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥︒⋅-⋅-︒=-⋅-⋅=-⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦(5)1122221212221212cos()sin()000cos()sin()0()(,)()sin()cos()000sin()cos()0001001001cos sin ()cos sin 0()cos sin sin cos 0001S R S S S R S S S S S S S S S θθθθθθθθθθθθθθθθθθ--⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥-⋅⋅=---⋅⋅-⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦⎡⋅+⋅-⎢=-⋅+⋅⎣⎤⎥⎢⎥⎢⎥⎦当S 1=S 2时,111100()(,)()0001S R S S S R S θθ⎡⎤⎢⎥-⋅⋅=⎢⎥⎢⎥⎣⎦11221212cos()sin()000()(,)sin()cos()000001001cos sin 0sin cos 0001S R S S S S S S S S θθθθθθθθθ⎡⎤⎡⎤⎢⎥⎢⎥⋅⋅=-⋅⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⋅⋅⎡⎤⎢⎥=-⋅⋅⎢⎥⎢⎥⎣⎦11221212cos()sin()000()(,)sin()cos()000001001cos sin 0sin cos 0001S R S S S S S S S S θθθθθθθθθ⎡⎤⎡⎤⎢⎥⎢⎥⋅⋅=-⋅⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⋅⋅⎡⎤⎢⎥=-⋅⋅⎢⎥⎢⎥⎣⎦(6)00000100100100100(,)(1,1)(,)01001001001010011221T x y S T x y x y x y x y --⎡⎤⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥--⋅--⋅=-=-⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥--⎣⎦⎣⎦⎣⎦⎣⎦(7)当0A ≠时,2222222222222222(,0)(())(1,1)(())(,0)00100100100010001000100010100101C B B CT R arctg S R arctg T A A A AA B A B A B A B A BA B B A B A A B A B A B A B C A ⋅-⋅-⋅--⋅-⎡⎤⎡⎤-⎡⎤⎢⎥⎢⎥++++⎢⎥⎢⎥⎢⎥-⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=-⎢⎥⎢⎥⎢⎥⎢⎥++++⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎢⎥⎢⎥⎢⎥⎣⎦⎢⎥⎢⎥⎣⎦⎣⎦2222222222222222012020221CA B A AB A B A B AB A B A B A B AC BC A B A B ⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥-⎢⎥⎣⎦⎡⎤--⎢⎥++⎢⎥-⎢⎥=-⎢⎥++⎢⎥⎢⎥--⎢⎥++⎣⎦Ax+By+C=-C/B-C/Axy当0,0A B =≠时,方程退化为0By C +=,即C y B=-(0,)(1,1)(0,)1001001000100100100010101100010201C C T S T B B C C B B CB ⋅-⋅-⎡⎤⎡⎤⎢⎥⎢⎥⎡⎤⎢⎥⎢⎥⎢⎥=-⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦-⎢⎥⎢⎥⎣⎦⎣⎦⎡⎤⎢⎥⎢⎥=-⎢⎥⎢⎥-⎢⎥⎣⎦当0B ≠时,By+C=0- C/Bxy2222222222222222(0,)(())(1,1)(())(0,)00100100100010001000100010100101C A A C T R arctg S R arctg T B B B BB A B A A B A B A BA B A B A B A B A B A B A B C B ⋅--⋅-⋅-⋅-⎡⎤⎡⎤-⎡⎤⎢⎥⎢⎥++++⎢⎥⎢⎥⎢⎥⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=--⎢⎥⎢⎥⎢⎥⎢⎥++++⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎢⎥⎢⎥⎢⎥⎣⎦⎢⎥⎢⎥⎣⎦⎣⎦2222222222222222012020221C B B A AB A B A B AB A B A B A B AC BC A B A B ⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥-⎢⎥⎣⎦⎡⎤--⎢⎥++⎢⎥-⎢⎥=-⎢⎥++⎢⎥⎢⎥--⎢⎥++⎣⎦当0,0B A =≠时,方程退化为0Ax C +=,即C x A=-(,0)(1,1)(,0)1001001000100100100010101100010201C C T S T A A C C A A C A ⋅-⋅-⎡⎤⎡⎤⎢⎥⎢⎥-⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦-⎢⎥⎢⎥⎣⎦⎣⎦⎡⎤⎢⎥-⎢⎥=⎢⎥⎢⎥-⎢⎥⎣⎦10. 设图形软件中有设置坐标变换矩阵的命令Set-Matrix(x S ,y S ,a ,x l ,y l ,Matris),它是按比例、旋转和平移的次序与系统中已有的变换矩阵右乘产生新的变换矩阵。
5.3 试用中点Bresenham 算法画直线段的原理推导斜率在[-1, 0]之间的直线段绘制过程(要求写清原理、误差函数、递推公式及最终画图过程)。
解:-1≤|k |≤0,|△x |/|△y |>=1,所以x 为最大位移方向。
直线的方程:x
y x x y y k b kx y y x f ∆∆=--=
--=2
121,),(
故有: ⎪⎩
⎪
⎨⎧⎩⎨
⎧-=+=++1111i i
i i i y y y x x 构造判别式:b x k y y x f y x f d i i i i M M i -+--=-+==)1(5.0)5.0,1(),(。
推导d i 的各种情况:⎪⎩
⎪
⎨⎧⎩⎨⎧>-≤=+=++ )0( 1)0( 1
1
1i i i i i i i d y d y y x x
递推公式的推导:
当d i ≤0时:
k
d k b x k y b x k y y x f y x f d i i i i i i i i i i -=--+--=-+--=-+==+++)1(5.0 )2(5.0)5.0,2(),(111
当d i >0时:
k
d k b x k y b x k y y x f y x f d i i i i i i i i i i --=---+--=-+--=-+==+++11)1(5.0 )2(5.1)5.1,2(),(111
初始值d 0的计算:
k
k b kx y b x k y y x f d --=----=-+--=-+=5.05.0 )1(5.0)5.0,1(0000000
用2d △x 代替d ,令D =2d △x :
y x k x xd
D ∆-∆-=--∆=∆=2)5.0(220
当d i ≤0时,即D ≤0:
y D y xd k d x xd
D i i i i i ∆-=∆-∆=-∆=∆=++222)(221
1
当d i >0时,即D >0:
y x D y x xd k d x xd
D i i i i i ∆-∆-=∆-∆-∆=--∆=∆=++22222)1(221
1
算法步骤:
1. 输入直线的两端点P 0(x 0, y 0)和P 1(x 1,y 1)。
2. 计算初始值△x 、△y 、D =-△x -2△y 、x =x 0、y =y 0;
3. 绘制点(x , y );
4. 判断D 的符号;
a) 若D <=0,则(x , y )更新为(x +1, y ),D 更新为D -2△y ; b) 若D >0,则(x , y )更新为(x +1, y -1),D 更新为D -2△x -2△y 。
5. 当直线没有画完时,重复上一步骤,否则结束。