计算机图形学-作业答案-几何变换
计算机科学技术:计算机图形学题库三
计算机科学技术:计算机图形学题库三1、名词解释扫描转换答案:在矢量图形中,多边形用顶点序列来表示,为了在光栅显示器或打印机等设备上显示多边形,必须把它转换为点阵表示。
这种转换称为扫描转换。
2、单选下面对光栅扫描图形显示器描述正确的是()A.荧光粉涂层均匀离散分布;B.是一种点画设备;C.电子束从顶到底扫描;D.通过控制电子束的强弱实现色彩的强弱;答案:A3、填空题计算机图形系统由()系统和软件系统组成。
答案:硬件4、填空题在处理图形时常常涉及的坐标系有模型坐标系(),世界坐标系,观察坐标系,设备坐标系。
答案:局部坐标系5、单选计算机图形学与计算机图象学的关系是()。
A.计算机图形学是基础,计算机图象学是其发展B.不同的学科,研究对象和数学基础都不同,但它们之间也有可转换部分C.同一学科在不同场合的不同称呼而已D.完全不同的学科,两者毫不相干答案:B6、问答题简述中点分割法进行裁剪的过程?答案:中点分割剪取法,主要是对线段不断地进行对分,并排除在区域外的部分,找出线段落在窗口内的部分。
其方法主要是通过求出离线段的一个端点最近并且在区域内的点的方法,来确定线段落在窗口内的端点。
7、问答题局部光照模型和全局光照模型的不同之处是什么?答案:局部光照模型主要是考虑光源发出的光对物体的直接影响。
另外,全局光照模型除了处理光源发出的光之外,还考虑其他辅助光的影响,如光线穿过透明或半透明物体,以及光线从一个物体表面反射到另一个表面等。
8、判断题彩色阴极射线管主要是由红绿蓝三个彩色电子束的亮度不同,进而组合形成各种色彩的。
答案:错9、问答题什么叫做走样?什么叫做反走样?反走样技术包括那些?答案:走样指的是用离散量表示连续量引起的失真。
为了提高图形的显示质量。
需要减少或消除因走样带来的阶梯形或闪烁效果,用于减少或消除这种效果的方法称为反走样。
其方法是①前滤波,以较高的分辨率显示对象;②后滤波,即加权区域取样,在高于显示分辨率的较高分辨率下用点取样方法计算,然后对几个像素的属性进行平均得到较低分辨率下的像素属性。
(0402)《计算机图形学》网上作业题及答案
[0402]《计算机图形学》第一批[单选题]圆的扫描变换A:需要开方运算B:可以利用圆的对称性C:对圆心和半径有限制参考答案:B[单选题]矢量字符与点阵字符相比A:更易于实现字型平滑变换B:更浪费存储空间C:不利于压缩存储参考答案:A[单选题]Cohen-Sutherland 线段裁剪算法A:两端点任一点编码为0,线段全取B:两端点编码逻辑与为0,线段全弃C:端点编码相同的两条线段,取弃结果可能不同参考答案:C[单选题]扫描线多边形填充算法遇到角点时,交点次数为A:两条边都在扫描线上侧,记2次B:两条边分别在扫描线两侧,记0次C:两条边都在扫描线下侧,记1次参考答案:A[单选题]用Cohen-sutherland算法进行线段裁剪,若裁剪窗为(XL, XR)=(150,150),(Yb, Yt)=(150,150)A:点P(230, 220)的编码为:1100B:点P(230, 220)的编码为: 0110C:点P(230, 220)的编码为:0101参考答案:B[单选题]减弱光栅图像锯齿失真的反走样实现方法可以是A:减低显示器分辨率B:重新计算光栅点几何坐标C:重新计算光栅点的亮度参考答案:C[单选题]关于二维几何变换,下述哪个说法是正确的A:错切变换改变形体角度B:平移变换改变了图形的大小C:缩放变换不改变形体尺寸参考答案:A[单选题]ISO "图形核心系统”标准是A:GKSB:IGESC:PHIGS参考答案:A[单选题]露天大屏幕LED阵列一般采用什么颜色模型?A:HLSB:HSVC:RGB参考答案:C[判断题]用户配色多采用RGB模型参考答案:错误[判断题]Bezier曲线起点的位置和切向是可由控制多边形确定的参考答案:正确[判断题]显示属性是指图元之间的连接关系参考答案:错误[判断题]线形,线宽,线色是线段图元三大基本属性参考答案:正确[判断题]线段裁剪算法不能直接用于多边形的裁减,需要逐边裁减参考答案:正确[判断题]相对指定点的缩放变换是平移―对原点的缩放―平移的复合变换参考答案:正确[判断题]相对于原点的放缩变换不会改变图形的位置参考答案:错误[判断题]B样条曲线起点的位置和切向不可以由控制多边形确定参考答案:错误[单选题]计算机图形学主要讨论内容之一是A:灰度直方图B:二维图形变换C:图象恢复参考答案:B[单选题]线形是线段图元的A:图形拓扑结构B:图形层次结构C:属性之一参考答案:C[单选题]图形单元的连接关系称为A:图形几何特征坐标B:图形属性C:图形拓扑结构参考答案:C[单选题]每象素存储8位,若帧缓存容量为480,000字节,则对应的光栅系统分辨率为A:600×400B:800×600C:640×480参考答案:B[单选题]中点画线算法A:避免了直接浮点运算B:涉及三角函数运算C:不易用硬件实现参考答案:A。
《计算机图形学》答案 以及 算法讲解
(-)DDA: 例: 设p0(x0=1, y0=1),pp(xp=6,yp=3),由p0到pp画一直线. 解:dy=yp-y0=3-1=2 dx=xp-x0=6-1=5 k= y/ x=2/5=0.4 (ROUND(k)<1) 让x每次增加1 x1=x0+1=1+1=2 y1=y0+k=1+0.4 Round(1.4)=1x2=x1+1=2+1=3 y2=y1+k=1.4+0.4 Round(1.8)=2 x3=x2+1=3+1=4y3=y2+k=1.8+0.4 Round(2.2)=2 x4=x3+1=4+1=5 y4=y3+k=2.2+0.4 Round(2.6)=3 x5=x4+1=5+1=6 y5=y4+k=2.6+0.4=3 x 1 2 3 4 5 6 y1 12 23 3 例: 设p0(x0=1, y0=1),pp(xp=3,yp=4),由p0到pp画一直线.解: dy=4-1=3 dx=3-1=2 k=dy/dx=3/2=1.5 k>1 1/k=2/3=0.67让y每次增加 1 (dy>dx) y1=y0+1=1+1=2x1=x0+1/k=1+0.67=1.67 round(1.67)=2 y2=y1+1=2+1=3 x2=x1+1/k=1.67+0.67=2.34 round(2.34)=2 y3=y2+1=3+1=4x3=x2+1/k=2.34+0.67=3.01 round(3.01)=3 y 1 2 3 4 x 1 2 2 3 DDA算法: 复杂度:加法+取整优点避免了y=kx+b 方程中的浮点乘法,比直接用点斜式画线快缺点需浮点数加法及取整运算,不利于硬件实现. (2)中点画线算法:目标:消除DDA算法中的浮点运算(浮点数取整运算,不利于硬件实现;DDA算法,效率低)中点算法: 用整数加法及比较代替了DDA中的浮点数加法及取整运算,效率大大提高. 设(x0,y0)和(x1,y1)分别为直线的两端点得y=( y/y=y1-y0, x=x1-x0 由y=kx+B 及k= y/ x k *0,1+x).x+B - y.x+ xy- x.B=0 则直线一般方程为 F(x,y)=- y.x+x.y-B. x=0 a= - y b= x c= -B. x 设 (x,y) 为直线上一点,将点P=(x,y+ m)代入直线方程: F(x,y+ m)= - y.x+ x.(y+ m)-B. x = (-因为 x>0 if m >0(即y.x+ x.y-B. x)+ x.m =F(x,y)+ x.m = + x. mP点在直线上方) then F(x,y+yb)>0; if m<0 (即P点在直线下方) thenF(x,y+yb)<0; Example: p0(x0=1,y0=1), pp(xp=5,yp=4) x0=1;y0=1;xp=5;yp=4; dy=yp-y0=4-1=3; dx=xp-x0=5-1=4; a=-dy=-3; b=dx=4; -3x+4y+c=0; -3+4+c=0; c=-1; -3x+4y-1=0 F1(xp,yp)=-3*5+4*4-1=0; pp(x=5,y=4) F2=(xp,6)=-3*5+4*6-1=8>0; ph(x=5,y=6) F3=(xp,2)=-3*5+4*2-1=-8<0; pl(x=5,y=2) 例: 设p0(x0=0, y0=0),pp(xp=5,yp=2),由p0到pp画一直线. 解: dy=2 dx=5 k=2/5<1 (可用以上公式)p0=(0,0) d0=-2*dy+dx=-2*2+5=1>0 因为 d0>0 M在理想直线上方,所以下一点选取正右方E点p1=(1,0) dnew= dold-2dy = d0-2dy=1-2*2=-3<0 (dold>0)所以下一点选取右上方NE点p2=(2,1) dnew= dold-2(dy-dx) = -3-2*(2-5)=+3 (dold<0) 所以下一点选取正右方E点 p3=(3,1) dnew=dold-2dy = +3-2*2=-1<0 (dold>0) 所以下一点选取右上方NE点p4=(4,2) dnew= dold-2(dy-dx) =- 1-2*(2-5)=5 (dold<0) 所以下一点选取正右方E点 p5=(5,2) p x y d P 0 0 0 1 (初值 )P 1 1 0 -3 P 2 2 1 3 P 3 3 1 -1 P 4 4 2 5 P5 5 2 clear; x0=0;y0=0; x1=5;y1=2 dy=y1-y0; dx=x1-x0;d0=-2*dy+dx; incE=2*dy; incNE=2*(dy-dx); X(1)=0;Y(1)=0; d=d0;D(1:x1)=0; D(1)=d0; for x=1:x1 if d<=0 d=d-incNE;X(x+1)=x; Y(x+1)=Y(x)+1; else d=d-incE; X(x+1)=x;Y(x+1)=Y(x); end D(x+1)=d; end plot(X,Y,'g',X,Y,'o'); X1(1)=0;Y1(1)=0;X1(2)=5; Y1(2)=2; line(X1,Y1) (3)Bresenham画线算法与DDA算法相似,Bresenham画线算法也要在每列象素中找到与理想直线最逼近的象素点。
计算机图形学-作业答案-几何图形流水线
几何图形流水线:共12题,其中第1-9题每题10分,第10题不计分,第11、12题每题5分,总分100分1.图形流水线总体上可分为两段,它们的名称分别是什么?答:图形流水线总体上可分为“几何图形流水线”和“像素图形流水线”两段,分别用于生成、处理几何图形与像素图形。
(注:两段流水线的分隔点在“透视投影”这一步骤,投影后,三维几何图形转换为二维几何图形,几何图形处理结束,像素图形处理开始)2.简述几何图形与像素图形的区别、联系。
答:(1)几何图形可以是三维的,也可以是二维的,这种图形是连续的、理想的图形,点(Point)无穷小,无尺寸、形状概念,直线无宽度概念,平面无厚度概念,直线、平面均由无穷不可数点集构成。
在图形系统中描述几何图形时,往往采用能够唯一确定几何图形的参数。
例如,用直线段的2个端点描述直线段,用多边形的顶点序列描述多边形等。
(2)像素图形一般使用二维结构,这种图形是离散的、实际的图形,像素(Pixel)有尺寸、形状的概念,并不是无穷小的点,由像素构成的直线段也有宽度概念,直线段、多边形均由有限的像素构成。
在图形系统中描述像素图形时,必须使用规则的像素阵列描述图形的整体信息,而不是其关键参数。
例如,描述直线段时必须给出该直线段经过的所有像素,描述多边形时必须给出多边形覆盖的所有像素。
由于像素图形的基本组成单位与图像一致,都是像素,因此,在不引起混淆的情况下,不特定区分这两种术语。
(3)几何图形可对三维场景与其二维投影作简洁的描述,数据量相对较小,能降低系统管理虚拟场景复杂度,但由于几何图形是连续、理想的,因此它不能用于最终显示。
像素图形可对最终的显示内容作精确的描述,并且,只有像素图形才能最终用于显示,但像素图形的数据量相对庞大,因此一般仅在图形系统作透视投影、形成二维几何图形后,才对其实施像素化,从而避免庞大的处理量。
3.简述几何图形流水线中的必要步骤。
答:(1)布置虚拟的三维场景(Object Placement ;即局部坐标系至世界坐标系的转换)(2)放置摄像机(Camera Placement ; 指定虚拟摄像机外部参数,即世界坐标系至视景坐标系的转换) (3)放置光源(Light Placement )(4)透视投影(Perspective Projection ; 指定虚拟摄像机内部参数,将三维场景投影至二维成像平面)(5)图形像素化(Rasterization ; 采样二维几何图形,使其转换为二维像素图形)4. 完成Object Placement 与Camera Placement 分别对应何种坐标系变换? 答:Object Placement 对应局部坐标系(Local Coordinate )至世界坐标系(World Coordinate )的转换;Camera Placement 对应世界坐标系至视景坐标系(Viewing Coordinate )的转换。
计算机图形学-习题库及答案
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、写出几种线裁剪算法;写出几种多边形裁剪算法。
【中南大学】计算机图形学习题及答案
计算机图形学作业答案第一章序论第二章图形系统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.1 修改Bresenham 算法,使之可绘制具有实线、虚线和点线等各种线型的直线,并且要求从键盘输入两端点坐标,就能在显示器屏幕上画出对应直线。
答案:(略)3.2 圆弧生成算法中,Bresenham 算法比正负法更合理的原因?答案:设圆的半径为R ,圆心在原点,则对于正负法,决定下一点走向的判别式为222(,)F x y x y R =+-,判别准则为:(,)0F x y ≤时,下一步取当前点的正右方的点;(,)0F x y >时,下一步取当前点正下方的点。
即若当前点在圆内,则下一步向圆外走;若当前点在圆外,则下一步向圆内走。
而对于Bresenham 算法,判别式为2222221111()()(1)(1)(1)i i i i i i i d D H D L x y R x y R ----=+=++-+++--判别准则为: 0<i d 时,下一步取当前点的正右方的点;0i d ≥时,下一步取当前点的正下方的点。
这说明Bresenham 算法在候选的两个像素中,总是选定离圆弧最近的像素为圆弧的一个近似点,因此,Bresenham 算法比正负法决定的像素更合理。
3.3 假设圆的中心不在原点,试编写算法对整个圆进行扫描转换。
答案:假设圆的方程为:222()()x a y b R -+-=,先用正负法、Bresenham 算法和圆的多边形迫近法这三种方法中的任一种生成圆心在原点的圆,再分别将x ,y 的坐标值加上a ,b ,得到的平移后的圆即所求的结果。
3.4 多边形的顶点和点阵表示各有什么优缺点?答案:顶点表示是用多边形的顶点序列来描述多边形。
该表示几何意义强、占内存少、几何变换方便;但它不能直观地说明哪些像素在多边形内,故不能直接用于面着色。
点阵表示用位于多边形内的像素的集合来描述多边形。
该方法虽然没有多边形的几何信息,但便于用帧缓存表示图形,可直接用于面着色。
3.5 在多边形的扫描线算法中,是如何处理奇点的?答案:为使每一条扫描线与多边形P 的边界的交点个数始终为偶数,规定当奇点是多边形P 的极值点时,该点按两个交点计算,否则按一个交点计算。
计算机图形学试题及答案
计算机图形学试题及答案一、选择题1. 下列哪个选项反映了图形学的定义?A. 图形学是研究如何使用计算机生成和操纵图像的学科。
B. 图形学是研究计算机图形硬件的学科。
C. 图形学是研究计算机图像压缩算法的学科。
D. 图形学是研究计算机图形界面设计的学科。
答案:A2. 下列哪个选项不是计算机图形学的核心内容?A. 图形硬件B. 图形算法C. 图形数据结构D. 图形用户界面设计答案:D3. 在计算机图形学中,三维坐标使用下列哪个表示法?A. (x,y,z)B. (x,y)C. (x,y,z,w)D. (x,y,w)答案:A二、简答题1. 什么是光栅化?简述光栅化算法的基本原理。
答:光栅化是将连续的图形转化为离散的像素点的过程。
光栅化算法的基本原理包括以下步骤:- 对于三维图形,首先进行顶点的投影,将三维坐标映射到二维屏幕上。
- 然后,对二维空间中的像素进行遍历,判断每个像素是否被图形覆盖。
- 如果像素被覆盖,则将其填充为图形所要显示的颜色;如果未被覆盖,则保持原来的颜色。
2. 简述几何变换在计算机图形学中的作用,并举例说明。
答:几何变换在计算机图形学中可以用于对图像进行平移、旋转、缩放等操作,改变图形的位置和大小。
例如,通过对一个三角形进行平移,可以将其移动到屏幕的不同位置;通过对一个矩形进行缩放,可以改变其宽度和高度,实现图像的放大或缩小。
三、综合题请根据以下场景,回答问题并进行代码实现。
场景描述:假设有一个二维图形,由一组顶点坐标构成。
现在需要实现一个算法来判断该二维图形是否为凸多边形。
算法实现思路:1. 判断多边形的边是否都是凸角。
遍历多边形的每条边,判断其与相邻两条边形成的夹角是否小于180度,若有任意一条夹角大于180度,则不是凸多边形。
2. 判断多边形的内角是否都是凸角。
遍历多边形的每个顶点,以该顶点为中心,判断其与相邻两条边形成的夹角是否小于180度,若有任意一个内角大于180度,则不是凸多边形。
《计算机图形学》练习试题及参考答案(六)
《计算机图形学》练习试题及答案一、名词解释1、齐次坐标系2、光顺性3、种子填充算法4、镜面反射光5、投影变换6、光线跟踪7、复合变换8、走样9、几何造型技术10、虚拟现实二、简答题1、前截面距离F和后截面距离B定义了什么?2、计算机动画的制作主要步骤3、计算机图形显示器和绘图设备表示颜色的方法各是什么颜色系统?它们之间的关系如何?4、图形软件主语言的选择应考虑哪些因素?5、制定CGI,CGM,IGES标准的目的分别是什么?6、自由曲面的表示通常有哪两种?7、什么叫做走样?什么叫做反走样?反走样技术包括那些?8、简述区域连贯性、扫描线的连贯性以及边的连贯性。
9、简述Bezier曲线的不足之处。
10、建立图形软件可采用哪三种方法?11、在观察空间中,如何确定投影的类型和方向?12、简述编码裁剪法(即Cohen-Sutherland线段裁剪法)的算法过程。
三、应用题1、分析边标志算法的实现过程,并写出其算法的C语言描述。
2、简述深度缓存算法及其特点。
3、假设在观察坐标系下窗口区的左下角坐标为(wxl=10,wyb=10),右上角坐标为(wxr=50,wyt=50)。
设备坐标系中视区的左下角坐标为(vxl=10,vyb=30),右上角坐标为(vxr=50,vyt=90)。
已知在窗口内有一点p(20,30),要将点p映射到视区内的点p`,请问p`点在设备坐标系中的坐标是多少?(本题10分)4、如下表是采用DDA算法画出(0,0)到(5,2)的直线的数据,请填写空格处。
i xi yi yi+0.5 int(yi+0.5)1 0 0 0.5 02 13 24 35 46 5 2 2.5 25、已知三角形ABC各顶点的坐标A(1,2)、B(5,2)、C(3,5),相对直线Y=4做对称变换后到达A’、B’、C’。
试计算A’、B’、C’的坐标值。
(要求用齐次坐标进行变换,列出变换矩阵)6、试对下图中的多边形进行裁剪,用图表示裁剪过程。
计算机图形学习题参考答案(完整版)
计算机图形学习题参考答案第1章绪论1、第一届ACM SIGGRAPH会议是哪一年在哪里召开的?解:1974年,在Colorado大学召开了第一届SIGGRAPH年会。
2、计算机图形学之父是谁?解:Sutherland3、列举一些计算机图形学的应用领域(至少5个)。
解:计算机辅助设计、图示图形学、计算机艺术、娱乐、教学与培训、可视化、图像处理、图形用户界面等。
4、简要介绍计算机图形学的研究内容。
解:(1)图形的输入。
如何开发和利用图形输入设备及相关软件把图形输入到计算机中,以便进行各种处理。
(2)图形的处理。
包括对图形进行变换(如几何变换、投影变换)和运算(如图形的并、交、差运算)等处理。
(3)图形的生成和输出。
如何将图形的特定表示形式转换成图形输出系统便于接受的表示形式,并将图形在显示器或打印机等输出设备上输出。
5、简要说明计算机图形学与相关学科的关系。
解:与计算机图形学密切相关的学科主要有图像处理、计算几何、计算机视觉和模式识别等。
计算机图形学着重讨论怎样将数据模型变成数字图像。
图像处理着重研究图像的压缩存储和去除噪音等问题。
模式识别重点讨论如何从图像中提取数据和模型。
计算几何着重研究数据模型的建立、存储和管理。
随着技术的发展和应用的深入,这些学科的界限变得模糊起来,各学科相互渗透、融合。
一个较完善的应用系统通常综合利用了各个学科的技术。
6、简要介绍几种计算机图形学的相关开发技术。
解:(1)OpenGL。
OpenGL是一套三维图形处理库,也是该领域事实上的工业标准。
OpenGL独立于硬件、操作系统和窗口系统,能运行于不同操作系统的各种计算机,并能在网络环境下以客户/服务器模式工作,是专业图形处理、科学计算等高端应用领域的标准图形库。
以OpenGL为基础开发的应用程序可以十分方便地在各种平台间移植;OpenGL与C/C++紧密接合,便于实现图形的相关算法,并可保证算法的正确性和可靠性;OpenGL使用简便,效率高。
计算机图形学第二版课后习题答案
第一章绪论概念:计算机图形学、图形、图像、点阵法、参数法、图形的几何要素、非几何要素、数字图像处理;计算机图形学和计算机视觉的概念及三者之间的关系;计算机图形系统的功能、计算机图形系统的总体结构。
第二章图形设备图形输入设备:有哪些。
图形显示设备: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圆弧段的扫描转换算法(要求写清原理、误差函数、递推公式及最终画图过程)。
计算机图形学-图形的几何变换
贵州大学实验报告学院:计算机科学与技术专业:软件工程班级:软件132 姓名常伟学号1308060226 实验地点一教704 实验时间2016.5.9 指导教师李智实验成绩实验项目名称试验四、图形的几何变换实验目的1.掌握矢量运算。
2.熟练使用齐次坐标。
3.掌握采用齐次坐标进行几何变换。
实验要求1.理解几何图形变换的原理,编程实现图形的几何变换。
2.编程界面友好,实现变换的所有方式,包括平移、缩放、旋转、对称、错切以及基本变换基础上的组合变换。
3.几何变换使用矩阵进行运算。
实验原理二维齐次坐标变换的矩阵的形式是⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡ihgfedcba这个矩阵的每一个元素都是有特殊含义的。
其中,⎥⎦⎤⎢⎣⎡edba可以对图形进行缩放、旋转、对称和错切等变换;⎥⎦⎤⎢⎣⎡fc是对图形进行平移变换;[]hg是对图形作投影变换;[]i 则是对图形进行缩放变换。
下面给出几个基本变换的矩阵运算。
1.平移变换⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡++=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡1),(111111''yxTyxyxttttttyxyxyxyx2.缩放变换⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡∙∙=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡1),(1111''yxssSysxsyxssyxyxyxyx3.旋转矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡+-=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡1)(1cossinsincos11cossinsincos1''yxRyxyxyxyxθθθθθθθθθ4.对称矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡++=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡1111''eydxbyaxyxedbayx对称变换其实只是a、b、d、e取0、1等特殊值产生的一些特殊效果。
计算机图形学考试及答案
1.1编译程序由哪几部分构成?简述各部分功能。
参考答案: 五个部分词法分析:接收输入源程序串,输出单词序列。
语法分析:接收单词序列,识别出各种语法成分,并做语法检查。
语义分析与中间代码生成:分析每个语法结构的静态语义,生成某种形式的中间代码。
优化:在不改变程序执行结果的前提下,提高中间代码或目标代码的质量。
目标代码生成:将中间代码转换成等价的目标代码。
2.4写出产生语言L(G1) 的文法G1:L(G1)={a m b m c n |m ,n ≥0}。
参考答案:G1: S →AB A →ε|aAb B →ε|Bc4.4设有表格结构文法G[S]:||(),|S a T T T S S→∧→(1)给出(a ,(a ,a ))的最左、最右推导,并画出相应的语法树。
参考答案:最左推导:S ⇒(T) ⇒(T,S) ⇒(S,S) ⇒(a,S) ⇒(a,(T,S)) ⇒(a,(S,S)) ⇒(a,(a,S)) ⇒(a,(a,a))最右推导:S⇒(T) ⇒(T,S) ⇒(T,(T,S) ⇒(T,(T,a) ⇒(T,(S,a)) ⇒(T,(a,a)) ⇒(S,(a,a)) ⇒(a,(a,a)) 语法树:S( T )T , SS( T )a S(2)计算文法G[S]的FIRSTVT集和LASTVT集。
参考答案:FIRSTVT(S)={a, ^,( }FIRSTVT(T)= {a, ^, (,,}LASTVT(S)= {a, ^,)}LASTVT(T)= {a, ^,),,}(3)构造G[S]的优先关系表,并判断G[S]是否为算符优先文法。
1.计算机图形学的研究内容有哪些?答:(1) 基于图形设备的基本图形元素的生成算法,如用光栅图形显示器生成直线、圆弧、二次曲线、封闭边界内的图案填充等。
(2) 图形元素的几何变换,即对图形的平移、放大、缩小、旋转、镜像等操作。
(3) 自由曲线和曲面的插值、拟合、拼接、分解、过渡、光顺、整体和局部修改等。
计算机图形学平时作业
《计算机图形学》平时作业——苟丁 0843042229一.3D管道中的几何变换1.简述旋转矩阵的行向量组、列向量组的含义,解释如下运算的本质含义:(1)1个3*3的旋转矩阵右乘1个3*1列向量(2)1个3*3的旋转矩阵左乘1个1*3行向量答:旋转矩阵的行向量为该矩阵坐标系在原坐标系上的坐标旋转矩阵的列向量为原坐标系的向量在本旋转矩阵坐标系上的坐标。
(1)代表3*1矩阵在3*3矩阵上的投影,将三维坐标从新坐标系投影到旧坐标系的转换(2)代表3*3矩阵在3*1矩阵上的投影,将旧坐标系投影到新坐标系的转换2.在旋转、放缩、平移、透视投影几种几何变换中,哪些几何变换分别属于欧氏变换、线性变换、仿射变换、射影变换?欧氏变换、线性变换、仿射变换、射影变换间的区别是什么?答:旋转是欧氏变换旋转和放缩是线性变换旋转、放缩、平移是仿射变换旋转、放缩、平移、透视投影是射影变换。
四种变换的区别:线性变换在四维空间,而仿射变换在三维空间射影必须采用摄像坐标系,仿射变换则是到自身的一类变换3.试解释齐次坐标系的本质含义,并说明在N维齐次坐标空间中的旋转、放缩与其对应的N-1维常规空间中的平移变换有什么样的关系?答: 齐次坐标系就是将一个原本是n维的向量用一个n+1维向量来表示。
例如,在二维平面中,点P(x,y)的齐次坐标表示为(wx,wy,w)。
这里w是任一不为0的比例系数。
类似的,三维空间中坐标点的齐次坐标表示为(ex,wy,wz,w)。
推而广之,n维空间中的一个点(P1,P2,……Pn)的齐次坐标为(wP1,wP2……wPn,w)。
其提供了用矩阵运算把二维、三维甚至高维空间中的一个点集从一个坐标系变换到另一个坐标系的有效方法。
平移是矩阵相加,旋转和缩放则是矩阵相乘,综合起来可以表示为p' = m1*p + m2(m1旋转缩放矩阵,m2为平移矩阵,p为原向量,p'为变换后的向量) 4维坐标的旋转到了3维坐标就是平移.4.在3D图形管道中,共有几种坐标系?各坐标系间的变换分别可以实现什么样的操作?答: 有三种。
计算机图形学-习题集(答案)
《计算机图形学》习题集概念、算法与推导题1. 图形系统的功能包括: 计算功能、存储功能、 对话功能、 输入功能、 输出功能 。
2. 图形设备包括: 图形输入设备、 图形输出设备 。
3. 图形程序构造功能模块的基本原则是: 独立性、 抽象性、 开放性、 继承性 。
4. 推导出螺旋图案的程序设计中外接圆的半径的系数比例公式。
5. 图形变换的基本原理是: 图形的拓扑关系不变 和 图形的几何关系可以改变 。
6. 写出二维空间中关于45º线对称的图形变换矩阵。
⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡100001010 7. 给出对任意直线的对称变换的公式。
直线方程Ax+By+C=0,P(x0,y0)关于直线的对称点为Q(x,y),则:(y-y0)/(x-x0) = B/AA(x+x0)/2+B (y+y0)/2 +C=08. 在平面上,将点(a,b)先进行平移变换⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡132010001,再进行错切变换⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡100012001,求最后点的坐标。
(a+2b+8,b+3)9. 不同顺序的图形变换对图形变换的最终结果是否有影响。
存在影响。
10. 给出绕y 轴旋转的变换公式。
绕y 轴旋转θ角:x=x0*cos θ+z0*sin θ, y=y0, z=z0*cos θ-x0*sin θ。
11. 已知一点A (x0,y0,z0),平面Ax+By+Cz+D=0,求投影变换公式,并给出矩阵形式。
对于空间中任意一点(x,y,z)设其在投影平面上的投影为(xp,yp,zp),则:= R2 R1 cos(π/n) cos(α-π/n) (n>2)f = = 1 cos α +tg (π/n)sin αxp = [(A*x0-C)*x+B*x0*y+C*x0*z+D*x0]/(Ax+By+Cz+D-C)yp = [A*y0*x+(B*y0-C)*y+C*y0*z+D*y0]/(Ax+By+Cz+D-C)zp = [A*z0*x+B*z0*y+(C*z0-C)*z+D*z0]/(Ax+By+Cz+D-C)矩阵:⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡C -D z0*D y0*D x0*D C C -z0*C y0*C x0*C B z0*B C -y0*B x0*B A z0*A 0*C -x0*A y A 12. 什么叫视向变换?把世界坐标系中的点P(x,y,z)变换为观察坐标系中的点Q(x*,y*,z*)的过程13. 什么叫灭点?对于透视投影来讲,一束平行于投影平面的平行线的投影可保持平行,不平行与投影平面的平行线的投影会汇聚到一个点,这个点称为灭点。
计算机图形学几何变换练习(答案)
如图所示,求P0(4,1)、P1(7,3)、P2(7,7)、P3(1,4)构成的四边形绕Q(5,4)逆时针旋转45°的变换矩阵和变换后图形的顶点坐标。
*
*
对多边形A(-1,0)B(0,-2),C(1,0),D(0,2
)相对于直线y=x+2做对称变换,求变换
矩阵和变换后图形的顶点坐标。
1 2 3 4 5 6 7 8
将正方形ABCO 各点沿图所示的(0,0)→(1,1)方向进行拉伸,结果为如图所示的,写出其变换矩阵和变换过程。
=
可得Sx=2 Sy=1
屏幕客户区xOy 坐标系的原点位于左上角,x 轴水平向右,y 轴垂直向下。
建立新坐标系x ’O ’y ’,原点在屏幕客户区坐标是(a,b ),x ’轴水平向右,y ’轴垂直向上,如图所示。
已知点p 在x ’O ’y ’中的坐标是( x ’,y ’),求它在xOy 坐标系下的坐标
,
写出其变换矩阵和变换过程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
几何变换:作业共10题,每题10分,总分100分1. 有如下使用矩阵表示的三维几何变换:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡z y x z y x 100001010''' 辅助说明(不计成绩):1)3*3矩阵的3个列向量与3个行向量分别形成两个基向量集,即两个坐标系,这里分别称为列坐标系与行坐标系。
2)在矩阵中,列坐标系中各基向量(矩阵的3个列向量)的坐标是在假定行坐标系为单位正交坐标系(基向量的模为1,且基向量两两正交)前提下,由行坐标系测量的坐标;相似地,行坐标系中各基向量(矩阵的3个行向量)的坐标是在假定列坐标系为单位正交坐标系的前提下,由列坐标系测量的坐标。
3)对于此题给出的矩阵,假定行坐标系单位正交,则测量出的列坐标系也单位正交;反之,假定列坐标系单位正交,则测量出的行坐标系也单位正交;此矩阵描述的是两个单位正交坐标系间的坐标系变换,矩阵是一个单位正交阵(旋转矩阵)。
(1) 试解释其中的一种运算:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡100001010'''z y x z y x ; 答:1)使用考察向量在列坐标系下测量的坐标作为系数(线性组合中的各个系数x 、y 、z 用于调节各列基向量的模,实质上这些系数是坐标变换前,考察向量在列坐标系下测量的坐标,否则这样的线性组合运算无意义),对矩阵中列坐标系的3个基向量实施线性组合,重新组合为考察向量后(这里理解为向量不变,坐标系、坐标变化),其坐标变换为行坐标系下测量的坐标;2)此运算的含义是已知考察向量的列坐标系坐标,以坐标和基向量(矩阵中的列)为基础,使用线性组合得到考察向量;(简言之,由坐标计算得到向量) 3)由于3个基向量的坐标为行坐标系下的坐标,则组合后的组合向量坐标亦为行坐标系下的坐标,由此,考察向量的坐标从列坐标系坐标变换到行坐标系坐标。
(提示:如果矩阵为单位矩阵,行、列坐标系重叠,则列坐标系基向量的坐标可视为自身测量的坐标,从而线性组合后考察向量的坐标也不发生变化)(2) 试解释其中的一种运算:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡z y x z y x z y x z y x TTT100001010'''; 答:1)使用列坐标系下测量的考察向量,向矩阵中行坐标系的3个行向量投影,得到考察向量在行坐标系下测量的坐标; 2)由于考察向量变换前的坐标[]Tz y x是列坐标系下测量的(前一小题已作解释),那么,内积(投影)运算要能够得以进行,对于矩阵中行坐标系的3个基向量,它们的坐标也必须是列坐标系下测量的,因为只有同一坐标系下测量的向量在一起运算才会有意义;3)由于是向行坐标系各基向量投影,此运算的含义是在列坐标系下完成考察向量向行坐标系各基向量的投影运算,得到的各投影值即为考察向量在行坐标系下测得的坐标(简言之,由向量计算得到坐标);(提示:如果矩阵为单位矩阵,行、列坐标系重叠,从而重新投影后考察向量的坐标也不发生变化)(3) 试作图描述矩阵行向量集与列向量集分别表示的坐标系(作在同一图中)O 、O ’X 、Y ’YX ’Z 、Z ’O 、O ’分别为行、列坐标系的原点,它们是重叠的;X 、Y 、Z 是列坐标系的基向量,X ’、Y ’、Z ’是行坐标系的基向量;行坐标系与列坐标系均为单位正交坐标系,两个坐标系间有些基向量是相互重叠的。
2. 二维空间中有如下单位正交阵表示的旋转变换:⎥⎦⎤⎢⎣⎡-22222222(1) 假定行向量集对应的坐标系(行坐标系)为单位正交坐标系,试作图描述单位正交的行坐标系下,各列向量的方位,观察其是否单位正交(各列模为1,且相互正交);(2) 假定列向量集对应的坐标系(列坐标系)为单位正交坐标系,试作图描述单位正交的列坐标系下,各行向量的方位,观察其是否单位正交(各行模为1,且相互正交);(3) 试结合上面两个小题的结论,试解释为何旋转矩阵的转置矩阵与逆矩阵等价。
答:1)此题可从矩阵列向量集的线性组合与行向量集的投影两种角度来解释,这里从行向量集(行坐标系)的角度来解释;2)旋转矩阵为单位正交阵,用于描述两个单位正交坐标系间的坐标系变换,矩阵行向量的坐标是在列坐标系下测得的,列向量的坐标是在行坐标系下测得的;X 、Y 为列坐标系的基向量,X ’、Y ’为行坐标系的基向量;以列坐标系测量行坐标系的基向量,相互正交。
X 、Y 为行坐标系的基向量,X ’、Y ’为列坐标系的基向量;以行坐标系测量列坐标系的基向量,相互正交。
3)若考察向量是列向量,则它与旋转矩阵的行向量的坐标均是列坐标系下测量的,考察向量与矩阵行向量间实施的是投影运算,投影后考察向量的坐标转换到行坐标系下的坐标;4)若要实施逆变换,将考察向量的坐标从行坐标系变换回列坐标系,则只需转置旋转矩阵,将其列变行、行变列,则行、列坐标系的地位互换,其转换结果为列坐标系下的坐标;3. 二维空间中有如下几何变换:⎥⎦⎤⎢⎣⎡3231 (1) 假定行向量集对应的坐标系(行坐标系)为单位正交坐标系,试作图描述单位正交的行坐标系下,各列向量的方位;(2) 假定列向量集对应的坐标系(列坐标系)为单位正交坐标系,试作图描述单位正交的列坐标系下,各行向量的方位;(3) 对于一般矩阵,其转置与逆等价吗?答:对于一般矩阵,其转置与逆不等价。
例如本题(1)小题中的图示,使用行坐标系测量的列向量做线性组合,可以完成列坐标系到行坐标系12XX 、Y 为列坐标系(仅为示意图,严格而言,模应为1),其余两个向量为矩阵行向量13XX 、Y 为行坐标系(仅为示意图,严格而言,模应为1),其余两个向量为矩阵列向量的坐标变换;如果仍然使用该图中的列向量作逆变换,则需要向这两个列向量作正交投影,完成行坐标系到列坐标系的坐标变换,但是,这样的逆变换并不能成立。
因为,列坐标系到行坐标系的变换,是通过列向量线性组合来实现,由于假设行坐标系单位正交的前提下,列坐标系并不是正交坐标系,因此线性组合所体现出的坐标系性质也并不是正交坐标系,而是基于“平行四边形法则”的坐标系,简言之,行到列坐标系的变换不是正交坐标系运算得出的。
于是,如果针对同一列坐标系使用正交投影来完成变换,并企图得到列坐标系线性组合的逆变换,在逻辑上是矛盾的。
4. 有如下表示三维空间内几何变换的矩阵:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-θθθθcos sin 0sin cos 0001若完成运算了⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-z y x θθθθcos sin 0sin cos 0001,试解释该运算对向量[]Tz y x 实施的几何变换;若完成了运算[]⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-θθθθcos sin 0sin cos 0001z yx,试解释该运算对向量[]z yx实施的几何变换。
答:对于前一种运算,矩阵的行向量与考察向量[]Tz y x间实施内积运算,有坐标系变换与向量变换两种理解。
观察矩阵的行向量集,矩阵为单位正交阵,可知对应的几何变换为旋转变换,第一行为行坐标系X ’轴在列坐标系下的坐标,其坐标与列坐标系X 轴在列坐标系下的坐标一致,都是单位向量的标准坐标,若理解为坐标系变换,则坐标系变换前后X 轴未发生变化,可知旋转是绕X 轴进行的,观察行坐标系中Y ’、Z’坐标轴在列坐标系下的坐标可知(可作图说明),行坐标系是列坐标系绕X 轴顺时针旋转θ角度得到的,若看作针对考察向量[]Tz y x的向量变换,则是向量绕X 轴逆时针旋转θ角度。
对于后一种运算,矩阵的列向量与考察向量[]z yx间实施内积运算,有坐标系变换与向量变换两种理解。
相对于第一种运算,矩阵的行列向量集互换了角色,因此,若理解为坐标系变换,行坐标系是绕X 轴逆时针旋转θ角度得到的,若看作针对考察向量[]z yx 的向量变换,则是向量绕X 轴顺时针旋转θ角度。
5. 三维空间中给定一单位向量[]Tz yxr r r ,若要求实现绕该向量旋转角度θ的几何变换,试给出一种旋转矩阵的计算方法。
答:(1)若要围绕[]Tz yxr r r 旋转,则需要先作坐标系变换(坐标系旋转),将X 、Y 、Z 轴其中之一变换为[]Tz yxr r r ,这里选用Z 轴,然后绕新坐标系的Z ’轴旋转考察向量(三维空间中的几何图形),最后将坐标系恢复原样。
由上述分析可知,最终的旋转矩阵可有3个矩阵相乘得到,分别用于完成坐标系旋转、图形旋转、坐标系逆向旋转(恢复)。
(2)构造坐标系旋转矩阵:[]Tz yxr r r 一定是矩阵的第3行,即新坐标系的Z ’轴,X ’、Y ’可以任意,只要满足单位正交坐标系结构即可。
因此,可任意给定一单位向量[]Tzy xa a a (不等于[]Tzy xr r r即可),计算[][]Tz yxTzy xr r ra a a⨯(其中⨯表示外积),得到的结果作为新坐标系的X ’轴,记为[]Tz y x X X X''',即矩阵的第1行,然后计算[][]TzyxTz y xr r r X X X⨯''',得到的结果作为新坐标系的Y ’轴,记为[]Tz y xY Y Y ''',即矩阵的第2行。
至此,旋转矩阵构造完毕。
(3)构造图形旋转矩阵:即绕坐标系的Z ’轴旋转θ角度(若未指定旋转方向,则默认指逆时针方向),若理解为等价的坐标系变换,新(行)坐标系是旧(列)坐标系绕Z 轴顺时针旋转θ角度得到的。
矩阵第3行应为[]T100,第1、2行分别为新(行)坐标系的X ’、Y ’轴,对于他们在旧(列)坐标系下的坐标,应计算在旧(列)坐标系下将X 、Y 轴绕Z 轴顺时针旋转θ角度后在旧(列)坐标系(X 、Y 、Z )下的坐标。
可直接写出,X ’为[]T 0sin cos θθ-、Y ’为[]T0cos sin θθ(若不熟练,可先作图,然后得到坐标)。
(4)构造坐标系逆向旋转矩阵:此矩阵为第(2)步中的逆变换,单位正交阵(旋转阵)的逆矩阵等价于转置矩阵(参考第2题),因此,将(1)中所得矩阵转置即得所需的逆向旋转矩阵。
最终矩阵可写为:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡z y x z y x z y x z z z y y yx x x r r r Y Y Y X X X r Y X r Y X r Y X ''''''100cos sin 0sin cos ''''''θθθθ6. 若要在三维空间实现平移变换,x 、y 、z 方向上的平移量分别为5、3、9,则相应的变换矩阵应如何表示?答:平移变换需要使用齐次坐标系,具体表达如下:⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡10009100301050017. 三维空间中有如下组合变换:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-z y x 100cos sin 0sin cos 100020003100cos sin 0sin cos αααααααα 试解释该变换对任意向量[]Tz y x 实施的几何变换是怎样的。