图形学习题
计算机图形学复习题及答案

计算机图形学复习题及答案第一章计算机图形学概论1.计算机图形学研究的主要内容有哪些?研究图形图像的计算机生成、处理和显示2.图形学中的图形特点是什么?图形图像有什么区别?图形主要是用矢量表示,图像则是由点阵表示3.计算机图形学发展的主要阶段包括哪些?字符显示->矢量显示->2D光栅显示->3D显示->新的计算机形式4.计算机图形学主要应用哪些方面?你对哪些领域比较熟悉?计算机辅助设计、可视化技术、虚拟现实、地理信息系统、计算机动画与艺术5.颜色模型分为面向用户和__面向设备__两种类型,分别是什么含义?颜色模型是一种在某种特定的上下文中对颜色的特性和行为解释方法。
6.解释三基色原理。
三基色:任意互不相关(任意两种的组合不能产生三种的另一种颜色)的三种颜色构成颜色空间的一组基,三基色通过适当的混合能产生所有颜色。
7.解释加色模型和减色模型的概念。
加色模型:若颜色模型在颜色匹配时只需要将光谱光线直接组合而产生新的颜色类型这种颜色模型称为加色模型,形成的颜色空间称为加色空间减色模型:若颜色模型在匹配是某些可见光会被吸收而产生新的颜色类型,这种颜色模型称为减色模型,形成的颜色空间称为减色空间。
8.RGB表示模型中(1,0,0)(1,1,1)(0,0,0)(0.5,0.5,0.5)分别表示什么颜色?红白黑灰第二章计算机图形的显示与生成1.有哪两种主流的扫描显示方式?光栅扫描随机扫描2.解释屏幕分辩率的概念。
荧光屏在水平方向和垂直方向单位长度上能识别的最大光点数称为分辨率3.CRT产生色彩显示有哪两种技术?分别进行解释。
电子束穿透法:用红—绿两层荧光层涂覆在CRT荧光屏的内层,而不同速度的电子束能穿透不同的荧光粉层而发出不同颜色的光。
荫罩法:在荧光屏每个光点处呈三角形排列着红绿蓝三种颜色的荧光点,三支电子枪分别对应三个荧光点,调节各电子枪发出的电子束强度,即可控制各光点中三个荧光点所发出的红绿蓝三色光的强度。
计算机图形学习题参考答案(完整版)

区域二(下半部分)
k (x k, yk) pk 0 (7, 3) b 2(x 0 1/2)2 a 2(y01)2a 2b 2 23 1 (8, 2) p02a 2y1a 22b 2x1 361 2 (8,1) p12a 2y2 a 2 297 3 (8, 0)
2a yk pk 2 2 2 1600 b a b (1/4)a 332 768 p0 2b2x1b2 224 768 p12b 2x 2 b 2 44 768 p2 2b 2x 3 b2 208 2 640 p3 2b x 4 b 22a 2y 4 108 640 p4 2b 2x 5 b 2 288 512 p5 2b 2x 6 b 22a 2y6 244 384
10、使用中点椭圆算法,绘制中心为 (0, 0) ,长半径 a 8 ,短半径 b 6 的椭圆在第一象限中的部分。 解: 区域一(上半部分)
k (x k, yk) 2b x k 0 (0, 8) 0 1 (1, 8) 72 2 (2, 8) 144 3 (3, 8) 216 4 (4, 7) 288 5 (5, 7) 360 6 (6, 6) 432 7 (7, 6) 504 8 8, 5
第 2 章 基本图元的显示
1、假设 RGB 光栅系统的设计采用 810 英寸的屏幕,每个方向的分辨率为每英寸 100 个像素。如果 每个像素 6 位,存放在帧缓冲器中,则帧缓冲器需要多大存储容量(字节数)? 解: 8100101006/8600000 (字节) 。 2、假设计算机字长为 32 位,传输速率为 1 MIP(每秒百万条指令) 。300 DPI(每英寸点数)的激光打 印机,页面大小为 8.511 英寸,要填满帧缓冲器需要多长时间。 解:
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) 。 因 为
计算机图形学复习题(带答案)

一.判断题(请在后面括号中打T或F)1.阴极射线管的技术指标主要是分辨率和显示速度; (Y )2.光栅扫描式图形显示器可看作是点阵单元发生器,可直接从单元阵列中的一个可编地址的象素画一条直线到另一个可编地址的象素; (N )3.计算机图形学标准通常是指数据文件格式标准和子程序界面标准; (Y )4.在种子填充算法中所提到的八向连通区域算法同时可填充四向连通区; (Y )5.边填充算法中是将扫描线与多边形交点左方的所有象素取补; (N )6.插值得到的函数严格经过所给定的数据点;逼近是在某种意义上的最佳近似;(Y )7.齐次坐标提供了坐标系变换的有效方法,但仍然无法表示无穷远的点;(N )8.若要对某点进行比例、旋转变换,首先需要将坐标原点平移至该点,在新的坐标系下做比例或旋转变换,然后在将原点平移回去;(Y )9.显式方程和参数曲线均可以表示封闭曲线或多值曲线;(N )10. 凡满足G'连续的曲线同时满足C'连续条件,反之则不成立;(N )11.计算机图形生成的基本单位是线段。
( F )12.一个逻辑输入设备可以对应多个物理输入设备。
(T )13.DDA(微分方程法)是Bresenham算法的改进。
(F )14.光的强度计算公式通常表示为:I = 0.59I + 0.30I + 0.11I ( T )15.Bezier曲线具有对称性质。
(T )16.Gourand光照模型能够即使出高光部位的亮度。
(F )17.NURBS曲线方法不能够提供标准解析曲线和自由曲线的统一数学表达。
( F )18.Phong算法的计算量要比Gourand算法小得多。
( F )19.齐次坐标系不能表达图形中的无穷远点。
(F )20.欧拉公式v – e + f = 2也适用于三维形体中的相关信息描述。
(T )二.单选题1.下面关于反走样的论述哪个是错误的?(D )A.提高分辨率;B.把象素当作平面区域进行采样;C.采用锥形滤波器进行加权区域采样;D.增强图象的显示亮度;2.多边形填充时,下述哪个论述是错误的?(C )A.多边形被两条扫描线分割成许多梯形,梯形的底边在扫描线上,腰在多边形的边上,并且相间排列;B. 多边形与某扫描线相交得到偶数个交点,这些交点间构成的线段分别在多边形内、外,并且相间排列;C. 在判断点是否在多边形内时,一般通过在多边形外找一点,然后根据该线段与多边形的交点数目为偶数即可认为在多边形内部,若为奇数则在多边形外部,而且不需考虑任何特殊情况;D. 边的连贯性告诉我们,多边形的某条边与当前扫描线相交时,很可能与下一条扫描线相交;3. 下面关于NURBS 的论述,哪个是错误的?( B )A. 可通过控制顶点和权因子来改变形状;B. 仅具有仿射不变性,但不具有透射不变性;C. 非有理B 样条、有理及非有理Bezier 曲线、曲面是NURBS 的特例;D. 可表示标准解析形状和自由曲线、曲面;4. 在光亮度插值算法中,下列论述哪个是错误的?( D )A. Gouraud 明暗模型计算中,多边形与扫描平面相交区段上每一采样点的光亮度值是由扫描平面与多边形边界交点的光亮度插值得到的;B. Phong 明暗处理模型中,采用了双线性插值和构造法向量函数的方法模拟高光;C. Gouraud 明暗模型和Phong 明暗处理模型主要是为了处理由多个平面片近似表示曲面物体的绘制问题;D. Phong 明暗模型处理的物体表面光亮度呈现不连续跃变;5. 下述关于Bezier 曲线]1,0[),(),(21∈t t P t P 的论述,哪个是错误的? ( A )A. P P P ==)0()1(21,在P 处)0(),1(21P P 的切矢量方向相同,大小相等,则)(),(21t P t P 在P 处具有G 1连续;B. P P P ==)0()1(21,在P 处)0(),1(21P P 的切矢量方向相同,大小相等,则)(),(21t P t P 在P 处具有C 1连续;C. 若保持原全部顶点的位置不变,只是把次序颠倒过来,则新的Bezier 曲线形状不变,但方向相反。
计算机图形学-习题库及答案

计算机图形学-习题库及答案1、计算机图形显⽰器和绘图设备表⽰颜⾊的⽅法各是什么颜⾊系统?它们之间的关系如何?1、计算机图形显⽰器是⽤RGB⽅法表⽰颜⾊,⽽绘图设备是⽤CMY⽅法来表⽰颜⾊的。
它们之间的关系是:两者都是⾯向硬件的颜⾊系统,前者是增性原⾊系统,后者是减性原⾊系统,后者是通过在⿊⾊⾥加⼊⼀种什么颜⾊来定义⼀种颜⾊,⽽后者是通过指定从⽩⾊⾥减去⼀种什么颜⾊来定义⼀种颜⾊2、简述帧缓存与显⽰器分辨率的关系。
分辨率分别为640×480,1280×1024,和2560×2048的显⽰器各需要多少字节位平⾯数为24的帧缓存?2、帧缓存的⼤⼩和显⽰器分辨率之间的关系是:帧缓存的⼤⼩=显⽰器分辨率的⼤⼩*帧缓存的3、画直线的算法有哪⼏种?画圆弧的算法有哪⼏种?c1)逐点⽐较法;(2)数值微分法;(3)Bresenham算法。
画弧线的常⽤⽅法有:(1)逐点⽐较法;(2)⾓度DDA法;(3)Bresenham算法。
4、分别写出平移、旋转、缩放及其组合的变换矩阵。
4、1)平移变换:其中, , , 是物体在三个坐标⽅向上的位移量。
2)旋转变换:绕Z轴旋转的公式为:绕X轴旋转的公式为:绕Y轴旋转的公式为:如果旋转所绕的轴不是坐标轴,设其为任意两点p1,p2所定义的⽮量,旋转⾓度为。
则可由7个基本变换组合构成:1.使p1,点与原点重合;2.,使轴p1p2落⼊平⾯xoz内;3.,使p1p2与z轴重合;4.,执⾏绕p1p2轴的⾓旋转;5.,作3的逆变换;6.,作2的逆变换;7.作1的逆变换。
3)缩放变换:其中,,,是物体在三个⽅向上的⽐例变化量。
记为。
若对于某个⾮原点参考点进⾏固定点缩放变换,则通过如下的级联变换实现:5、如何⽤⼏何变换实现坐标系的变换?坐标系的变换,亦即将某⼀坐标系lcs1中的点变换为另⼀个坐标系lcs2下的坐标。
若,矩阵的推导分三步。
1)将lcs1中的点变换到世界坐标系的矩阵 ;x_axis, y_axis, z_axis 为lcs1中x,y,z轴⽮量在世界坐标系的表⽰org为lcs1中原点在世界坐标系的表⽰2)将世界坐标系的点变换到lcs2中的点矩阵 ;x_axis, y_axis, z_axis 为lcs1中x,y,z轴⽮量在世界坐标系的表⽰org为lcs1中原点在世界坐标系的表⽰a = - x_axis.x * org.x - x_axis.y * org.y - x_axis.z * org.zb = - y_axis.x * org.x - y_axis.y * org.y - y_axis.z * org.zc = - z_axis.x * org.x - z_axis.y * org.y - z_axis.z * org.z6、写出⼏种线裁剪算法;写出⼏种多边形裁剪算法。
计算机图形学复习题(带答案)

一.判断题(请在后面括号中打T或F)1.阴极射线管的技术指标主要是分辨率和显示速度; (Y )2.光栅扫描式图形显示器可看作是点阵单元发生器,可直接从单元阵列中的一个可编地址的象素画一条直线到另一个可编地址的象素; (N )3.计算机图形学标准通常是指数据文件格式标准和子程序界面标准; (Y )4.在种子填充算法中所提到的八向连通区域算法同时可填充四向连通区; (Y )5.边填充算法中是将扫描线与多边形交点左方的所有象素取补; (N )6.插值得到的函数严格经过所给定的数据点;逼近是在某种意义上的最佳近似;(Y )7.齐次坐标提供了坐标系变换的有效方法,但仍然无法表示无穷远的点;(N )8.若要对某点进行比例、旋转变换,首先需要将坐标原点平移至该点,在新的坐标系下做比例或旋转变换,然后在将原点平移回去;(Y )9.显式方程和参数曲线均可以表示封闭曲线或多值曲线;(N )10. 凡满足G'连续的曲线同时满足C'连续条件,反之则不成立;(N )11.计算机图形生成的基本单位是线段。
( F )12.一个逻辑输入设备可以对应多个物理输入设备。
(T )13.DDA(微分方程法)是Bresenham算法的改进。
(F )14.光的强度计算公式通常表示为:I = 0.59I + 0.30I + 0.11I ( T )15.Bezier曲线具有对称性质。
(T )16.Gourand光照模型能够即使出高光部位的亮度。
(F )17.NURBS曲线方法不能够提供标准解析曲线和自由曲线的统一数学表达。
( F )18.Phong算法的计算量要比Gourand算法小得多。
( F )19.齐次坐标系不能表达图形中的无穷远点。
(F )20.欧拉公式v – e + f = 2也适用于三维形体中的相关信息描述。
(T )二.单选题1.下面关于反走样的论述哪个是错误的?(D )A.提高分辨率;B.把象素当作平面区域进行采样;C.采用锥形滤波器进行加权区域采样;D.增强图象的显示亮度;2.多边形填充时,下述哪个论述是错误的?(C )A.多边形被两条扫描线分割成许多梯形,梯形的底边在扫描线上,腰在多边形的边上,并且相间排列;B. 多边形与某扫描线相交得到偶数个交点,这些交点间构成的线段分别在多边形内、外,并且相间排列;C. 在判断点是否在多边形内时,一般通过在多边形外找一点,然后根据该线段与多边形的交点数目为偶数即可认为在多边形内部,若为奇数则在多边形外部,而且不需考虑任何特殊情况;D. 边的连贯性告诉我们,多边形的某条边与当前扫描线相交时,很可能与下一条扫描线相交;3. 下面关于NURBS 的论述,哪个是错误的?( B )A. 可通过控制顶点和权因子来改变形状;B. 仅具有仿射不变性,但不具有透射不变性;C. 非有理B 样条、有理及非有理Bezier 曲线、曲面是NURBS 的特例;D. 可表示标准解析形状和自由曲线、曲面;4. 在光亮度插值算法中,下列论述哪个是错误的?( D )A. Gouraud 明暗模型计算中,多边形与扫描平面相交区段上每一采样点的光亮度值是由扫描平面与多边形边界交点的光亮度插值得到的;B. Phong 明暗处理模型中,采用了双线性插值和构造法向量函数的方法模拟高光;C. Gouraud 明暗模型和Phong 明暗处理模型主要是为了处理由多个平面片近似表示曲面物体的绘制问题;D. Phong 明暗模型处理的物体表面光亮度呈现不连续跃变;5. 下述关于Bezier 曲线]1,0[),(),(21∈t t P t P 的论述,哪个是错误的? ( A )A. P P P ==)0()1(21,在P 处)0(),1(21P P 的切矢量方向相同,大小相等,则)(),(21t P t P 在P 处具有G 1连续;B. P P P ==)0()1(21,在P 处)0(),1(21P P 的切矢量方向相同,大小相等,则)(),(21t P t P 在P 处具有C 1连续;C. 若保持原全部顶点的位置不变,只是把次序颠倒过来,则新的Bezier 曲线形状不变,但方向相反。
计算机图形学复习题及答案

第一章计算机图形学概论1.计算机图形学研究的主要内容有哪些?研究图形图像的计算机生成、处理和显示2 .图形学中的图形特点是什么?图形图像有什么区别?图形主要是用矢量表示,图像则是由点阵表示3.计算机图形学发展的主要阶段包括哪些?字符显示->矢量显示->2D光栅显示->3D显示->新的计算机形式4.计算机图形学主要应用哪些方面?你对哪些领域比较熟悉?计算机辅助设计、可视化技术、虚拟现实、地理信息系统、计算机动画与艺术5.颜色模型分为面向用户和__面向设备__两种类型,分别是什么含义?颜色模型是一种在某种特定的上下文中对颜色的特性和行为解释方法。
6.解释三基色原理。
三基色:任意互不相关(任意两种的组合不能产生三种的另一种颜色)的三种颜色构成颜色空间的一组基,三基色通过适当的混合能产生所有颜色。
7.解释加色模型和减色模型的概念。
加色模型:若颜色模型在颜色匹配时只需要将光谱光线直接组合而产生新的颜色类型这种颜色模型称为加色模型,形成的颜色空间称为加色空间减色模型:若颜色模型在匹配是某些可见光会被吸收而产生新的颜色类型,这种颜色模型称为减色模型,形成的颜色空间称为减色空间。
8.RGB表示模型中(1,0,0)(1,1,1)(0,0,0)(0.5,0.5,0.5)分别表示什么颜色?红白黑灰第二章计算机图形的显示与生成1.有哪两种主流的扫描显示方式?光栅扫描随机扫描2.解释屏幕分辩率的概念。
荧光屏在水平方向和垂直方向单位长度上能识别的最大光点数称为分辨率3.CRT产生色彩显示有哪两种技术?分别进行解释。
电子束穿透法:用红—绿两层荧光层涂覆在CRT荧光屏的内层,而不同速度的电子束能穿透不同的荧光粉层而发出不同颜色的光。
荫罩法:在荧光屏每个光点处呈三角形排列着红绿蓝三种颜色的荧光点,三支电子枪分别对应三个荧光点,调节各电子枪发出的电子束强度,即可控制各光点中三个荧光点所发出的红绿蓝三色光的强度。
《计算机图形学》习题
一、名词解释计算机图形学、图形消隐、裁剪、走样、反走样、参数方程、曲线拟合、曲线插值、曲线的参数化、区域填充、扫描转换二、判断正误(正确写T,错误写F)1.存储颜色和亮度信息的相应存储器称为帧缓冲存储器,所存储的信息被称为位图。
2.光栅扫描显示器的屏幕分为m行扫描线,每行n个小点,整个屏幕分为m╳n个中点,其中每个小点称为一个像素。
3.点阵字符用一个位图来表示,位图中的0对应点亮的像素,用前景色绘制;位图中的1对应未点亮的像素,用背景色绘制。
4.矢量字符表示法用(曲)线段记录字形的边缘轮廓线。
5.将矢量字符旋转或放大时,显示的结果通常会变得粗糙难看,同样的变换不会改变点阵字符的显示效果。
6.在光栅图形中,区域是由相连的像素组成的集合,这些像素具有相同的属性值或者它们位于某边界线的内部。
7.多边形的扫描变换算法不需要预先定义区域内部或边界的像素值。
8.用DDA算法生成圆周或椭圆不需要用到三角运算,所以运算效率高。
9.找出并消除物体中的不可见部分,称为消隐。
10.经过消隐得到的图形称为消隐图。
11.深度缓存算法并不需要开辟一个与图像大小相等的深度缓存数组,深度缓存算法能并行实现,深度缓存算法中没有对多边形进行排序。
12.在种子填充算法中所提到的八向连通区域算法同时可填充四向连通区。
13.Bezier曲线不一定通过其特征多边形的各个顶点,Bezier曲线两端点处的切线方向必须与起特征折线集(多边形)的相应两端线段走向一致,Bezier曲线可用其特征多边形来定义。
14.由三个顶点可以决定一段二次B样条曲线,若三顶点共线时则所得到的曲线褪化为一条直线段。
15.插值得到的函数严格经过所给定的数据点。
16.参数曲线的表示有形式和几何形式两种。
17.L-B参数直线裁剪算法中的裁剪条件为uP k<=Q k,当直线平行于裁剪边界的条件Q k=0。
18.L-B参数直线裁剪算法中的裁剪条件为uP k<=Q k,当P k<0时表示线段从裁剪边界外部指向内部。
【中南大学】计算机图形学习题及答案
计算机图形学作业答案第一章序论第二章图形系统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)之间的直线所需的步骤。
图形学3.4章练习题与答案
图形学3.4章练习题与答案选择题:1. 按照所构造的图形对象来分,点、曲线、平⾯、曲⾯或实体属于(),⽽⼭、⽔、云、烟等⾃然界丰富多彩的对象属于()。
A、规则对象、不规则对象B、规则对象、属性对象C、不规则对象、⼏何对象D、不规则对象、属性对象2. 灰度等级为256级,分辨率为1024*1024的显⽰器,⾄少需要的帧缓存容量为()。
A、512KBB、 1MBC、2MBD、3MB3. 在下列叙述语句中,错误的论述为()。
A、在图形⽂件系统中,点、线、圆等图形元素通常都⽤其⼏何特征参数来描述B、在图形系统中,图形处理运算的精度不取决于显⽰器的分辨率C、在光栅扫描图形显⽰器中,所有图形都按⽮量直接描绘显⽰,不存在任何处理D、在彩⾊图形显⽰器中,使⽤RGB颜⾊模型4. 在DDA算法中,直线的斜率的绝对值⼩于1就要沿()⽅向使⽤适当的增量来求得逼近直线的像素点。
A、x⽅向B、y⽅向C、z⽅向D、沿直线y=x⽅向5. 种⼦填充算法中,正确的叙述是()。
A、它是按扫描线的顺序进⾏象素点的填充B、四连接算法可以填充⼋连接区域C、四连接区域内的每⼀象素可以通过上下左右四个⽅向组合到达D、⼋连接算法不能填充四连通区域6. 计算机图形显⽰器⼀般使⽤下⾯()颜⾊模型?A、RGBB、CMYC、HSVD、HLS7. 下⾯关于反⾛样的论述()是错误的?A、提⾼分辨率B、把象素当作平⾯区域进⾏采样C、采⽤锥形滤波器进⾏加权区域采样D、增强图象的显⽰亮度8. 多边形填充时,下述()论述是错误的?A、多边形被两条扫描线分割成许多梯形,梯形的底边在扫描线上,腰在多边形的边上,并且相间排列B、多边形与某扫描线相交得到偶数个交点,这些交点间构成的线段分别在多边形内、外,并且相间排列C、在判断点是否在多边形内时,⼀般通过在多边形外找⼀点,然后根据该线段与多边形的交点数⽬为偶数即可认为在多边形内部,若为奇数则在多边形外部,⽽且不需考虑任何特殊情况D、边的连贯性告诉我们,多边形的某条边与当前扫描线相交时,很可能与下⼀条扫描线相交9. 在计算机图形学的概念中,图形的构成属性包括()A、⼏何属性与⾮⼏何属性B、⼏何属性与物理属性C、点阵属性与⽮量属性D、物理属性与颜⾊属性10. 使⽤Bresenham直线⽣成算法画⼀条直线:起点和终点分别为A(15,12)和B(30,18),则起点的下⼀个点的坐标(x,y)和误差p分别为()A、(x,y) = (16,13),p = 9B、(x,y) = (16,12),p = 9C、(x,y) = (16,13),p = -21D、 (x,y) = (16,12),p = -2111. 中点算法⽣成圆,第i个点的坐标位置为(x i,y i),决策变量d i<0,则第i+1个点的坐标位置和决策变量分别为()A、(x i+1,y i+1)=(x i+1,y i),d i+1=d i+2(x i-y i)+5B、(x i+1,y i+1)=(x i+1,y i),d i+1=d i+2x i+3C、(x i+1,y i+1)=(x i+1,y i-1),d i+1=d i+2(x i-y i)+5D、(x i+1,y i+1)=(x i+1,y i-1),d i+1=d i+2x i+312. 边相关扫描线填充算法的实现需要建⽴两个表:边表(ET)和活动边表(AET),边表⽤来对除⽔平边外的所有边进⾏登记,来建⽴边的记录。
计算机图形学习题答案
x4=24,y4=y3+m=13.2≈13 x5=25,y5=y4+m=14 x6=26,y6=y5+m=14.8≈15 x7=27,y7=y6+m=15.6≈16 x8=28,y8=y7+m=16.4≈16 x9=29,y9=y8+m=17.2≈17 x10=30,y10=y9+m=18 12、使用 Bresenham 画线算法,画这样一条线段:端点为(20,10)和 (30,18) 。 【解】 Δx=10,Δy=8,2Δy=16,2Δy-2Δx=-4 x0=20,y0=10,p0=2Δy-Δx=6 x1=21,y1=11,p1=p0+2Δy-2Δx=2 x2=22,y2=12,p2=p1+2Δy-2Δx=-2 x3=23,y3=12,p3=p2+2Δy=14 x4=24,y4=13,p4=p3+2Δy-2Δx=10 x5=25,y5=14,p5=p4+2Δy-2Δx=6 x6=26,y6=15,p6=p5+2Δy-2Δx=2 x7=27,y7=16,p7=p6+2Δy-2Δx=-2 x8=28,y8=16,p8=p7+2Δy=14 x9=29,y9=17,p9=p8+2Δy-2Δx=10 x10=30,y10=18 13、 使用中点圆算法, 画这样一个圆在第一象限中的部分: 圆心为(0,0), 半径 r=10。 【解】 (x0,y0)=(0,r)=(0,10),对称点:(x0’,y0’)=(10,0), p0=1-r=-9 (x1,y1)=(1,10),对称点:(x1’,y1’)=(10,1),p1=p0+2x1+1=-6 (x2,y2)=(2,10),对称点:(x2’,y2’)=(10,2),p2=p1+2x2+1=-1 (x3,y3)=(3,10),对称点:(x3’,y3’)=(10,3),p3=p2+2x3+1=6 (x4,y4)=(4,9),对称点:(x4’,y4’)=(9,4), p4=p3+2x4+1-2y4=-3 (x5,y5)=(5,9),对称点:(x5’,y5’)=(9,5),p5=p4+2x5+1=8 (x6,y6)=(6,8),对称点:(x6’,y6’)=(8,6),p6=p5+2x6+1-2y6=5 (x7,y7)=(7,7)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章习题1. 把中点画圆算法从1/8改成整圆import javax.swing.JFrame;import javax.swing.JPanel;import java.awt.Graphics;public class MidpointCircle extends JFrame {public MidpointCircle() {setTitle("DrawArcs");add(new ArcsPanel());}/** Main method */public static void main(String[] args) {MidpointCircle frame = new MidpointCircle();frame.setLocationRelativeTo(null); // Center the frameframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(500, 500);frame.setVisible(true);}}// The class for drawing arcs on a panelclass ArcsPanel extends JPanel {// Draw four blazes of a fanprotected void paintComponent(Graphics g) {super.paintComponent(g);int x,y,R=100;double d;x=0; y=R; d=1.25-R;g.drawString(".", x,y);while(x<y){if(d<0){d+=2*x+3;x++; }else{d+=2*(x-y)+5;x++;y--; }g.drawString(".", x,y);g.drawString(".", (int)(x*Math.cos(-3.14159*1/4)-y*Math.sin(-3.14159*1/4)),(int)(x*Math.sin(-3.14159*1/4)+y*Math.cos(-3.14159*1/4)));g.drawString(".", x+200,y+200);g.drawString(".", (int)(x*Math.cos(-3.14*2/8)-y*Math.sin(-3.14*2/8)+200),(int)(x*Math.sin(-3.14*2/8)+y*Math.cos(-3.14*2/8))+200);g.drawString(".", -x+200,-y+200);g.drawString(".", (int)(x*Math.cos(-3.14*2/8)-y*Math.sin(-3.14*2/8)+200),-(int)(x*Math.sin(-3.14*2/8)+y*Math.cos(-3.14*2/8))+200);g.drawString(".", x+200,-y+200);g.drawString(".", -x+200,y+200);}}}2.线性和线宽问题,画虚线和点画线import javax.swing.JFrame;import javax.swing.JPanel;import java.awt.Graphics;public class BresenhamLine2 extends JFrame {public BresenhamLine2() {setTitle("BresenhamLine1");add(new LinePanel());}/** Main method */public static void main(String[] args) {BresenhamLine2 frame = new BresenhamLine2();frame.setLocationRelativeTo(null); // Center the frameframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(300, 300);frame.setVisible(true);}}class LinePanel extends JPanel {protected void paintComponent(Graphics g) {super.paintComponent(g);int x1=0,x2=100,y1=0,y2=30,s=100,x,y,dx,dy,p,type=2;x=x1;y=y1;dx=x2-x1;dy=y2-y1;p = 2 * dy-dx;s=0;for(;x<=x2;x++){s=s+1;if (type ==0) //画实线g.drawString(".", (int)x,(int)y);if (type==1) //画虚线if ((s%5) != 0)g.drawString(".", (int)x,(int)y);if (type==2) //画点划线if ((s%10)!=5 && (s%10)!=6 && (s%10)!=7)g.drawString(".", (int)x,(int)y);if (p>=0){y++;p+=2*(dy-dx);}else{p+=2*dy;}}}}设五边形的五个顶点是(10.5,10.5)、(15,5)、(12,5)、(8,2.5)、(4,5.5),要利用使用活跃边表的扫描算法进行填充,写出应填写的ET表,写出活跃边表的变化情况。
首先对顶点坐标进行四舍五入,得到(11,11),(15,5),(12,5),(8,3),(4,6)。
ET表如下:根据此ET表得到活跃边表AET有如下变化:第三章习题习题1平面图形可以对两个坐标轴或原点做反射,这称为对称变换。
平面内任意点(x,y)对x轴反射变到(x,-y), 对y轴反射变到(-x,y)对原点反射变到(-x,-y),写出实现上述三种变换的变换矩阵,并说明这三种反射变换是否可以看作比例变换或者旋转变换。
解答:1. 习题2(1) 保持点(5,10)固定,x 方向放大3倍,y 方向放大2倍。
变换矩阵如下:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=⋅⋅--1101002000311050100011000200031105010001)10,5()2,3()10,5(T S T(2) 绕坐标原点顺时针旋转︒90。
变换矩阵如下:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡︒-︒--︒-︒-=︒-1000010101000)90cos()90sin(0)90sin()90cos()90(R (3) 对直线x y =成轴对称。
变换矩阵如下:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎣⎡-⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎣⎡-=︒-⋅-⋅︒10000101010002222022221000100011000222202222)45()1,1()45(R S R 或者⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎣⎡-⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎣⎡-=︒⋅-⋅︒-100001010100022220222210001000110022*******)45()1,1()45(R S R(4) 对直线x y -=成轴对称。
变换矩阵如下:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎣⎡-⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎣⎡-=︒-⋅-⋅︒10000101010002222022221000100011000222202222)45()1,1()45(R S R 或者⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎣⎡-⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎣⎡-=︒⋅-⋅︒-100001010100022220222210001000110022*******)45()1,1()45(R S R(5) 沿与水平方向成θ角的方向扩大1S 倍,沿与水平方向成θ+︒90角的方向扩大2S 倍。
变换矩阵如下:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⋅+⋅⋅⋅-⋅⋅-⋅+⋅=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-----=⋅⋅-1000cos sin sin cos )(0sin cos )(sin cos 1000)cos()sin(0)sin()cos(10000001000)cos()sin(0)sin()cos()(),()(2221212122212121θθθθθθθθθθθθθθθθθθS S S S S S S S S S R S S S R (6) 对于平面上任意一点),(00y x 成为中心对称。
变换矩阵如下:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=⋅--⋅--12201000110100011000100011010001),()1,1(),(000000000y x y x y x y x T S y x T (7) 对平面上任意一条方程为0=++C By Ax 的直线成轴对称。
变换矩阵如下:A 、B 不能同时为0当0A ≠, 0=B 时,方程为0=+C Ax ,变换为 ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡--=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡-⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=-⋅-⋅1020100011001000110001000110010001)0,()1,1()0,(A C AC A C A C T S A C T 当0=A , 0≠B 时,方程为0=+C By ,变换为 ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡-=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡-=-⋅-⋅1200100011001000110001000110010001),0()1,1(),0(BC BC B CB C T S B C T当0A ≠,0≠B 时,方程为B C x B A y --=,直线与x轴正向夹角为)(BA arctg -, ⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡+-+-+-+-+-+-=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡-⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡+++-+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡++-++⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=-⋅-⋅-⋅--⋅122020210010001100001000100011000010010001),0())(()1,1())((),0(22222222222222222222222222222222B A BC B A AC B A B A B A AB B A AB B A A B B C B A B B A A B A A B A B B A B B A A B A A B A B B C BCT B A arctg R S B A arctg R B C T α(0,-C/B)(-C/A,0)习题10(1) 图形中点(0.5,0.2,-0.2)保持不动,x 和y 方向放大3倍,z 方向不变。