计算机图形学习题_第1页
计算机图形学习题_第2页
计算机图形学习题_第3页
计算机图形学习题_第4页
计算机图形学习题_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一章 绪论1、 计算机图形学、图形处理与模式识别本质区别是什么?请各举一例说明。解:计算机图形学是研究根据给定的描述,用计算机生成相应的图形、图像所生成的图形、图像可以显示屏幕上、硬拷贝输出或作为数据集存在计算机中的学科。计算机图形学研究的是从数据描述到图形生成的过程。例如计算机动画。图形处理是利用计算机对原来存在物体的映像进行分析处理,然后再现图像。例如工业中射线探伤。模式识别是指计算机对图形信息进行识别和分析描述,是从图形(图像)到描述的表达过程。例如邮件分捡设备扫描信件上手写的邮政编码,并将编码用图像复原成数字。2、 举3个例子说明计算机图形学的应用。解:事务管理中的交互绘图应用图形学

2、最多的领域之一是绘制事务管理中的各种图形。通过从简明的形式呈现出数据的模型和趋势以增加对复杂现象的理解,并促使决策的制定。地理信息系统地理信息系统是建立在地理图形基础上的信息管理系统。利用计算机图形生成技术可以绘制地理的、地质的以及其他自然现象的高精度勘探、测量图形。计算机动画用图形学的方法产生动画片,其形象逼真、生动,轻而易举地解决了人工绘图时难以解决的问题,大大提高了工作效率。3、 计算机生成图形的方法有哪些?解:计算机生成图形的方法有两种:矢量法和描点法。矢量法:在显示屏上先给定一系列坐标点,然后控制电子束在屏幕上按一定的顺序扫描,逐个“点亮”临近两点间的短失线,从而得到一条近似的曲线。

3、尽管显示器产生的只是一些短直线的线段,但当直线段很短时,连成的曲线看起来还是光滑的。(2)描点法4.什么叫虚拟现实技术和可视化? 解:虚拟现实技术: 利用计算机生成一种模拟环境,通过多种传感器和设备使用户“投入”到该环境中,实现用户和该环境直接进行交互的技术。例如模拟飞机驾驶舱。可视化技术:通过对空间数据场构造中间几何因素,或用图形绘制技术在屏幕上产生二维图象。例如分子模型构造。5.对于分辨绿为1024*1024的光栅系统,若每一像素咏8位和12位二进制来表示存储信息,各需多大光栅存储容量?每一屏幕最多能显示多少颜色?若R,G,B灰度都占8位,其显示颜色的总数是多少? 解:1)每一像素用8位二

4、进制来表示存储信息,所需容量为1024*1024*1=(byte)=1MB彩色素:=256( 项)2)若每一像素用12位二进制表示存储信息,所需容量为:1024*1024*1.5=1.5*(byte)=1.5MB彩色素:=4096( 项)3)颜色总数:*=(种)6.对于19英寸显示器,若X和Y两方向的分辨率相等,即-1024*1024,那么每个像素点的直径是多少?解: =0.33(mm)或=0.013(英寸)第二章 光栅图形学1. 在图形设备上如何输出一个点?为输出一条任意斜率的直线,一般受到哪些因素影响?若图形设备是光栅图形显示器,光栅图形显示器可以看作是一个像素的矩阵,光栅图形显示器上的点

5、是像素点的集合。 在光栅图形显示器上输出一条任意斜率的直线,主要受到以下因素的影响:(1)光栅图形显示器的分辨率;(2)线宽、线型;(3)直线的扫描转换的算法。 2. 为什么说直线生成算法是二维图形生成技术的基础?3. 对于Bresenham直线生成算法,如何利用对称性通过判别误差变量同时从直线两端向直线中心画直线?又如何消除可能产生的误差?4. 在显示屏上产生具有三根针的时针图,并且使它成为一个真正的会走的时针。5. 修正正文中给出的画圆Bresenham算法,使之能产生椭圆。假设椭圆中心在坐标原点,椭圆的长短轴分别是Ra和Rb。以第一象限为例,取(0,Rb)为起点,按顺时针方向生成椭圆。下

6、一象素的取法只有三种可能的选择:6. 将画圆的Bresenham算法扩大,使之能画一个实心圆。即圆内是一种不同于背景色的灰度。7. 利用画圆(或画椭圆)命令写一个程序能产生馅饼图。输入此程序的数据是馅饼中每个扇型的百分比。每个部分的名称,馅饼图的名称。这些名称应显示在馅饼图外适当位置上。8. 试说明Bresenham直线算法对于下列两种情况仍能用判别变量p的符号正确地选择下一点的坐标值的理由。设当前被选点是(x,y),而实际直线在x+1处的交点不是落在y和y+1之间,而是:(a) 落在y和y-1之间,例如从(0,0)到(7,2)的直线在点(2,1)后的点;(b) 落在y+1和y+2之间。例如从

7、(0,0)到(7,5)的直线在点(2,1)后的点。第三章 图形变换与裁剪(1)_ 二维图形变换1. 在齐次坐标系中,写出下列变换矩阵:(a) 整个图象放大2倍;Answer:(b) y向放大4倍和x向放大3倍;Answer:(c) 图象上移10个单位和右移5个单位;Answer:(d) 保持x=5和y=10 图形点固定,图象y向放大2倍和x向放大3倍;Answer:分三步(1) 将坐标系平移到点(5,10) T1 =(2) 将图象y向放大2倍和x向放大3倍 S =(3) 平移坐标系至(-5,-10)点T2=T = T2 ·S·T1 = (e) 图象绕坐标原点顺时针方向转/2

8、;Answer:R = (f) 图象绕点x=2和y=5反时针方向转/4。Answer:分三步(1) 将坐标系平移到点(2,5);T1 = (2) 将图象绕原点反时针方向转/4;R = (3) 将坐标系平移到点(-2,-5);T2 = T = T2 ·R·T1 = = 2. 由比例、平移和旋转变换构成的复合变换,仅在某些情况下交换次序不影响总的变换效果,它们是哪几种两个变换的组合。Answer: (1) 两个连续的平移变换;(2) 两个连续的比例变换;(3) 两个连续的旋转变换;(4) 比例系数相等的比例变换和旋转变换。3. 写出由部分图形产生满足下列条件的另一部分图形的变换

9、矩阵:(a) 对y轴对称; (b) 对x轴对称;(c) 对坐标原点对称;(d) 对直线y=x成轴对称;(e) 对直线y=x成轴对称;(f) 对图E3所示方向进行比例系数为S1 和S2的图形;(1) 将图形绕原点逆时针方向旋转角;R1 = (2) 在x方向上的比例系数为S1,y方向的比例系数为S2;S = (3) 将图形绕原点顺时针方向旋转角。R2 = M = R2 R1 = = (a) 对直线y=mx+b对称的图形。(1) 当m = 0时;T1 = T2 = T3 = M = T3T2T1 = = (2) 当m 0,b = 0时,以第一象限为例;T1 = T2 = T3 = M = T3 T2

10、 T1 = = 因为,tan = m,cos2 = (1-m2) (1+m2),sin2 = 2m / (1+m2)(3) 当m 0,b 0时,以第一象限为例。T1 = T2 = T3 = T4 = T5 = M = T5T4T3T2T1 = 4. 对直线L: ax+by+c=0,用齐次坐标方式可以写出矩阵乘法形式p·l=0,即 (a) 证明空间一点 与直线L的距离等于 (b) 求出与直线平行且经过点(x1,y1)的另一直线方程系数a、b和c和系数a、b和c的关系式;a = a; b= b; c= -a x1- by1(c) 求出与直线垂直并且经过点(x2,y2)的另一直线方程系数a

11、、b和c和系数a、b和c的关系式a = -b; b= a; c= -b x2- ay2;5. 程序中用Set-Window(xmin ,xmax ,ymin ,ymax)和Set-Viewport(xmin ,xmax,ymin ,ymax) 来设定二维视见变换。(a) Set-Window(10,100,10,150)和 Set-Viewport(0,0.25,0,0.25) ,则在齐次坐标系中的视见变换矩阵是什么?(b) 显示与(a)同样的图形,但显示图形在x向为(a)的1.5倍,y向为(a)的2倍,且视见区右下角位置不变。请写出Set-Window和Set-Viewport中的参数值;(

12、c) 从(a)中显示图形中选出右一半图形使它放大显示在(a)中规定的视见区上,请写出Set-Window和Set-Viewport中的参数值。6. 若已知某一正方形显示器的坐标范围是以dxmin ,dxmax ,dymin 和dymax规定的矩形区,且(dymax - dymin ) = 3/4 * (dxmax - dxmin),为保证图形不失真并充分利用显示区,请写出自用户坐标至该显示器坐标的视见变换阵。 7. 若窗口函数在定义为平行于用户坐标轴的直立矩形后,还允许此窗口再绕左下角旋转角,写出由旋转后窗口到直立矩形视见区的变换矩阵。假设窗口左下角坐标为(xw1,yw1),右上角坐标为(xw

13、2,yw2)(1) 平移直立矩形视见区的左下角顶点到坐标原点;T1 =(2) 将此窗口再绕左下角逆时针旋转角。R = M-1 = RT1 M = = 8. 二维图形绕原点的旋转公式是xx cos - y sin和yx sin + y cos。为快速产生连续旋转图形,考虑到每次旋转(弧度)很小,因此可用公式xx - y 和yx + y 来代替,或用xx - y sin和yxsin + y 来更好地代替。用程序实现精确和近似计算的图形旋转,并比较之。注意,近似计算将引入误差。按每次旋转角的大小,可在总旋转角达/2, ,3/2和等一些特殊位置上用精确计算。 9.下面是依次序给出的多边形顶点坐标,请指

14、出哪些是凸多边形?你是如何判断的?对凸多边形求出向内法矢量。(a) (2,3),(7,2),(10,6),(8,11),(3,8);凸多边形;内法向量依次为(-1,-5), (4,-3), (5,2), (-3,5), (-5,1)(b) (1,4),(4,1),(8,3),(8,8),(5,5);(c) (4,4),(5,1),(7,4),(5,8),(2,4);(d) (3,8),(7,10),(8,6),(9,2),(3,2)。(b) (c) (d) 均不是凸多边形。10.对上题中的一个凸多边形求出下列线段经剪取后的端点坐标。(a) p1 =(3,4),p2 =(7,7);在凸多边形内(

15、b) p1 =(1,4),p2 =(3,14);在凸多边形外(c) p1 =(1,12),p2 =(8,12);在凸多边形外(d) p1 =(13,1),p2 =(6,5)。(8.275,3.7) 和 (6,5)11.对旋转的直立矩形窗可以用Cyrus-Beck算法进行剪取,也可对图形先进行变换,使剪取窗成直立矩形再采用Sutherland-Cohen算法进行剪取,比较这两种方法,哪一种计算量少。在你的图形系统上实现Cyrus-Beck算法,并对一组线段进行剪取验证你前面的结论。 12 用矩形窗剪取具有N个顶点的凸多边形,剪取后的多边形最多有多少顶点?最少有多少顶点?若对凹多边形剪取,并只产生

16、一个剪取后多边形,那么最多有多少顶点?(1) N + 4个顶点(2) 最少3个顶点(3) ?13 试说明为什么Sutherland-Hodgmen算法只能用于凸的剪取区域?如何去除该算法产生的多余的边?14 为何任意形状多边形之间进行剪取的Weiler-Atherton算法规定多边形内外边界顶点要采用不同的次序排列,主多边形和剪取多边形的外边界或内边界采取相同的次序排列?15 写出在任意形状多边形之间进行剪取的Weiler-Atherton算法的伪码表示,在你的图形系统中实现Weiler-Atherton算法。并对各种形状和相互关系的剪取多边形和主多边形进行剪取操作以检查程序的完整性和正确性。

17、16 写出实现凸多边形剪取体对多边形进行剪取的一种算法的详细步骤。17 写一个程序实现任意多边形之间剪取的Weiler-Atherton算法,对主多边形外边顶点是(0,0),(20,0),(20,-20),(0,-20)内部孔边界顶点是(7,-13),(13,-13),(13,-7),(7,-7) 和窗多边形的外部边界是(-10,-10),(-10,10),(10,10),(10,-10)和内部孔是(-5,-5)(5,2.5),(5,5),(2.5,5)进行剪取。求出进入与离开的交点,写出剪取后多边形顶点表。 第三章 图形变换与裁剪(2)_三维几何变换1 在三维空间中,如果要求沿方向

18、A,B,C产生放大到S倍的图形,推导出变换矩阵。A、B和C分别表示直线在x,y和z轴方向的余弦。(i) 将OP逆时针绕X轴旋转a角,使得OP'落在XOZ面上;T1 = (ii) 将OP'顺时针绕Y轴旋转b角, 使得OP"与Z轴重合;T2 = (iii) 在Z轴上放大S = (iv) 将OP"逆时针绕Y轴旋转b角= (v) 将OP顺时针绕X轴旋转a角= cos = sin= cos = sin = AM = S T2 T12 (a) 写出通过点(0,0,0)和(1,2,3)的直线参量方程; (b) 写出通过点(1,2,3),(1,2,3)和(1,2,3)的平面

19、方程;y - 2 = 0;(c) 写出通过点(1,2,3)而且垂直于矢量(4,2,3)的平面方程;4x + 2y +3z -17 = 0;(d) 写出由(a)描述的直线和(b)描述的平面的交点。3 对于下列变换写出它们的齐次坐标变换矩阵(a) 将x和y放大为原来的三倍,且图形点(0.5,0.2,0.2)保持不动;T1 = S = T1 = T = T2 S T1 = (b) 绕过点(0,0,1)和点(1,1,1)的直线旋转/4;(i) 平移点(0,0,1)到原点T1 = (ii) 将直线绕X轴逆时针旋转角度T2 =cos = 2 /5, sin = /5(iii) 将直线绕Y轴顺时针旋转角度T

20、3 = cos = /6, sin = /6(iv) 将直线绕Z轴逆时针旋转p/4T4 = (v) 将直线绕Y轴逆时针旋转角度T5 = (vi) 将直线绕X轴顺时针旋转角度T6 = (vii)T7 = M = T7T6T5T4T3T2T1(c) 产生对原点对称的图形;(d) 产生对3平面对称的图形。4 在右手坐标系中从原点到P(x,y,z)的直线,用下面三种次序都可以将此直线旋转到正的轴上。求出变换矩阵。这三个组合变换阵是否相同?(a) 绕x轴旋转到x-z平面上,再绕y轴旋转到z轴上;(i) 绕x轴旋转到x-z平面T1 = (ii) 再绕y轴旋转到z轴T2 = M = T2 T1 = (b)

21、绕y轴旋转到y-z平面上,再绕x轴旋转到z轴上;(i) 绕y轴旋转到y-z平面上T1 = (ii) 再绕x轴旋转到z轴上T2 = (c) 绕z轴旋转到x-z平面上,再绕y轴旋转到z轴上。(i) 绕z轴旋转到x-z平面上T1 = (ii) 再绕y轴旋转到z轴上T2 = cos =a / sin = b / cos = , sin = c;5 设M是三维坐标变换,若已知空间四点的变换关系A·MA',B·MB',C·MC'和D·MD',如何求出该变换M?若M-1是M的逆变换阵,而N是三种基本几何变换阵的一种,是否能不用对M

22、83;N直接求逆阵而求得M·N-1联立,求解方程组。6. 已知三角形各顶点坐标为(10,10),(10,30),(30,15),试对其进行下列变换,写出变换矩阵,画出变换后的图形。(1) 沿X向平移20,沿Y向平移15,再绕原点旋转90度(2) 绕原点旋转,再沿X向平移20,沿Y轴平移15解:(1)由二维图形变换相关知识,可得变换矩阵为1 0 0 cos90 sin 90 0 0 1 00 1 0 -sin90 cos90 0 = -1 0 025 15 1 0 0 1 -15 2 1根据得出的新坐标可画出图形(图形略)(2)变换矩阵为: 0 1 0 10 10 1T= -1 0 0

23、 10 30 1 20 15 1 30 15 1 10 25 1T= -10 25 15 45 1由得出的新坐标画图 第三章 图形变换与裁剪(3)_裁剪与三维图形显示 1 证明在经过三维基本几何变换和透视投影变换后直线仍是直线。 2 若要求沿z轴长度为1的线段在x-y平面上产生长度为L, 并且与x轴夹角为的图形,则斜平行投影的方向是什么? 3 对应拍照中常用的操作,如左右摇动镜头,上下摇动镜头,变焦(改变镜头的焦距)和改变拍照距离等,如何设置图形系统中的视见参数以达到相同效果?4 如为进行隐线和隐面消除操作,我们引入三维屏坐标系。空间点在该坐标系中的xs和ys坐标值分别等于它在观察坐标系中投影

24、平面上的x和y值,并保留z坐标的相对关系。为使平面经过转换后仍为平面,即xByCzD = 0'xsB'ysC'zsD=0,求出对透视投影进行zs变换的函数形式5 写出对给定视见参数计算从用户坐标系变换到规范化观察坐标系的组合变换矩阵的程序。若不进行剪取操作还可再组合投影变换矩阵,从而使你的图形系统具有三维图形功能。(a) 画出一个立方体的一点,二点和三点透视图;(b) 利用前面练习题中的类似方法使图形绕任意直线作连续旋转,例如对一个顶点在(0,0,0)相对的另一顶点在(1,1,1)的正立方体使它对连接这两个顶点的直线作连续旋转,并产生平行投影图;(c) 输入必要的顶点坐

25、标显示一个三维房子的线框图,检验系统的三维功能。输入不同的视见参数,观察产生的透视图;(d) 对函数y=f(x,z),例如y=sin(x)·sin(z),计算离散x和z值上的函数值,并连接这些采样点构成网状图,试从不同角度产生这个函数的投影图。6 在三维空间中给出一条直线从p1(6,10,3)到p2(3,5,2),并给出由下述平面定义的观察四棱锥:(在投影中心(0,0,0)z=x, z=-x, z=y和z=-y投影平面在z=1处。(a) 在用户空间先剪取后再投影到投影平面上,产生直线图形的端点坐标是什么?(b) 先对直线进行投影然后用窗xmin=1, xmax=1, ymin=1,和

26、ymax=1进行剪取,直线图形的端点坐标是什么?(c) 若线段的一个端点位于投影中心后面,即z < 0,用上述两种方法产生的图形有什么不同?7 扩大二维的Sutherland-Cohen裁剪算法至三维图形。在三维图形软件中实现裁剪功能,输入一个三维图形和不同的视见参数,观察显示图形的变换和裁剪功能。8 设投影中心的位置是(0,0,0),在z=10平面的剪取窗为中心在(0,0,10)边长为6的正六边形,求视见体各面的向内法矢量。假定在z=10面上的6个顶点的坐标为P0 (3 ,3,10) P1 (3,-3,10) P2 (0,-6,10)P3(-3,-3,10) P4(-3,3,10) P

27、5(0,6,10)N1 = (-10/3, 0 ,) N2 = (-1, ,3 ,/5) N3 = ( /3,1,3/10)N4 = (10/3,0,) N5 = (1, -,3 /5) N6 = (- /3,-1,3/10) 第六章 曲线与曲面造型1. 当用四个共享一个公共角点的孔斯曲面片来拼成曲面时,如果每对曲面都有一公共边是c1连续的,问这四个孔斯曲面片的信息矩阵之间存在何种约束?2. 构作一条三次贝齐尔曲线,让它来逼进椭圆在第一象限中的部分。设定椭圆的长短轴分别为a,b,a>b>0;已知 P0(0,b), P1(a,b),P2(a,0)对其进行升阶,根据升阶公式计

28、算可得:Q0(0,b),Q1(2a/3,b),Q2(a,2b/3),Q3(a,0)令Qi, i=0,1,2,3为控制顶点,生成三次Bezier曲线。Q(t) = 0t1= 3. 说明当四个相邻顶点在什么条件下时可以使所生成的三次B样条曲线段恰为直线段。说明当用Vi 、Vi+1 、Vi+2 、Vi+3 和Vi+4这五个点为控制点,并令Vi+2为三重顶点,(重复出现三次),这时所生成的四段三次B样条曲线中,必以Vi+2为尖点的原因。4. 请运用三重顶点的方法,使得以V00,0,V13,9,V26,3,V39,6这四点为控制点的三次B样条曲线能通过V0和V3。5. 确定通过Q0-1,0, Q10,1

29、,Q21,0,这三个型值点的平面上三次B样条曲线。6. 写用三次B样条曲线来逼近单位圆周在第一象限中的部分(注意,在充分利用B样条曲线的性质后,可以对这个问题的控制点加上正确的限制,从而使得它们比较容易确定)7 提出一个将象素阵列转换成四叉树的方案。并考虑将这个方案具体实现,作为比较或者参考,可以在实现之前先阅读参考文献:C. Shaffer and H. Samet:"Optiomal Quadtree Construction Algorithm" Computer Vision, Graphics, and Image Processing Vol.37(1987)p

30、p402-419。8 编写一个C语言程序,要求:在屏幕上交互地输入n 个控制点(n>k, k=4),用累加弦长的方法计算出k阶非均匀B样条曲线的节点矢量,用DeBoor算法生成/显示该B样条曲线。9 写出将非均匀B样条曲线转化为一系列首尾相连的Bezier曲线的C语言程序。10 已知n+1个型值点(即:曲线上的点)P0, P1, , Pn,以及曲线两端点处的导数P0和Pn,试编写一个C语言程序,计算出通过这些型值点的4阶均匀B样条曲线的全部控制点。这条曲线就称为4阶均匀B样条插值曲线。11.已知4个型值点坐标值P0(5,5)、P1(10,15)、P2(15,10)、P3(10,5),绘一

31、个三次贝塞尔曲线。解:用矩阵表示为p(t)=t3 t2 t 1Pp0 p1 p2 p3Tp= -1 3 -3 14 -6 3 0-3 3 0 01 0 0 012. 已知Bezier曲线上的四个点分别为Q0(120,0),Q1(45,0),Q2(0,45),Q3(0,120),它们对应得参数分别为0,1/3,2/3,1,反求三次Bezier曲线的控制点。Bezier参数方程如下:对于Bezier曲线具有型值点与控制点在端点处重合的性质,即: Q(0)=Q0=P0Q(1)=Q3=P3另外:Q(1/3)=Q1Q(2/3)=Q2设:P1,P2的坐标分别为(x1,y1)(x2,y2)则:计算得(x1,y1)=(95/3,-155/6),(x1,y1)=(-155/6,95/3)控制点坐标分别为(120,0),(95/3,-155/6),(-155/6,95/3),(0,120)。第七章

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论