图形输出1
- 格式:xls
- 大小:67.00 KB
- 文档页数:16
一、名词解释:1、计算机图形学:用计算机建立、存储、处理某个对象的模型,并根据模型产生该对象图形输出的有关理论、方法与技术,称为计算机图形学。
2、计算机图形标准:计算机图形标准是指图形系统及其相关应用程序中各界面之间进行数据传送和通信的接口标准。
3、图形消隐:计算机为了反映真实的图形,把隐藏的部分从图中消除。
4、几何变换:几何变换的基本方法是把变换矩阵作为一个算子,作用到图形一系列顶点的位置矢量,从而得到这些顶点在几何变换后的新的顶点序列,连接新的顶点序列即可得到变换后的图形。
5、计算几何:计算几何研究几何模型和数据处理的学科,讨论几何形体的计算机表示、分析和综合,研究如何方便灵活、有效地建立几何形体的数学模型以及在计算机中更好地存贮和管理这些模型数据。
6、裁剪:识别图形在指定区域内和区域外的部分的过程称为裁剪算法,简称裁剪。
7、透视投影:空间任意一点的透视投影是投影中心与空间点构成的投影线与投影平面的交点。
8、投影变换:把三维物体变为二维图形表示的变换称为投影变换。
9、走样:在光栅显示器上绘制非水平且非垂直的直线或多边形边界时,或多或少会呈现锯齿状。
这是由于直线或多边形边界在光栅显示器的对应图形都是由一系列相同亮度的离散像素构成的。
这种用离散量表示连续量引起的失真,称为走样(aliasing)。
10、反走样:用于减少和消除用离散量表示连续量引起的失真效果的技术,称为反走样。
11、窗口:世界坐标的范围是无限大的。
为了使规格化设备坐标上所显示的世界坐标系中的物体有一个合适的范围与大小,必须首先对世界坐标系指定显示范围,它通常是一个矩形,这个矩形被称为窗口。
12、视区:在规格化设备坐标系上也要指定一个矩形区域与窗口对应,显示窗口里的内容,这个矩形被称为视区。
13、坐标系统:为了描述、分析、度量几何物体的大小、形状、位置、方向以及相互之间的各种关系使用的参考框架叫做坐标系统。
15、用户坐标系:用户坐标系用户为处理自已的图形时所采用的坐标系,单位由用户自己决定。
如何在WIN-TC中或TC++3.0中把一张BMP格式的图片显示出来?下面的是<<C & C++编程实例>>随书光盘上的代码,我在TC2.0下编译通过.它是利用了抖动技术显示了8bit和24bit的位图(也就是256色和16M色位图),应该能满足你的需要.不过,我想问下,你老师教过抖动显示吗?#include <stdio.h>#include <dos.h>#include <stdio.h>#include <conio.h>#define NoError 0#define ErrorFileOpen 1#define ErrorFileType 2#define ErrorImageColor 3typedef struct tagBITMAPFILEHEADER{unsigned int bfType;unsigned long bfSize;unsigned int bfReserved1;unsigned int bfReserved2;unsigned long bfoffBits;}BITMAPFILEHEADER;typedef struct tagBITMAPINFOHEADER{unsigned long biSize;unsigned long biWidth;unsigned long biHeight;unsigned int biPlanes;unsigned int biBitCount;unsigned long biCompression;unsigned long biSizeImage;unsigned long biXPelsPerMeter;unsigned long biYPelsPerMeter;unsigned long biClrUsed;unsigned long biClrImportant;} BITMAPINFOHEADER;typedef struct tagRGBQUAD{unsigned char rgbBlue;unsigned char rgbGreen;unsigned char rgbRed;unsigned char rgbReserved;} RGBQUAD;unsigned char PalReg[17]= { 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0}; unsigned char StandardPal[48]= {0, 0, 0, 32, 0, 0, 0,32, 0, 32,32, 0, 0, 0,32, 32, 0,32, 0,32,32, 32,32, 32, 48, 48,48, 63, 0, 0, 0,63, 0, 63,63, 0, 0, 0,63, 63, 0,63, 0,63,63, 63,63,63, };unsigned char LightnessMatrix [16][16]= {{ 0,235,59,219,15,231,55,215,2,232,56,217,12,229,52,213},{128,64,187,123,143,79,183,119,130,66,184,120,140,76,180,116},{33,192,16,251,47,207,31,247,34,194,18,248,44,204,28,244},{161,97,144,80,175,111,159,95,162,98,146,82,172,108,156,92},{8,225,48,208,5,239,63,223,10,226,50,210,6,236,60,220},{136,72,176,112,133,69,191,127,138,74,178,114,134,70,188,124},{41,200,24,240,36,197,20,255,42,202,26,242,38,198,22,252},{169,105,152,88,164,100,148,84,170,106,154,90,166,102,150,86},{3,233,57,216,13,228,53,212,1,234,58,218,14,230,54,214},{131,67,185,121,141,77,181,117,129,65,186,122,142,78,182,118},{35,195,19,249,45,205,29,245,32,193,17,250,46,206,30,246},{163,99,147,83,173,109,157,93,160,96,145,81,174,110,158,94},{11,227,51,211,7,237,61,221,9,224,49,209,4,238,62,222},{139,75,179,115,135,71,189,125,137,73,177,113,132,68,190,126},{43,203,27,243,39,199,23,253,40,201,25,241,37,196,21,254},{171,107,155,91,167,103,151,87,168,104,153,89,165,101,149,85},};unsigned char ColorTable[2][2][2]= {{{0,12},{10,14}},{{9,13},{11,15}}}; unsigned char ColorMap[256][3];int ShowBmp(char *FileName);int GetColor(unsigned char R,unsigned char G, unsigned char B,int X,int Y); void SetVideoMode(unsigned char Mode);void SetPalReg(unsigned char *palReg);void SetDacReg(unsigned char *DacReg, int Color, int Count);void PutPixel(int X, int Y, unsigned char Color);/* 主函数*/void main (int argc, char *argv[]){if(argc!=2){printf("Usage:\tSHOW Filename.BMP\n");exit(1);}ShowBmp(argv[1]);}/* 根据图像文件名,读取图像内容并利用抖动技术进行显示*/ int ShowBmp(char *FileName){FILE *Fp;BITMAPFILEHEADER FileHead;BITMAPINFOHEADER InfoHead;RGBQUAD RGB;int N, W,Y,X,C,Color;unsigned char Buffer[4096];Fp=fopen(FileName,"rb");if (Fp==NULL)return(ErrorFileOpen);fread(&FileHead,sizeof(BITMAPFILEHEADER),1,Fp);if(FileHead.bfType!='BM'){fclose(Fp);return(ErrorFileType);}fread(&InfoHead,sizeof(BITMAPINFOHEADER),1,Fp);if(InfoHead.biBitCount!=8 && InfoHead.biBitCount!=24){fclose(Fp);return(ErrorImageColor);}/* 设置显示模式和显示区域*/SetVideoMode(0x12);SetPalReg(PalReg);SetDacReg(StandardPal,0,16);/* 对两种不同色彩数的图像分别进行处理*/if(InfoHead.biBitCount==8) /* 256色*/{for (N=0;N<256;N++){fread(&RGB, sizeof(RGBQUAD),1,Fp);ColorMap[N][0]=RGB.rgbRed;ColorMap[N][1]=RGB.rgbGreen;ColorMap[N][2]=RGB.rgbBlue;}W=(InfoHead.biWidth+3)/4*4;for(Y=InfoHead.biHeight-1;Y>=480;Y--)fread(Buffer,sizeof(unsigned char),W,Fp);for(;Y>0;Y--){fread(Buffer,sizeof(unsigned char),W,Fp);for (X=0;X<InfoHead.biWidth && X<640;X++){C=Buffer[X];Color=GetColor(ColorMap[C][0],ColorMap[C][1],ColorMap[C][2],X,Y); PutPixel (X,Y,Color);}}}else /* 24bits真彩色*/{W=(InfoHead.biWidth*3+3)/4*4;for(Y=InfoHead.biHeight-1;Y>639;Y--)fread(Buffer,sizeof(unsigned char),W,Fp);for(;Y>=0;Y--){fread(Buffer,sizeof(unsigned char),W,Fp);for(X=0;X<InfoHead.biWidth && X<640;X++){C=X*3;Color=GetColor(Buffer[C+2],Buffer[C+1],Buffer[C],X,Y);PutPixel(X,Y,Color);}}}getch();fclose(Fp);SetVideoMode(0x03);return(NoError);}int GetColor(unsigned char R, unsigned char G, unsigned char B, int X, int Y) {unsigned int L=LightnessMatrix[Y & 0x0F][X & 0x0F];return(ColorTable[(unsigned int)R*256/255>L][(unsigned int)G*256/255>L][(unsigned int)B*256/255>L]); }void SetVideoMode(unsigned char Mode){_AH=0x00;_AL=Mode;geninterrupt(0x10);}void SetPalReg(unsigned char *PalReg){_ES=FP_SEG((unsigned char far*)PalReg);_DX=FP_OFF((unsigned char far*)PalReg);_AX=0x1002;geninterrupt(0x10);}void SetDacReg(unsigned char *DacReg,int Color,int Count){_ES=FP_SEG((unsigned char far*)DacReg);_DX=FP_OFF((unsigned char far*)DacReg);_AX=0x1012;_BX=Color;_CX=Count;geninterrupt(0x10);}/* 在对应位置显示像素色彩*/void PutPixel(int X, int Y, unsigned char Color){_AH=0x0C;_AL=Color;_CX=X;_DX=Y;geninterrupt(0x10);}16色位图的显示文:吴进/Luckylai对于象大家常用TC的16色图形模式编程的初学者,如果能在程序里使用图片那就会方便很多了,以前在TC256上看见吴进写的《TC的16色BMP闪电显示(66k) 》的代码,发现写的的确不错,而且绝对能在TC的initgraph()初始化的BGI模式下使用。
《计算机图形学》1-8章习题解答《计算机图形学》1-4章习题解答习题11.计算机图形学的研究内容是什么?答:几何模型构造,图形生成,图形操作与处理,图形信息的存储、检索与交换,人机交互及用户接口,动画,图形输出设备与输出技术,图形标准与图形软件包的研究等。
2.计算机图形学与图像处理有何联系?有何区别?答:计算机图形学与图像处理都是用计算机来处理图形和图像,结合紧密且相互渗透,但其属于两个不同的技术领域。
计算机图形学是通过算法和程序在显示设备上构造图形,是从数据到图像的处理过程;而图像处理是对景物或图像的分析技术,是从图像到图像的处理过程。
3.简述计算机图形学的发展过程。
答:略。
(参考:教材P3)4.简述你所理解的计算机图形学的应用领域。
5.如果使用每种基色占10比特的直接编码方式表示RGB 颜色的值,每一像素有多少种可能的颜色?答:824107374110242223101010==⨯⨯6.如果每个像素的红色和蓝色都用5比特表示,绿色用6比特表示,一共用16比特表示,总共可以表示多少种颜色?答:65536222655=⨯⨯7.解释水平回扫、垂直回扫的概念。
答:水平回扫:电子束从CRT 屏幕右边缘回到屏幕左边缘的动作。
垂直回扫:电子束到达每次刷新周期末尾,从CRT 屏幕右下角回到屏幕左上角的动作。
8.为什么很多彩色打印机使用黑色颜料? 答:彩色颜料(青、品红、黄)相对来说较贵,并且在技术上很难通过多种颜色产生高质量的黑色。
9.简述随机扫描显示器和光栅扫描显示器的简单工作原理和各自的特点。
答:随机扫描显示器的工作原理:要显示的图形定义是一组画线命令,存放在刷新缓存中,由显示控制器控制电子束的偏移,周期性地按画线命令依次画出其组成线条,从而在屏幕上产生图形。
特点:其显示的图形质量好,刷新缓存中的内容可局部或动态修改,分辨率和对比度高,并且图形不会产生锯齿状线条。
光栅扫描显示器的工作原理:将CRT屏幕分成由像素构成的光栅网格,其中像素的灰度和颜色信息保存在帧缓存中。
图形化一级模拟试卷1一、概述图形化一级模拟试卷1旨在评估考生在图形化设计领域的综合能力。
本试卷涵盖了形状、颜色、布局等方面的基本知识,以及解决实际问题的能力。
本试卷不涉及敏感词或其他不良信息,请大家放心答题。
二、考试内容1、图形化基础知识(40分)本部分主要考察考生对图形化设计的基本概念和原则的掌握情况,包括形状、颜色、布局等方面的基本知识。
2、实践操作(30分)本部分主要考察考生的动手能力和实际操作能力,包括对图形化软件的基本操作和设计元素的组合运用。
21、综合应用(30分)本部分主要考察考生解决实际问题的能力,包括分析问题、提出解决方案和实施方案的能力。
三、考试形式本试卷采用闭卷、笔试形式,考试时间为180分钟。
试卷满分100分,60分为及格线。
四、考试准备考生需提前准备好2B铅笔、橡皮、尺子等必要的考试用品,并确保在考试期间保持安静,不得使用手机等通讯工具。
五、注意事项1、请考生在规定时间内到达考试地点,迟到超过15分钟将被视为放弃本次考试。
2、考生应严格遵守考试纪律,不得抄袭、作弊或协同作弊。
一经发现,将立即取消考试资格并追究相关责任。
3、请考生自行保管好个人物品,如有丢失或损坏,责任自负。
4、考试结束后,请考生将试卷和答题卡交给监考老师,不得带出考场。
六、评分标准1、图形化基础知识(40分)1、熟练掌握基本概念和原则(20分)2、对形状、颜色、布局等元素的运用自如(10分)3、了解图形化设计的基本流程和方法(10分)2、实践操作(30分)1、能够熟练运用图形化软件进行基本操作(15分)2、能够根据设计需求对元素进行组合运用(15分)3、综合应用(30分)1、分析问题准确,提出解决方案合理(15分)2、能够实施方案并解决问题(15分)计算机一级考试模拟试题一、选择题1、在计算机中,中央处理器的主要功能是:A.运算B.控制C.存储D.输出答案:B2、目前,在微机上,广泛使用______操作系统。
2013年高中数学论文图形计算器应用能力测试活动学生用ClassPad 330编制一个炮弹小游戏前一段时间在学校的触屏电脑上经常有人玩一种叫“TNT”的弹射类游戏,其基本原理就是通过模拟物理中的抛物线模型,用“炮弹”轰击对方以取胜。
虽然在这款游戏中有很多的附加元素,但基本原理比较简单。
用ClassPad 330可以编写出这样的程序,唯一的缺陷就是画面不够精美。
虽然在计算机上可以之间编制程序,但是在ClassPad 330上编程序可以在繁杂的作业之中放松,很方便。
由于我自己没有专门学过编程,所以所用的一些语法和思路都是比较原始简单的。
基本原理1.图形的输出可以用locate语句实现,如[locate 1,1,"●"]表示在(1,1)位置放置一个●图标。
这里面的坐标系是以左上角为远点,向右为x轴正方向,向下为y轴正方向建立的。
2.需要输入的参数有三个:出射高度、初速度、角度。
这个可以用input语句实现3.需要随即一个目标靶子,靶子的坐标可以用随机函数给出并限定其范围。
4.忽略空气阻力影响,炮弹的横向速度不改变,只由于重力改变纵向速度。
因此相同的时间间隔内炮弹的横坐标变换量相同。
所以可以通过for语句来不断给出炮弹的横坐标,反推炮弹的飞行时间,再通过飞行时间推炮弹的纵坐标5.由于游戏中没有单位,所以重力加速度不一定为g,且为了明显地在初始视框内体现抛物线,可以对横纵坐标进行一定的比例放大或者缩小。
程序编制一、先建立一个给定参数可以发射炮弹的程序1)打开Program应用,创建一个新的程序,程序名为"paoshe"。
2)首先测定初始视框的范围,不断用locate语句尝试,得出视框横向约为140单位,纵向约为75单位。
(在不点击resize的情况下)3)首先建立初始的炮台,炮台由上面的一个炮弹●和下面的发射架■组成。
输入:ClrTestLocate 1,73,"■"Locate 1,70, "●"pause4)输入参数,由于计算器默认设置为弧度制,而输入时角度制更为直观,所以在内部加上一个角度制转换弧度制的语句。