计算机图形学第6章课后习题参考答案

合集下载

计算机图形学智慧树知到答案章节测试2023年中国地质大学(武汉)

计算机图形学智慧树知到答案章节测试2023年中国地质大学(武汉)

第一章测试1.计算机图形学产生图形,计算机图像学产生图像。

()A:对B:错答案:B2.下列哪项不属于计算机图形学的应用领域?()A:虚拟现实B:游戏实时显示C:科学计算可视化D:计算机辅助设计E:数字电影制作F:识别图片中的动物答案:F3.本课程将讲不讲解以下哪个内容?()A:动画生成B:真实感图像生成C:曲线生成D:游戏制作答案:D4.使用OPENGL画带颜色的直线,需要调用不同的函数,分别指定颜色和起始点坐标。

()A:错B:对答案:B5.在OPENGL中定义的结点仅包含位置信息。

()A:对B:错答案:B第二章测试1.四面体的表面建模中,可用四个三角形来描述四面体的表面,每个三角形包含三个点,因此,四面体中点的总个数为()。

A:12B:6C:4D:9答案:C2.三次BEZIER曲线有几个控制点?()A:3B:5C:4D:6答案:C3.三次BEZIER曲线经过几个控制点?()A:3B:4C:2D:1答案:C4.不经过Y轴的斜线绕Y轴旋转得到的曲面是()A:半球面B:球面C:柱面D:圆台面答案:B5.BEZIER曲线上的所有点都是由控制点经过插值得到的。

()A:错B:对答案:A第三章测试1.通过变换可以将单位圆变成长半轴2短轴0.5的椭圆,具体实施步骤是()。

A:水平方向做平移变换,竖值方向做平移变换B:水平方向做拉伸变换,竖值方向做平移变换C:水平方向做收缩变换,竖值方向做拉伸变换D:水平方向做拉伸变换,竖值方向做收缩变换答案:B2.变换前后二线夹角保持不变的保角变换有()A:镜像B:旋转C:平移D:缩放答案:D3.水平方向的剪切变换,如果表达为x’=ax+by y’=c x+dy,则有()。

A:b=1,c=1,d=0B:a=0,b=1,c=1C:a=1,b=0,d=1D:a=1,c=0,d=1答案:D4.正交变换不包括()。

A:剪切B:镜像C:旋转D:平移答案:A5.变换的复合运算不满足交换律。

图形学第6章曲线曲面

图形学第6章曲线曲面
1
P(0) 2 2 1 P(1) 3 3 2 p(0) 0 0 1 p' (1) 1 0 0
1 P(0) P(1) 1 M h Gh 0 p(0) 0 p' (1)
x(t ) p(t ) y (t ) t n z (t )

a n t 1 a1 a0

cn T C b1 c1 b0 c0 bn
t [0,1]
将边界条件带入该矩阵方程,得
C Ms G
Q(0) P(1)
几何连续性
0阶几何连续性:与0阶参数连续性相同.是指曲线的几何位 置连接,即
p(1) Q(0)
1阶几何连续性:是指一阶导数在相邻段的交点处成比例, 则相邻曲线段在交点处切向量的大小不一定相等。
p (1) Q(0)
2阶几何连续性:是指在相邻段的交点处一阶、二阶导数均 成比例,则相邻曲线段在交点处曲率相等。
要设置足够的边界条件来得到所有系数的值。
描述参数曲线的边界条件有: 端点位置矢量、端点切线矢量、曲率等。对三次参数曲线, 用其端点矢量P(0),P(1).端点切线矢量
则三次Hermite样条曲线:
p (0), p(1)
p(t ) [t 3 t 2
ax b x t 1] cx d x
a y az a b b y bz 3 2 [t t t 1] T C c y cz c dy dz d
对上式求导,得
p(t ) [3 t 2 2t a b 1 0] c d
将边界条件代入,得

计算机图形学课后答案第6章

计算机图形学课后答案第6章

习题参考答案6.1交互式绘图系统基本的交互任务有哪些?答:1定位,2笔画,3定值,4选择,5拾取,6字符串,7三维交互。

6.2编写程序实现橡皮筋技术画直线和圆。

答:思想:首先将绘图模式设定为异或。

画直线时,点击鼠标左键,光标所在位置即为直线的起点,用鼠标牵引光标移动,当前光标所在位置即认为是直线的终点。

光标从原位置移动到新位置时,首先在起点与原位置之间画一条直线,因为是异或模式,原有直线变为不可见,然后再在起点与新位置之间画一条直线,作为当前直线。

画圆时,点击鼠标左键,光标所在位置即为圆的圆心,用鼠标牵引光标移动,当前光标所在位置与圆心的距离即被认为是圆的半径。

当鼠标牵引光标从原位置移动到新位置时,首先在以圆心与原位置的距离为半径画圆,因为是异或模式,原有的圆变为不可见,然后再以圆点与新位置的距离为半径画圆,作为当前圆。

6.3引力场是人机交互中的常见的辅助技术,它能给用户带来什么便利?设计人员在设计引力场的时候需要注意什么问题?答:用户用光标进行选图操作时,引力场的使用可使光标较容易地定位在选择区域小的图形上。

设计人员在设计引力场时,引力场的大小要适中,外形应与其所含图形的外形一致。

6.4图形模式和图像模式下,拖拽的处理方法有什么不同?答:图形模式下的拖拽是在异或的绘图模式下进行的。

首先在原位置再次绘制要拖拽图形,由于自身异或的结果为空,原位置处的图形变为不可见,然后在新位置处绘制图形,实现了图形的拖拽。

而图像模式下的拖拽,则是进行了图像的整体移动,即首先在要经过位置处按拖动图像大小保存原有屏幕图像,然后将拖动的图像整体移动到该位置,当图像离开该位置而移动到下一个新位置时,再恢复该位置保存的屏幕图像。

图形模式不需要保存屏幕图像,只需在原位置重绘图形。

图像模式需要保存图像经过处的屏幕图像,并在移开后重新显示保存的屏幕图像。

6.5请叙述三种输入控制模式的流程。

答:请求模式下,用户在接收到应用程序请求后才输入数据;应用程序等待用户输入数据,输入结束,才进行处理。

计算机图形学教程课后习题参考答案.

计算机图形学教程课后习题参考答案.

第一章1、试述计算机图形学研究的基本内容?答:见课本P5-6页的1.1.4节。

2、计算机图形学、图形处理与模式识别本质区别是什么?请各举一例说明。

答:计算机图形学是研究根据给定的描述,用计算机生成相应的图形、图像,且所生成的图形、图像可以显示屏幕上、硬拷贝输出或作为数据集存在计算机中的学科。

计算机图形学研究的是从数据描述到图形生成的过程。

例如计算机动画制作。

图形处理是利用计算机对原来存在物体的映像进行分析处理,然后再现图像。

例如工业中的射线探伤。

模式识别是指计算机对图形信息进行识别和分析描述,是从图形(图像)到描述的表达过程。

例如邮件分捡设备扫描信件上手写的邮政编码,并将编码用图像复原成数字。

3、计算机图形学与CAD、CAM技术关系如何?答:见课本P4-5页的1.1.3节。

4、举3个例子说明计算机图形学的应用。

答:①事务管理中的交互绘图应用图形学最多的领域之一是绘制事务管理中的各种图形。

通过从简明的形式呈现出数据的模型和趋势以增加对复杂现象的理解,并促使决策的制定。

②地理信息系统地理信息系统是建立在地理图形基础上的信息管理系统。

利用计算机图形生成技术可以绘制地理的、地质的以及其它自然现象的高精度勘探、测量图形。

③计算机动画用图形学的方法产生动画片,其形象逼真、生动,轻而易举地解决了人工绘图时难以解决的问题,大大提高了工作效率。

5、计算机绘图有哪些特点?答:见课本P8页的1.3.1节。

6、计算机生成图形的方法有哪些?答:计算机生成图形的方法有两种:矢量法和描点法。

①矢量法:在显示屏上先给定一系列坐标点,然后控制电子束在屏幕上按一定的顺序扫描,逐个“点亮”临近两点间的短矢量,从而得到一条近似的曲线。

尽管显示器产生的只是一些短直线的线段,但当直线段很短时,连成的曲线看起来还是光滑的。

②描点法:把显示屏幕分成有限个可发亮的离散点,每个离散点叫做一个像素,屏幕上由像素点组成的阵列称为光栅,曲线的绘制过程就是将该曲线在光栅上经过的那些像素点串接起来,使它们发亮,所显示的每一曲线都是由一定大小的像素点组成的。

计算机图形学第6章二维图形的裁剪

计算机图形学第6章二维图形的裁剪
第七章 二维图形的裁剪
• 重点:掌握二维图形点、线段、多边形和字符的裁剪算法 。
• 难点:理解二维图形的裁剪算法思想并且用C语言进行算法 的实现。
一、裁剪的意义 为了描述图形对象,我们必须存储它的全部信息,但有时为了达到分 区描述或重点描述某一部分的目的,往往将要描述的部分置于一个窗口内, 而将窗口外的部分“剪掉”,这个处理过程叫做裁剪,裁剪在计算机图形 处理中具有十分重要的意义。 裁剪实质上是从数据集合中抽取信息的过程,这个过程是通过一定的 计算方法来实现。
7.2.2 中点分割算法
二、中点分割算法实现: 1、将直线的两端点P1、P2编码得:C1、C2; 2、判别 根据C1和C2的具体值,可以有三种情况: (1)C1=C2=0,表明两端点全在窗口内,因而整个线段也在窗内, 应予保留。 (2)C1&C2≠0(两端点代码按位作逻辑乘不为0),即C1和C2至少 有某一位同时为1,表明两端点必定处于某一边界的同一外侧,因而整个线 段全在窗外,应予舍弃。 (3)不属于上面两种情况,均需要求交点。
如果上面四个不等式中任何一个不满足,则点(x,y)位于窗口之 外。 对于任意多边形窗口,需要根据多边形内点的判别准则进行判断。
7.2 线段的裁剪
直线段的裁剪比点复杂,其裁剪方法又是多边形裁剪和三维图形裁剪的 基础。 一、直线裁剪的基本思想 判断直线与窗口的位置关系: 1.确定直线是完全可见; 2.部分可见; 3.还是完全不可见。 对部分可见线段,求出它与窗口边界的交点,并将窗口内的线段输出。
一、中点分割算法思想: 1、中点公式
7.2.2 中点分割算法
2、中点分割法求交点的规则 如图中所示,当线段P1P2求出中点P后,舍弃线段的哪部分,由下面 两条规则决定:
中点分割法求交点规则

计算机图形学参考答案-陆风-2012年版

计算机图形学参考答案-陆风-2012年版

xi1 xi 1 (d 0) y yi 即有 i1 yi 1 (d 0)
递推公式的推导:
d 2 f xi 2, yi 1.5
当 d>0 时,
yi 1.5 k ( xi 2) b d1 1 k
方向上加 1,y 方向上减 1 或减 0。即对于当前选定的点 Pi(xi,yi) , 下一个点应该为 Pd xi 1, yi 1 或 Pu xi 1, yi , 选取哪一个点依赖于判别 式。
xi 1 xi 1 即有 y yi i 1 yi 1
d1 1
当 d 0 时,
d 0 f x0 0.5, y0 1
yi 2 k ( xi 1.5) b 增量为-1-k d1 1 k
y0 1 k ( x0 0.5) b y0 kx0 b 1 0.5k 1 0.5k
当(注意这里的判断方法) d>0 时, xQ xM M 点在 Q 点右侧,取 Pl xi 1, yi 1 d<0 时, xQ x M M 点在 Q 点左侧,取 Pr xi , yi 1 d=0 时,M 点与 Q 点重合,约定取 Pr xi , yi 1
xi 1 ( d 0) xi 1 ( d 0) xi 即有 yi 1 yi 1
e0 0.5
此时: 每走一步 e e k
if
e 0 then
e e 1
由于 x 方向递增, x
0 ,故此在等式两边同乘以 2x ,则有:
E0 x 每走一步 E E 2y if E 0 then E E 2x

计算机图形学第6章习题

计算机图形学第6章习题

Pm
A(3,3)
B’’(2, 7/4)
1 2 3
⑥用二分法求AB’’中点Pm( 5/2,19/8)、 1010。 ⑦∵Pm在窗口外,codePm&codeA0 ∴PmA 在窗口同一外侧,∴令Pm->A’(5/2,19/8)、 1010,并用A’代替A Pm A’(5/2,19/8)
B’’(2, 7/4)
⑧用二分法求A’B’’中点Pm( 9/4,33/16)、 1010。 ⑨分析Pm和A’的误差小于0.5,则不再分 隔。四舍五入得A’’(2,2)、0000,为B的 最远可见点。 ⑩至此,裁剪结束,求得裁剪线段为: (2,2),(1,0)
1 2 3
习题6.14/P183
6.14 试用Liang-Barsky算法裁剪如图6-40 的线段。 P1=-(-x2-x1)=-(-1-3)=4;q1=x1-xWL=3-0=3;
2
9 8 6 1 E(1,5) B(5,4) 2 7 6 3 4 5 2 A(4,1) C(8,1)
6
D(6,8) 9 8 6 1 E(1,5) B(5,4) 2 7 6 3 4 5 2 A(4,1) C(8,1)
③输入:3B7D126 输出:3B789126
2
6
2
6
习题6.16/P183
6.16 试用WeilerAtherton算法裁剪如图641的多边形,要求写出输入 和输出的顶点。
U(=qi/pi)
3/4 1/4 3/5 1/5
Pm 1 2 3
B(-1,-2)
②Umin=min(1,u1,u3)=3/5 Umax=max(0,u2,u4)=1/4 ∴Umax<Umin 有交 ③ X=x1+Umax(x2-x1)=3+1/4(-1-3)=2 Y=y1+Umax(y2-y1)=3+1/4(-2-3)=1.75 X=x1+Umin(x2-x1)=3+3/5(-1-3)=0.6 Y=y1+Umin(y2-y1)=3+3/5(-2-3)=0 ∴得交点(2,1.75)、(0.6,0) ④至此,四舍五入后,求得裁剪线段为:(2,2),(1,0)

计算机图形学 第6章 曲面

计算机图形学 第6章 曲面

当x0 = x2, y0 = y1时,平面变为矩形平面,矩形 平面是平面的特例,其中一种参数方程为 x = x0 + (x1 - x0)u y = y0 + (y2 - y0)v z=0 u,v[0,1]
(2) 双线性曲面
给定任意4个角点的坐标值,可构成如下参数方程的双线性曲 面: x = x00 (1-u)(1-v) + x01(1-u)v + x10(1-v)u + x11 uv y = y00 (1-u)(1-v) + y01(1-u)v + y10(1-v)u + y11uv z = z00 (1-u)(1-v) + z01(1-u)v + z10 (1-v)u + z11uv
(2) 椭球面
在空间直角坐标系中,(x0, y0 z0)为球心、x方 向的轴为a、y方向的轴为b、z方向的轴为c的 椭球面的参数方程为 x = x0 + acosu cosv y = y0 + bcosu sinv z = z0 + csinu u[-90°,90°] v[0°,360°]
圆球面是椭球面的一个特例,当椭球面参数方 程中的a = b = c时,就是一个圆球面。
第6章 曲 面 生 成
6.1 参数曲面及其生成
三维曲面常用双参数表示: X = x(u,v) Y = y(u,v)

Z = z(u,v)
u∈ [u1,u2],v ∈ [v1,v2]
曲面定义域中的一对(u, v)对应曲面上的一个点。如果u 值固定(为一常数),v值变化,相当于只有一个参数v, 则可得到一条称为u线的曲线;反之,如果v值固定(为 一常数),u值变化,相当于只有一个参数u,则可得到 一条称为v线的曲线。在一定范围内,所有u线与v线组成 一个由曲线网形成的曲面片。曲面片是用于曲面造型的 最简单的数学元素。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第六章
1.请简述朗伯(Lambert )定律。

设物体表面在P 点法线为N ,从P 点指向光源的向量为
L ,两者夹角为θ,则点P 处漫反射光的强度为:
I d =I p k d cos θ
式中 : I d ——表面漫反射光的亮度;
I p ——入射光的光亮度;
K d ——漫射系数(决定于表面材料及入射光的波长) 0≤K d ≤l ; θ——入射光线与法线间的夹角,0≤θ≤π/2。

并且,当物体表面垂直于入射光方向时(N 、L 方向一致)看上去最亮,而θ越来越大,接近90°时,则看上去越来越暗。

2.试写出实现哥罗德(Gouraud )明暗处理的算法伪代码。

deltaI = (i2 - i1) / (x2 - x1);
for (xx = x1; xx < x2; xx++)
{ int offset = row * CScene.screenW + xx;
if (z < CScene.zBuf[offset])
{ CScene.zBuf[offset] = z;
CScene.frameBuf[offset] = i1;
}
z += deltaZ; i1 += deltaI;
} 3. 在Phong 模型n s p d p a a V R K I N L K I K I I )()(⋅+⋅+=中,三项分别表示何含义?公式
中的各个符号的含义指什么?
三项分别代表环境光、漫反射光和镜面反射光。

a I 为环境光的反射光强,p I
为理想漫
反射光强,a K 为物体对环境光的反射系数,d K 为漫反射系数,s K 为镜面反射系数,n 为
高光指数,L 为光线方向,N 为法线方向,V 为视线方向,R 为光线的反射方向。

4.试写出实现Phong (冯)明暗方法的伪代码。

for (xx = x1; xx < x2; xx++)
{ int offset = row * CScene.screenW + xx;
if (z < CScene.zBuf[offset])
{ CScene.zBuf[offset] = z;
pt = face.findPtInWC(u,v);
float Ival = face.ptIntensity;
CScene.frameBuf[offset] = Ival;
}
u += deltaU;
z += deltaZ;
p1.add(deltaPt);
n1.add(deltaN);
}
5.请简述自身阴影的生成方法。

自身阴影生成过程如下:
(1)首先将视点置于光源位置,以光线照射方向作为观察方向,对在光照模型下的物体实施消隐算法,判别出在光照模型下的物体的“隐藏面”,并在数据文件中加以标识;
(2)然后按实际的视点位置和观察方向,对物体实施消隐算法,生成真正消隐后的立体图形;
(3)检索数据文件,核查消隐后生成的图形中,是否包含有在光照模型下的“隐藏面”。

如有,则加以阴影符号标识这些面。

6.试写出光线跟踪算法的C 语言描述。

/*TraceRay 的三个参数分别是起点start ,跟踪方向direction 和已跟踪的深度depth ,返回的是光线direction 的颜色。

*/
Color TraceRay(start,direction,depth)
V ector start,direction;
Int depth;
{
if (depth>MAX_DEPTH)
color=black;
else {
光线与物体求交,找出离start 最近的交点;
if (无交点)
color=背景色;
else {
local_color=用局部光照模型计算出的交点处的光强;
计算反射方向;
Reflected_color=TraceRay(交点,反射方向,depth+1);
计算折射方向;
Transmitted_color=TraceRay(交点,折射方向,depth+1);
Color= local_color+Reflected_color*Kr+Transmitted_color*Kt;
}
}
return color;
}
7.请简述计算机图形学所涉及到的纹理概念。

在计算机图形学中物体的表面细节称为纹理,包括颜色纹理与几何纹理。

颜色纹理主要是指光滑表面上附加花纹和图案,如墙面上的拼花图案、木质家具表面、塑料地板等。

几何纹理主要指景物表面在微观上呈现出的起伏不平,例如混凝土墙面、柑橘表皮等。

颜色纹理可用纹理映射(Texture Mapping)来描述,几何纹理可用一个扰动函数来描述。

8.写出从RGB颜色值到HSV值的转换算法。

RGB转化到HSV的算法:
max=max(R,G,B);
min=min(R,G,B);
if (R = max)
H = (G-B)/(max-min);
if (G = max)
H = 2 + (B-R)/(max-min);
if (B = max)
H = 4 + (R-G)/(max-min);
H = H * 60;
if (H < 0)
H = H + 360;
V=max(R,G,B);
S=(max-min)/max;
9.写出从HSV颜色值到RGB值的转换算法。

HSV转化到RGB的算法
if (s = 0)
R=G=B=v;
else
h /= 60;
i = int(h);
f =h – i;
a = v * ( 1 - s );
b = v * ( 1 - s * f );
c = v * ( 1 - s * (1 - f ) );
switch(i) {
case 0: R = v; G = c; B = a; break;
case 1: R = b; G = v; B = a; break;
case 2: R = a; G = v; B = c; break;
case 3: R = a; G = b; B = v; break;
case 4: R = c; G = a; B = v; break;
case 5: R = v; G = a; B = b;
}
10.写出从CMY颜色值到RGB值的转换表达式。

R = 255*(100-C)*(100-K)/10000;
G = 255*(100-M)*(100-K)/10000;
B = 255*(100-Y)*(100-K)/10000;
( C、M、Y取值在0-100之间)。

相关文档
最新文档