计算机图形学基础教程Word格式.docx
- 文档编号:21048500
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:11
- 大小:444.08KB
计算机图形学基础教程Word格式.docx
《计算机图形学基础教程Word格式.docx》由会员分享,可在线阅读,更多相关《计算机图形学基础教程Word格式.docx(11页珍藏版)》请在冰豆网上搜索。
(1)可视角度
(2)点距和分辨率(3)展望
7.有哪些常用的图形输入设备?
键盘、鼠标、光笔和触摸屏等。
第二章
1.描述直线扫描的DDA算法、中点画线算法和Bresenham算法,并用程序实现Bresenham算法。
直线扫描的DDA算法:
DDA算法原理是当直线的斜率在(-1,1)之间时,它的增量应该以x为准,即每次都应该让x增加一个像素,然后计算出y的值(y值增量绝对值小于1,更精确),再进行四舍五入,最终得到实际点的像素。
当直线斜率绝对值大于1时,增量应该以y为准。
中点画线算法:
假定直线斜率k在0~1之间,当前象素点为(xp,yp),则下一个象素点有两种可选择点P1(xp+1,yp)或P2(xp+1,yp+1)。
若P1与P2的中点(xp+1,yp+0.5)称为M,Q为理想直线与x=xp+1垂线的交点。
当M在Q的下方时,则取P2应为下一个象素点;
当M在Q的上方时,则取P1为下一个象素点。
Bresenham算法:
过各行、各列像素中心构造一组虚拟网格线,按直线从起点到终点的顺序计算直线各垂直网格线的交点,然后确定该列像素中与此交点最近的像素。
2.用中点画线发扫描转换从点A(1,0)到B(4,7)经过的直线段,并给出每一步的判别值。
解:
由于AB直线的斜率k=7/3且k>
1
我们将坐标进行交换,得到的k=3/7
就可以用书上的方法:
a=-3b=7d=1d1=-6d2=8
判别式随坐标的变化:
xyd
011
11-5
223
32-3
435
53-1
647
741
程序:
x=1:
1:
4;
y=7/3*x-7/3;
a=[11223344];
b=0:
7;
plot(x,y,'
k'
a,b,'
*r'
)
title('
MATLAB图形'
xlabel('
x=1:
4'
ylabel('
y=0:
7'
grid
3.描述多边形扫描转换的扫描线算法,并写出伪码。
P26-27
4..字符串裁剪可按哪三个精度进行?
串精度,字符精度,笔画或像素精度。
5.为了在显示器等输出设备上输出字符,系统中必须装备有相应的字库。
字库中存储了每个字符的形状信息,字库分为哪两种类型?
各有什么特点?
字库分为矢量型和点阵型两种。
P32
6.简述裁剪方法和中点裁剪方法的思想,并指出中点裁剪方法的改进之处及这种改进的理由。
(1)裁剪就是确定图形中哪些部分落在显示区之内,哪些落在显示区之外,最后只需显示落在显示区内的那部分图形,以便提高显示效率的过程。
一般的裁剪方法是:
先裁剪再扫描转换。
(2)中点裁剪方法的思想是首先对线段端点进行编码,并把线段与窗口的关系分为三种情况,即在全在窗口内、完全不在窗口内和线段与窗口有交。
对第一种情况,显示该线段;
对第二种情况,丢弃该线段;
对第三种情况,用中点分割法求出线段与窗口的交点,即从线段的一端的端点出发找出距该端点最近的可见点,并从线段的另一端点出发找出距该端点最近的可见点,两个可见点之间的连线即为线段的可见部分。
(3)中点裁剪方法改进之处:
对第三种情况,不直接解方程组求交,而是采用二分法收搜索交点。
这样改进的理由是:
计算机屏幕的像素通常为1024×
1024,最多十次二分搜索即可到像素级,必然能找到交点,而且中点法的主要计算过程只用到加法和除2运算,效率高,也适合硬件实现。
7.是描述Liang-Barskey裁剪算法,并说明在什么情况下它比中点法和Cohen-Sutherland快及原因。
(1)设要裁剪的线段是P0P1。
P0P1和窗口边界交于A,B,C,D四点,见图。
算法的基本思想是从A,B和P0三点中找出最靠近的P1点,图中要找的点是P0。
从C,D和P1中找出最靠近P0的点。
图中要找的点是C点。
那么P0C就是P0P1线段上的可见部分。
(2)梁友栋-Barsky算法只能应用于矩形窗口的情形。
通常梁友栋-Barsky算法比Cohen-Sutherland算法效率更高,因为需要计算的交点数目减少了。
更新参数u1、u2仅仅需要一次除法;
线段与窗口边界的交点仅计算一次,就计算出u1、u2最后的值。
相比之下,即使一条线段完全落在裁剪窗口之外,Cohen-Sutherland算法也要对它反复求交点,而且每次求交计算都需要做乘除法。
8.解释走样及反走样的概念,并描述反走样的主要方法。
用离散量表示连续量引起的失真现象称为走样,用于减少或消除这种效果的技术称为反走样。
反走样的主要方法有三种:
(1)提高分辨率,把显示器分辨率提高一倍,直线经过两倍的像素,锯齿也增加一倍,但同时每个阶梯也减少了一倍,所以显示出的直线看起来就平直光滑了一些。
增加分辨率虽然简单,但不是经济的方法,而且它也只能减轻而不能消除锯齿问题。
(2)区域采样,区域采样方法假定每个像素是一个具有一定面积的小区域,将直线段看做具有一定宽度的狭长矩形。
当直线段与像素有交时,求出两者相交区域的面积,然后根据相交区域面积的大小确定该像素的亮度值。
(3)加权区域采样,使相交区域对像素亮度的贡献依赖于该区域与像素中心的距离。
当直线经过该像素时,该像素的亮度F是在两者相交区域A、上对滤波器进行积分的积分值。
9.描述消隐的扫描线Z-Buffer算法,并与其他两种Z-Buffer算法进行比较。
(1)算法的思想描述:
在处理当前扫描线时,开一个一维数组作为当前扫描线的Z-Buffer。
首先找出与当前扫描线相关的多边形,以及每个多边形中相关的边对;
然后计算每个边对之间的小区间上各像素的深度,并与Z-Buffer中的值相比较,找出各像素处对应的可见平面,计算颜色,写帧缓存。
对深度计算,采用增量算法。
(2)与Z-Buffer算法相比,扫描线Z-Buffer算法做了如下两点的改进。
一、将整个绘图窗口内的消隐问题分解到一条条扫描线上解决,使所需的Z缓存器大大减少。
2、计算深度值时,利用了面的连贯性,只用了一个加法。
但它在每个像素处都计算深度值,进行深度比较。
因此,被多个多边形覆盖的像素区处还要进行多处计算,计算量仍然很大。
10.比较书中举例的几种消隐算法的优缺点
常见的面消隐算法有:
画家算法、Z缓冲区(Z-Buffer)算法、扫描线Z-buffer算法、扫描线算法、区域子分割算法、光线投射算法等。
Z缓冲区算法是一种典型的、也是最简单的图象空间的消隐算法。
另一个优点是算法便于硬件实现,并可以并行化。
缺点:
1)需要一个额外的Z缓冲器2)在每个多边形占据的每个像素处都要计算深度值,计算量大3)没有利用图形的相关性与连续性。
画家算法它的缺点是只能处理互不相交的面.扫描线算法和Z—buffer算法的缺点是,对于不可见的多边形面片了同样画出,这样造成了绘制过程中不必要的费时。
BSP树算法利用它的存储结构可以优化多边形的排序过程,故它的排序速度比画家算法要快,尤其是复杂度高的场景。
第三章
1.参数曲线曲面有几种表示形式?
(1)代数形式一条三次曲线的代数形式是:
(2)几何形式
描述参数曲线的条件有:
端点位矢、端点切矢、曲率等。
上式是三次Hermite(Ferguson)曲线的几何形式,F0,F1,G0,G1称为调和函数(或混合函数)
有参数和非参数(显式、隐式)表示
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.设一条二次Bezier曲线的控制顶点为P0、P1和P2,另一条二次Bezier曲线的顶点是Q0、Q1和Q2,写出两条曲线精确合并成一条二次Bezier曲线的条件。
4.已知Bezier曲线上的4个点分别为Q0(50,0),Q1(100,0),Q2(0,50)和Q3(0,100),它们对应的参数分别为0,1/3,2/3,1,反求Bezier曲线的控制点。
5.设一条三次Bé
zier曲线的控制顶点为P0,P1,P2,P3。
对曲线上一点P(0.5),及一个给定的目标点T,给出一种调整Bé
zier曲线形状的方法,使得P(0.5)精确通过点T。
根据Bé
zier曲线的递推算法,构造过程:
6.计算以(30,0),(60,10),(80,30),(90,60),(90,90)为控制顶点的4次Bé
zier曲线在t=1/2处的值,并画出deCasteljau三角形。
7.给定三次Beizer曲线的控制顶点(1,0),(1,0,100),(100,0),(100,100),计算升阶一次后的控制顶点。
8.用deBoor算法,求以(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处的值。
9.试证明n次Bezier曲线退化为n-1次Bezier曲线的条件为△nP0=0。
10.NURBS曲线的凸包性指什么?
11.Q,Q1,Q2,S1,S2是平面上的5个点。
请设计一条均匀三次B样条曲线,使曲线经过这5个点,且满足如下设计要求:
(1)在Q1,Q2点与QQ1,QQ2相切;
(2)分别在Q,Q1和Q,Q2间生成一段直线段;
(3)在Q是一尖点。
12.常见的曲面、曲面求交方法有哪些?
原理是什么?
1)代数方法。
代数方法是利用代数运算,特别是求解代数方程的方法求出曲面的交线。
2)几何方法。
几何方法求交是利用几何的方法,对参与求交的曲面的形状大小、相互位置以及方向等进行计算和判断,识别出交线的形状和类型,从而精确求出交线。
3)离散方法离散方法求交是利用分割的方法,将曲面不断离散成较小的曲面片,直到每一子曲面片均可用比较简单的面片来逼近,然后用这些简单面片求交得一系列交线段,连接这些交线段即得到精确交线的近似结果。
4)跟踪方法。
跟踪方法求交是通过先求出初始交点,然后从已知的初始交点出发,相继跟踪计算出下一交点,从而求出整条交线的方法
13.用几何法求平面和球的交线。
可按以下步骤求解:
(1)求球心到平面的距离,设为d,交点(投影点)为P;
(2)设球的半径为r,若r<
d,则平面与球相离;
(3)若r=d,则平面与球相切,切点为P;
(4)若r>
d,则平面与球相交,交线为圆,圆心为P,半径为
14.形体表示有哪些常见的方法?
P94
15.网格简化时如何度量删除一个顶点的误差?
P118
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 图形学 基础教程