《计算机图形学基础》第一次作业参考答案

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《计算机图形学基础》第一次作业参考答案

一、名词解释

1、计算机图形学:是使用计算机通过算法和程序在显示设备上构造出图形来,是真实物体或虚构物体的图形综合技术。

2、图像处理:是景物或图象的分析技术,它所研究的是计算机图形学的逆过程。包括图象增强、模式识别、景物分析、计算机视觉等,并研究如何从图象中提取二维或三维物体的模型。

3、逐点比较法:这是绘图仪经常采用的一种方法,就是在绘图过程中,绘图笔每画一笔,就与规定图形进行比较,然后决定下一步的走向,用步步逼近的方法画出规定的图形。

4、造型技术:要在计算机中构造三维物体的一幅图像,首先必须在计算机中构造出该物体的模型,这一模型是由一批几何数据及数据之间的拓朴关系来表示,这就是造型技术。

二、简答

1、计算机图形系统的组成包括哪些?

答:计算机图形系统由硬件和软件两部分组成,硬件包括:主计算机、图形显示器以及I/O交互工具和存储设备;软件包括操作系统、高级语言、图形软件和应用软件。

现代计算机图形系统与一般计算机系统最主要的差别是具有图形的输入、输出设备以及必要的交互工具,在速度和存储容量上具有较高的要求。另外,人也是这个系统的组成部分。

2、简述图形软件的组成。

答:图形软件系统应该具有良好的结构,要有合理的层次结构的模块结构,以便于设计、维护和调试。

1、零级图形软件:是最底层的软件,主要解决图形设备与主机的通讯、接口等问题,又称设备驱动程序,是一些最基本的输入、输出子程序,要求程序质量高,它是面向系统的,而不是面向用户的。

2、一级图形软件:又称基本子程序,包括生成基本图形元素,对设备进行管理的各程序模块,既面向系统又面向用户。

3、二级图形软件:也称功能子程序,是在一级图形软件基础上编制的,其主要任务是建立图形数据结构,定义、修改和输出图形;以及建立各图形设备之间的联系,要具有较强的交互功能,它是面向用户的。(以上三级通常称为支撑软件)

4、三级图形软件:是为解决某种应用问题的图形软件,是整个应用软件的一部分,通常由用户编写或与设计者一起编写。

三、算法实现

写出Bresenham方法生成直线的C语言算法。

答案:

int bres_line(int x1,int y1,int x2,int y2,int color)

{

int oldcolor,itag;

int dx,dy,tx,ty,inc1,inc2,d,curx,cury;

oldcolor=setcolor(color);

setpixel(x1,y1);

if(x1==x2&&y1==y2)

{setcolor(oldcolor);return(1);}

itag=0;

dx=abs(x2-x1);dy=abs(y2-y1);

if(dx

{itag=1;iswap(&x1,&y1);iswap(&x2,&y2);iswap(&dx,&dy);} tx=(x2-x1)>0?1:-1;

ty=(y2-y1)>0?1:-1;

curx=x1;cury=y1;

inc1=2*dy;inc2=2*(dy-dx);

d=inc1-dx;

while(curx!=x2)

{if(d<0){d+=inc1;}

else{cury+=ty;d+=inc2;}

if(itag) setpixel(cury,curx);

else setpixel(curx,cury);

curx+=tx;

}

setcolor(oldcolor);

return(0);

}

void iswap(int *a,int *b)

{int tmp; tmp=*a;*a=*b;*b=tmp;}

相关文档
最新文档