计算机图形学

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

1、列举三个你接触过的计算机图形学的应用实例。

答:(1)计算机辅助设计(CAD):如使用Protel、AutoCAD等软件绘图;

(2)计算机动画:如科幻电影或广告中的特技镜头;

(3)人机交互界面:如Windows系统

2、试述CRT的基本工作原理。

答:当电子枪的阴极被内部灯丝加热时发射电子束,此电子束穿过控制栅由聚焦系统聚焦后穿过偏转系统打在荧光屏上。荧光屏上有一层荧光物质,当电子束打中荧光屏时,可产生一个小的光点。因为荧光物质发光时间十分短暂,要使荧光屏上的画面稳定,需要控制光点。方法之一是使电子束很快地重复射向同一点,以此重画画面

3、设有两个显示分辨率分别为640×480及1280×1024的光栅扫描系统,如果每个象素12位,这两个系统各需多大的帧缓存?可显示的颜色数有多少种?如果每个象素为24位情况又如何?

答:(1)每个象素12位时:

可显示颜色数=212=4096(种)

第一个系统所需缓存大小=640×480×12/8

=460800(B)=450(KB)

第二个系统所需缓存大小=1280×1024×12/8

=1966080(B)=1920(KB)=1.875(MB)

(2)每个象素24位时:

可显示颜色数=224=16777216(种)

第一个系统所需缓存大小=640×480×24/8

=921600(B)=900(KB)

第二个系统所需缓存大小=1280×1024×24/8

=3932160(B)=3840(KB)=3.75(MB)

第二次作业

1、考虑象限间的对称性而扩充

Bresenham算法,使之能生成任何斜率的直线。

解答:算法如下(暂不考虑水平线、垂直线):

Void Bres_line(int xa,int xb,int ya,int yb)

{

int dx=abs(xa-xb), dy=abs(ya-yb);

int p, flag = ((xa-xb) * (ya-yb) > 0) ? 1 : -1;

/*flag表示斜率是否为正*/

int d1, d2;

int i, j, End;

if (dx>= dy){

p = 2dy-dx;

d1 = 2*dy; d2 = 2*(dy-dx);

if((flag==1 && xa>xb) || (flag==-1 && xa<xb)){

i = xb; j = yb;

End = xa;

}

else{

i = xa; j = ya;

End = xb;

}

}/*斜率|k|<=1时*/

else{

p = 2*dx-dy;

d1 = 2*dx; d2 = 2*(dx-dy);

if((flag==1 && ya>yb) || (flag==-1 && ya<yb)){

i = yb; j = xb;

End = ya;

}

else{

i = ya; j = xa;

End = yb;

}

}/*斜率|k|>1时*/

setPixel(i, j);

while(i<End){

if (flag == 1) i++;

else i--;

if (p<0) p += d1;

else{

j++;

p += d2;

}

setPixel(i, j);

}

}

2、写出中点椭圆算法的实现步骤。

解答:步骤如下:

(1)设初值:已知椭圆长半轴为a,短半轴为b;设x=0,y=b,d=b2+a2(-b+0.25)。

(2)测试上半部分终止条件:b2(x+1)>a2 (y-0.5),如满足,则转(6)。

(3)根据对称性,作出椭圆上四个点的位置:

setPixel(x,y); setPixel(-x,y);

setPixel(x,-y); setPixel(-x,-y);

(4)计算下一象素的位置。

如果d>=0,则d=d+b2(2x+3)+a2(-2y+2), x=x+1,y=y-1

如果d<0,则d=d+b2(2x+3),x=x+1,y=y

(5)转步骤(2)

(6)用上半部分得到的最后的点(x,y),计算初值:d=b2(x+0.5)2+a2(y-1)2-a2b2

(7)测试下半部分终止条件:y>=0,如满足,则终止程序。

(8)根据对称性作出椭圆上四个点的位置。

9)计算下一象素点。

如果d>=0,则d=d+a2(-2y+3),x=x,y=y-1

如果d<0,则d=d+b2(2x+2)+a2(-2y+3), x=x+1,y=y-1

(10)转步骤(7)。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航