ImageVerifierCode 换一换
格式:DOCX , 页数:79 ,大小:421.33KB ,
资源ID:18676950      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18676950.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算机图形学教程课后习题参考答案Word文件下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

计算机图形学教程课后习题参考答案Word文件下载.docx

1、8、简述三维图形生成和输出的流水线?见课本P13页1.5.6.节。9、向量图形和点阵图形之间的区别有哪些? 答:通过矢量法产生的图形称为矢量图形或者向量图形,用描点法产生的图形称为点阵图形。向量图形区别点阵图形的特点在于描述图形几何形状的数学模型及依据此模型生成几何图形的计算机命令。向量图形由各个基本图形构成,这就要求各个基本图形有各自独立的信息。如果用点阵图形来表示一个向量图形,构成向量图形的某个基本图形(如直线段、圆弧等)的所有点应有一个信息。因此,在描述一个基本图形时,同时要描述其相应的信息。向量图形最基本的优点是它本身是由精确的数据给出,所以可以充分利用各种输出图形设备的分辨率尽可能精

2、确地输出图形。也正因为如此,向量图形的尺寸可以任意变化而不损失图形显示的质量。但是向量图形仅适合于描绘简单图形,而点阵图形可以描绘绚烂多彩的复杂图形。10、什么是虚拟现实技术和可视化技术?虚拟现实技术:利用计算机生成一种模拟环境,通过多种传感器和设备使用户“投入”到该环境中,实现用户和该环境直接进行交互的技术。例如模拟飞机驾驶舱。可视化技术:通过对空间数据场构造中间几何因素,或用图形绘制技术在屏幕上产生二维图像。例如分子模型构造。第二章1、计算机图形系统有什么特点?有哪些主要功能?课本2.1.1的图22、计算机图形系统有哪几种?各有什么特点?一种分类方法:交互式图形系统允许操作者以某种方式(对

3、话方式或命令方式)来控制和操作图形生成过程,使得图形可以边生成、边显示、边修改,直至符合要求为止。而被动式绘图系统,图形在生成过程中,操作者无法对图形进行实时操作和控制,不具备交互功能,只提供各种图形命令或图形程序库,通过编程获得所需图形。另一种分类方法:见课本2.1.3节,分为脱机绘图系统、联机绘图系统和交互式绘图系统。3、阴极射线管由哪些部分组成?它们的功能分别是什么?CRT由四部分组成:电子枪、聚焦系统、偏转系统和荧光屏,这四部分都在真空管内。电子枪由灯丝、阴极和控制栅极组成。灯丝加热阴极,阴极表面向外发射自由电子,控制栅控制自由电子是否向荧光屏发出,若允许电子通过,形成的电子流在到达屏

4、幕的途中,被聚焦系统(电子透镜)聚焦成很窄的电子束,由偏转系统产生电子束的偏转电场(或磁场),使电子束左右、上下偏转,从而控制荧光屏上光点上下、左右运动,使得在指定时刻在屏幕指定位置上产生亮点。4、光栅扫描显示器由哪些部分组成?见课本P21页图2.9所展示的组成框图,其后有各部分的介绍及功能。5、对于分辨率为1024*1024的光栅系统,若每一像素用8位和12位二进制来表示存储信息,各需多大光栅存储容量以及显存?每一屏幕最多能显示多少颜色?若R,G,B灰度都占8位,其显示颜色的总数是多少?解:1)每一像素用8位二进制来表示存储信息,所需容量为1024*1024*1=(Byte)=1MB彩色素:

5、=256(项)2)若每一像素用12位二进制表示存储信息,所需容量为:1024*1024*1.5=1.5*(Byte) =1.5MB (由于显示卡的显存是按2的指数次倍增长的,因此所需显存为2M)=4096( 项)3)颜色总数:*=(种)6、对于19英寸显示器,若X和Y两方向的分辨率相等,即1024*1024,那么每个像素点的直径是多少? =0.33(mm)或=0.013(英寸)7、对于分辨率为1024768的光栅系统,若调色板设置为真彩色32位,此时需要显示一个三维图形,各需要多大光栅存储容量以及显存?调色板为真彩色32位,即意味着像素值的位长为32所需容量为1024*768*32/8*3=9

6、MB 因此所需要的显存为16M8、GKS有哪三种坐标系?它们有什么不同?试写出它们之间对应关系?GKS有3种不同的坐标系。第一种是供应用程序使用的实际世界坐标系统(World Coordinate System,简称 WC);第二种是GKS内部使用的规范设备坐标系(Normalized Device Coordinate,简称NDC),它的取值范围为0,1,这是一种既与设备无关也与应用无关的坐标系;第三种是各工作站物理设备使用的设备坐标系(Device Coordinate System,简称DC)。GKS只支持二维对象的图形处理,因此上述3个坐标系都是二维坐标系。详见课本图3.28的描述。9

7、、GKS中输入设备有哪6种逻辑功能?请各举出对应的物理设备。见课本2.4.5.节。10、当前主流的图形软件有哪些?见课本2.6.3节。第三章1、编写画一正方形程序,并在其中用不同的颜色画15个正方形,每一个都比前一个小。#include“graphics.h”#include“conio.h”void main()int i,color=0,ls=0;int j=700;int gdriver=VGA;int gmode=VGAHI;initgraph(&gdriver,&gmode,”);3-1批改说明;必须至少包含graphics.hinitgraph(&gmode,);必须包含15个正方

8、形,一般用for循环,也可能用到while等。注意查看是否是正方形(i, i, j, j)即:x2-x1=y2-y1注意查看颜色是否有15种:也就是说gdriver=CGA肯定是错的,可以为DETECT、VGA、EGA。setbkcolor(15);for(i=0;i0;i-,j-) setfillstyle(EMPTY_FILL,0); pieslice(387+j,290,start,end,37); pieslice(525+j,290,start,end,37); start+=40; end+=40; delay(5); /处于运动状态的自行车车轮的轴线的绘制 putimage(i-

9、1,200,w,COPY_PUT); line(2,327,562,327); delay(10); /自行车行驶动画的实现 for(i=0;10; pieslice(37,290,start,end,37); pieslice(175,290,start,end,37); /处于静止状态的自行车车轮的轴线的绘制 getch(); restorecrtmode(); closegraph();5、试自行设计一个美术图案,并且用程序实现。 (略)第四章1. 为什么说直线生成算法是二维图形生成技术的基础?无论什么复杂图形,它们都是由直线段和曲线段组成(三维图形经投影后最终变成了二维图形),而图形设

10、备显示曲线段时,最终还是将曲线段转化成一系列直线段逼近表示的。因此,所有图形都可以看成是由直线段组成的。可参考课本图4.1。2. 根据DDA画直线算法,遍一程序求(0,0)到(4,12)和(0,0,)到(12,4)的直线#include “graphics.h” #include “math.h”void DDA_Line(int x1,int y1,int x2,int y2)float increx,increy,x,y,length;int i;if(abs(x2-x1)abs(y2-y1)length=abs(x2-x1);elselength=abs(y2-y1);increx=(x

11、2-x1)/length;increy=(y2-y1)/length;x=x1;y=y1;for(i=1;=length;putpixel(x,y,1);x=x+increx;y=y+increy; int x1=0,y1=0,x2=4,y2=12;int x3=12,y3=4;DDA_Line(x1,y1,x2,y2);DDA_Line(x1,y1,x3,y3);3. 根据逐点比较法编一程序画一段圆弧,其圆心为(0,0),圆弧两点为A(5,0)、B(0,5)方法1:顺4象限#include void ZDBJ_ARC(float x0,float y0,float x1,float y1,f

12、loat x2,float y2); int gdriver=CGA,mode=CGAC0; ZDBJ_ARC(0,0,25,0,0,25); getch();void ZDBJ_ARC(float x0,float y0,float x1,float y1,float x2,float y2) float f=0.0,F; float dx=1,dy=1; while(abs(x1-x2)1) if(f=0) x1=x1-dx; y1=y1; putpixel(x1,y1,1); f=f-2*dx*(x1-x0)+dx*dx; else x1=x1; y1=y1+dy; f=f+2*dy*(

13、y1-y0)+dy*dy;方法2:逆4象限 ZDBJ_ARC(0,0,0,25,25,0); while(abs(y1-y2)0) y1=y1-dy; f=f-2*dy*abs(y1-y0)+dy*dy; x1=x1+dx; f=f+2*dx*abs(x1-x0)+dx*dx;方法3:顺1象限#include“graphics.h” /省略了图形初始化的步骤int x1=5,y1=0,x2=0,y2=5;int x0=0,y0=0;int R=sqrt(x2-x0)* (x2-x0)+(y2-y0)* (y2-y0);int dx=abs(x2-x1);int dy=abs(y2-y1);in

14、t n=dx+dy;putpixel(x2,y2,1);int f;int x=x2,y=y2;for(int i=0;n;f=(x-x0)* (x-x0)+(y-y0)* (y-y0)-R*R;if(fputpixel(x,y-,1);putpixel(x+,y,1); /另一种做法是采用课本P97页表4.2的公式4. 编一程序用角度DDA法画一圆 /以圆点为圆心,半径为20的圆#include “graphics.h” /省略了图形初始化的步骤#include “conio.h”int x0=0,y0=0,R=20;int x1,y1,xi,yi;int N=R*8;float a=2*3

15、.14/N;x1=20,y1=0;for(int i=1;=N;xi=x0+R*cos(i*a)yi=y0+R*sin(i*a);line(x1,y1,xi,yi);x1=xi;y1=yi;5. 如果线段端点坐标值不是整数,采用DDA算法产生的直线和将端点坐标值先取整后再用Bressenham算法产生的直线是否完全相同?为什么?能否扩充整数Bressenham算法使之能够处理当线段端点坐标值不是整数的情况。不相同。因为DDA算法总是选择x或者y中的较大者作为步进的方向,不失一般性,假设选择x方向,则x方向每前进一个像素点,y方向前进的像素点个数应该在0, 1区间,但是由于采用了(向上或者向下或

16、者四舍五入)取整运算,必然会导致某些像素点偏在了真实直线的一侧。而Bressenham算法每一步都会根据实际直线与网格的距离来决定下一个像素点的选择,因此所选像素点更加贴近于真实的直线。可以扩充整数Bressenham算法使之能够处理当线段端点坐标值不是整数的情况。6. 若采用Bresenham算法实现画圆,写出算法实现的具体流程(包括判别公式推导等等)。给定圆心在原点,半径为R的圆,其方程为x2+y2=R2,构造函数F(x, y)= x2+y2-R2,对于圆上的点,有F(x, y)=0;对于圆外的点,F(x, y)0;而对于圆内的点,F(x, y)0。此处仅考虑如图所示的第一象限内x的1/8

17、圆弧,此时中点Bresenham画圆算法要从(0, R)到()顺时针地确定最佳逼近于该圆弧的像素序列。由于最大位移方向为x,因此其基本原理:每次x方向上走一步,而y方向上或减1或减0。假定当前与圆弧最近者已确定,为P(xi, yi),那么下一候选像素只能是正右方的Pu(xi +1, yi)和右下方的Pd(xi +1, yi-1)。到底选取哪一个候选点依旧用中点进行判别。假设M是Pu和Pd的中点,即有M(xi +1, yi-0.5),则当F(xM, yM)0,M在圆外,说明Pd离圆弧更近;当F(xM, yM)=0,则约定取Pd。构造判别式di=F(xM, yM)= F(xi +1, yi-0.5

18、)=(xi +1)2+(yi-0.5)2- R2(1) 当di0,取Pu(xi +1, yi),计算下一步的的判别式 di+1=F(xu, yu)= F(xi +2, yi-0.5)= (xi +2)2+(yi-0.5)2- R2= di+2xi+3 所以沿正右方向,di的增量为2xi+3。(2) 当di0,取Pd(xi +1, yi+1),计算下一步的的判别式 di+1=F(xd, yd)= F(xi +2, yi-1.5)= (xi +2)2+(yi-1.5)2- R2= di+2(xi-yi)+5所以沿右下方向,di的增量为2(xi-yi)+5。显然,所绘制圆弧段的第一个像素为P0(0, R),因此判别式d0的初始值为1.25-R,可以令d=d-0.25来摆脱小数运算,则判别式di0对应于di-0.25,由于d始终是整数,di-0.25等价于di7. 已知4个型值点(1.0,2.0),(2.5,3.5),(4.0,4.5),(5.0,4.0),求各段三次样条曲线。Si(X)(i=1,2,3),设边界条件为抛物线端m1=x2-x1=1.5,

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1