几何图形流水线:共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 )的转换。
5. 根据各小题对坐标系变换的要求,计算相应的变换矩阵。
(1) 局部坐标系(Local Coordinate System )的基向量L L X O 、L L Y O 、L L Z O 在世界坐标系(World Coordinate System )下的世界坐标分别为[]01-、[]001、[]10,局部坐标系的原点的世界坐标为[]713,则由局部坐标系转换到世界坐标系的矩阵应是怎样的?答:1)局部坐标系是转换前坐标系,世界坐标系是转换后坐标系,因此,用世界坐标描述的局部坐标系基向量应作为转换矩阵的列向量(旧为列,新为行); 2)需要使用齐次坐标变换(4*4矩阵),因为存在平移变换; 3)平移量位于矩阵第4列,应取局部坐标系原点的世界坐标;⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡-10710010013010 (2) 视景(观察)坐标系(Viewing Coordinate System )的基向量V V X O 、V V Y O 、V V Z O 在世界坐标系下的世界坐标分别为[]001、[]22220、[]22220-,视景坐标系原点(光心)的世界坐标为[]10,则由世界坐标系转换到视景坐标系的矩阵是怎样的?答:1)世界坐标系为转换前坐标系,视景坐标系为转换后坐标系,因此用世界坐标描述的视景坐标系基向量应作为转换矩阵的行向量;旋转子矩阵如下:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-2222022220001 2)平移量应使用世界坐标系的原点在视景坐标,并取相反数; 平移量计算如下:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--2222010022220222200013)需使用齐次坐标系;最终的变换矩阵如下:⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡---10222222022222200001(3) 第(2)小题中条件不变,由视景坐标系转换到世界坐标系的矩阵是怎样的?答:1)对第(2)小题所得矩阵,将左上角3*3的旋转子矩阵转置即得到此子矩阵的逆矩阵;2)平移量应使用视景坐标系原点的世界坐标; 3)最终的变换矩阵如下:⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡-1012222002222000016. 计算一个3*3的齐次矩阵(需解释计算过程),在二维场景中完成如下图所示的几何变换。
答:1)提示:先观察其中有哪些变换,再考虑各变换间的顺序,大致的变换顺序如下:图形中心沿X 轴平移至原点、绕原点顺时针旋转90度、沿Y 轴平移; 2)矩阵序列如下:(变换顺序从右至左)⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡1001020110001010102100017. 对于glulookat 函数,按要求回答下列问题。
(1) 简述glulookat 函数的功能,以及入口参数的含义。
答:1)glulookat 函数用于指定虚拟摄像机的外部参数,即完成摄像机在世界坐标系下的放置,其入口参数由三个三维向量构成。
2)第一个向量(Eye Position )是摄像机光心的世界坐标;3)第二个向量(Center Point )是摄像机观测中心的世界坐标,光心指向观测中心形成的方向即为拍摄方向,也是视景坐标系的-Z 轴方向;Y4)第三个向量(Up Vector )与视景坐标系的X 轴正交,与视景坐标系Y 轴的夹角为锐角,该向量用世界坐标描述,用于指示成像平面内上边界的方向; (2) 如果指定如下调用:);2121,31,31,31,7,2,5(-glulookat则由世界坐标系转换到视景坐标系的4*4齐次矩阵是怎样的?答:1)由Eye Position 与Center 计算Look Vector :[]T731231531--- ,其模为()()()222731231531-+-+-=r ,下文中简化用r 表示;2)视景坐标系Z 轴单位向量为[]Tzy xTZ Z Z r rr=⎥⎦⎤⎢⎣⎡---7312315313)视景坐标系X 轴的单位向量由Z 轴单位向量与Up Vector 求外积得到:[]()()()()[]Tzyx TTTTXXXrr rrr r r r r r k j i r r r =⎥⎦⎤⎢⎣⎡---=⎥⎦⎤⎢⎣⎡--------=----=-⨯⎥⎦⎤⎢⎣⎡---2613226261231215312173121231212102173123153121021731231531注:行列式中i 、j 、k 分别表示世界坐标系三个坐标轴的单位向量。
验算方法:此运算结果应与Z 轴单位向量、Up Vector 都正交,求内积为0即为正确。
(假定运算结果已单位化)4)视景坐标系Y 轴的单位向量由X 、Z 轴单位向量求外积得到:[]Tzy xTTY Y Y rrrr rr kjir rrr r r =------=⎥⎦⎤⎢⎣⎡---⨯⎥⎦⎤⎢⎣⎡---73123153126132262617312315312613226261注:最终运算结果较复杂,未直接给出,重点掌握其中的运算原理,而非运算结果。
(假定运算结果已单位化) 5)最终的变换矩阵如下:[][][]⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡---⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡---⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡---10725725725z yxz yx z yxzy x z yxzyx Z ZZZ ZZ Y Y Y Y Y Y X XXXXX8. 对于gluperspecitve 函数,按要求回答下列问题。
(1) 简述gluperspecitve 函数的功能,以及入口参数的含义。
答:1)gluperspective 函数用于指定虚拟摄像机的内部参数,即在视景坐标系下设置视景体的形状,该函数共有4个入口参数。
2)第2个入口参数是成像平面横向边界长度与纵向边界长度之比,它决定水平视张角与垂直视张角间的比例。
调节此参数时,垂直视张角不变,水平视张角发生相应变化;3)第1个入口参数是垂直视张角,调节此参数,会引起视景体垂直视张角发生变化,为使水平、垂直视张角的比例保持不变,水平视张角同时根据横纵边界长度比发生相应变化;4)第3个入口参数为最近成像距离,如果某图元与光心间的距离小于此阈值,则被裁剪,不能投影成像;5)第4个入口参数为最远成像距离,如果某图元与光心间的距离大于此阈值,则被裁剪,不能投影成像;(2) 如果指定如下调用:);95020260(tive gluperspec则视景坐标系下的透视投影矩阵是怎样的?答:1)垂直视张角与焦距间的关系如下图所示:(此点为补充提示,与题目要求无关,不计分)即221'Htg d θ=2)横纵边界长度比对成像的影响如下图所示:(此点为补充提示,与题目要求无关,不计分)即经透视投影后,任意横纵边界长度比的成像平面内所成之像都会被映射到一个横纵比为1:1的归一化成像平面中,若横纵比大于1,则归一化后,图形横向出现压缩现象,若横纵比小于1,则归一化后,图形横向出现拉伸现象;3)最终的透视投影矩阵如下:⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡-022000100001000021'Htgθ注:此矩阵中没有旋转、放缩,因为透视投影变换假定是在视景坐标系下完成的。
9. 对于虚拟摄像机参数,按要求回答下列问题。
(1) 虚拟摄像机的外部参数(由glulookat 指定)与内部参数(由gluperspective指定)会相互影响吗?答:虚拟摄像机外部参数是指摄像机的放置,包括光心位置、拍摄方向、成像平面内边界方向等参数;内部参数是指摄像机的内部结构,即视景体的形状,可以归纳为垂直视张角与横纵边界长度比。
摄像机如何放置并不会影响其内部结构,反之亦然。
因此两种参数相互独立,不会相互影响。
(2) 简述视景体的概念。