中南大学计算机图形学作业答案

上传人:公**** 文档编号:473459606 上传时间:2023-04-15 格式:DOC 页数:18 大小:391KB
返回 下载 相关 举报
中南大学计算机图形学作业答案_第1页
第1页 / 共18页
中南大学计算机图形学作业答案_第2页
第2页 / 共18页
中南大学计算机图形学作业答案_第3页
第3页 / 共18页
中南大学计算机图形学作业答案_第4页
第4页 / 共18页
中南大学计算机图形学作业答案_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《中南大学计算机图形学作业答案》由会员分享,可在线阅读,更多相关《中南大学计算机图形学作业答案(18页珍藏版)》请在金锄头文库上搜索。

1、计算机图形学计算机图形学作业答案第一章 序论第二章 图形系统1 什么是图像的分辨率?解答:在水平和垂直方向上每单位长度(如英寸)所包含的像素点的数目。2 计算在240像素/英寸下640480图像的大小。解答:(640/240)(480/240)或者(8/3)2英寸。3 计算有512512像素的22英寸图像的分辨率。解答:512/2或256像素/英寸。第三章 二维图形生成技术1 一条直线的两个端点是(0,0)和(6,18),计算x从0变到6时y所对应的值,并画出结果。解答:由于直线的方程没有给出,所以必须找到直线的方程。下面是寻找直线方程(ymxb)的过程。首先寻找斜率:m y/x (y2y1)

2、/(x2x1) (180)/(60) 3接着b在y轴的截距可以代入方程y3xb求出 03(0)b。因此b0,所以直线方程为y3x。2 使用斜截式方程画斜率介于0和45之间的直线的步骤是什么?解答:(1) 计算dx:dxx2x1。(2) 计算dy:dyy2y1。(3) 计算m:mdy/dx。(4) 计算b: by1mx1(5) 设置左下方的端点坐标为(x,y),同时将xend设为x的最大值。如果dx 0,那么xx1、yy1和xendx2。(6) 测试整条线是否已经画完,如果x xend就停止。(7) 在当前的(x,y)坐标画一个点。(8) 增加x:xx1。(9) 根据方程ymxb计算下一个y值。

3、(10) 转到步骤(6)。3 请用伪代码程序描述使用斜截式方程画一条斜率介于45和45(即|m|1)之间的直线所需的步骤。解答:假设线段的两个端点为(x1,y1)和(x2,y2),且y1y2int x = x1, y = y1;float xf, m = (y2y1)/(x2x1), b = y1 mx1;setPixel( x, y ); /*画一个像素点*/while( y y2 )y+;xf = ( yb)/m;x = Floor( xf +0.5 );setPixel( x, y );4 请用伪代码程序描述使用DDA算法扫描转换一条斜率介于45和45(即|m|1)之间的直线所需的步骤。

4、解答:假设线段的两个端点(x1, y1)和(x2,y2),且x1x2int x = x1, y;float yf = y1, m = ( y2 y1) / ( x2x1);while( x = x2 )y = Floor( yf + 0.5 );setPixel( x, y );x+;yf = yf + m;5 使用Bresenham算法画斜率介于0和45之间的直线所需的步骤。解答:(1) 计算初始值:dx x2x1Inc2 2(dydx)dy y2y1d Inc1 dxInc1 2dy(2) 设置左下方的端点坐标为(x,y),同时将xend设为x的最大值。如果dx 0, 那么xx1、yy1和

5、xendx2。(3) 在当前的(x,y)坐标画一个点。(4) 判断整条线段是否已经画完,如果xxend就停止。(5) 计算下一像素的位置。如果dy就停止。(3) 以中心(h,k)为对称点,对当前的(x,y)坐标画8个圆上的点:plot( x + h, y + k )plot( -x + h, -y + k )plot( y+ h, x +k )plot( -y + h, -x + k )plot( -y + h, x + k )plot( y + h, -x + k )plot( -x + h, y + k )plot( x + h, -y + k )其中plot(a,b)表示以给定的参数为中

6、心画一个小块。(4) 计算下一个像素的位置。如果d 0,那么dd4x6和xx1。如果d0,那么dd4(xy)10、xx+1和yy1。(5) 转到步骤(2)。8 给定数据点P0(0,0),P1(1,2)P2(2,1)P3(3,1)P4(4,10)P5(5,5),用三次B样条插值法插值这些数据点,求出曲线,并找出定义三次B样条的节点集t0,t9。解答:m3,n5,选择节点集可以有两种方案:(1) 选择:,其余的节点按以下方式选择:故:,(2) 三次样条的另一种方案是:,其余节点按以下方式选择:,I0,,n-4故:t42,t53两种方法选择节点集,其根据是数据点沿x轴为等间距。第四章 图形的裁剪及几

7、何变换1 写出实现下述映射的规范化变换,将左下角在(1,1),右上角在(3,5)的窗口映射到(a)规范化设备的全屏幕视区;(b)左下角在(0,0),右上角在的视区。解答:(a) 窗口参数是。视区参数是。那么且(b) 窗口参数同(a)。视区参数是。那么且2 设R是左下角L(3,1),右上角为R(2,6)的矩形窗口。请写出图中的线段端点的区域编码。【图5.6P90】解答:点(x,y)的区域编码根据下面的模式设置。比特1sign(yymax)sign(y6)比特3sign(xxmax)sign(x2)比特2sign(yminy)sign(1y)比特4sign(xminx)sign(3x)此处:因此:

8、A(4,2)0001 B(1,7)1000C(1,5)0000 D(3,8)1010E(2,3)0000 F(1,2)0000G(1,2)0100 H(3,3)0010I(4,7)1001 J(2,0)1000Xmin=-3Xmax=2ymax=6ymin=1A(-4,2)F(1,2)E(-2,3)G(1,-2)H(3,3)C(-1,5)D(3,8)I(-4,2)J(-2,10)B(-1,7)xy3 求垂直线x和水平线y与四边形平行坐标轴的矩形裁剪窗口的交点。写出线段(从到)与(a)垂直线xa,(b)水平线yb的交点。解答:线段的参数方程是:(b) 因为,将它代入方程得到。然后把此值再代入方程

9、,则交点是和(c) 因为,将它代入方程得到。然后把此值再代入方程,则交点是和4 如何判断一个点P(x,y)是在由A(x1,y1)和B(x2,y2)所连接的线段的左边还是右边。解答:参见图所示。对于向量AB和AP,如果P点在AB的左边,根据两个向量叉乘的定义,向量ABAP的方向是向量K,即xy平面的正交方向。如果在右边,叉乘方向为K,此时:PBABAPKA因此:这个叉乘的方向由下式确定:5 如果是正的,P在AB的左边。如果是负的,P在AB的右边。6 根据一个对象点绕原点旋转的旋转变换,写出对应的矩阵表示。解答:根据sin和cos的三角函数定义计算得到:xr cos(),yr sin()和x r

10、cos,y r sin根据三角公式,得出:r cos() r (coscossinsin)x cosy sin和r sin() r (sincoscossin)x siny cos或x x cosy sin,y x siny cos设P =, P =且则可得出。7 (a)写出对象绕原点旋转的旋转变换矩阵。(b)设点为P(2,4),旋转后的新坐标是什么?解答:(a) 根据上题:R30(b) 新的坐标可以通过矩阵乘法得到:8 写出点Q(x,y)绕定点P(h,k)旋转的旋转变换。解答:通过三步确定:(1)平移对象,使它的旋转中心P与原点重合;(2)绕原点旋转;(3)将P平移回(h,k)。使用vh I

11、k J作为平移向量,可通过组合变换得到: 9 写出下列关于原点的缩放变换:(a)在X轴方向缩放a单位(b)在Y轴方向缩放b单位(c)同时分别在X轴方向缩放a单位,在Y轴方向缩放b单位。解答:(a) 点P(x,y)缩放变换后得到点(ax,y),可以用形式Sa,1P的矩阵表示,即:(b) 与(a)类似,可以用形式S1,b,P的矩阵表示,即(c) 在两个方向上的缩放可以通过x=ax和yby变换得到Sa,bP。写成矩阵形式有:10 写出以直线L作为反射轴的反射变换矩阵。解答:设图中所示的直线L交y轴于B(0,b),倾斜角为(与x轴夹角)。然后用已知的交换来描述整个过程:(1) 平移交点B到原点。(2)

12、 旋转使直线L跟x轴重合。(3) 关于x轴镜面对称。(4) 旋转回到原方向。(5) 将B平移回(0,b)。其交换表示为:MLTv * R* Mx * R-* T-v其中,v=bJPPxy11 矩阵被称为同时错切变换或简称错切变换。在b0的特例下叫x方向错切变换;a0时叫y方向错切变换。说明这个变换在a2和b3时对正方形A(0,0),B(1,0),C(1,1),D(0,1)进行变换的结果。解答:(d)(c)(b)(a)B(1,3)C(3,4)D(2,1)AC(1,4)B(1,3)DABADBAD(2,1)C(3,1)C(1,1)图中(a)是原始正方形,图(b)是x方向错切变换,图(c)是y方向错切

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号