资源描述:
《图形学教案turbocppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、安徽师范大学数学计算机科学学院计算机图形学补充TurboC的图形功能图形显示器的两种显示模式:文本模式和图形模式在文本方式下,屏幕上可显示的最小单位是字符。文本方式设置不同,可显示的字符的列数、行数也不相同(在一般缺省方式下,为25行、80列),颜色也有所区别。在图形方式下,屏幕上可以控制的单位叫做像素,它是组成图形的基本元素,一般也成为“点”。分辨率越高,屏幕上包含的像素个数就越多,显示的图形越细,质量就越好。屏幕上每个像素的位置可以用该像素在屏幕坐标系中的坐标进行描述。安徽师范大学数学计算机科学学院计算机图形学屏幕坐标系是一个左手系
2、,屏幕左上角为坐标系的原点(0,0),水平方向为X轴,自左向右;垂直方向为Y轴,自上而下。坐标范围与显示器的分辨率有关,例如,当分辨率为640×480时,左上角坐标为(0,0),右下角坐标为(639,479)。有了计算机基本图形设备,再配上高级语言(如TruboC),就可以进行图形的绘制工作。(0,0)XY安徽师范大学数学计算机科学学院计算机图形学一、图形初始化及应用设置函数因为在文本方式下不能显示图形,所有的图形函数均不能操作,因此在使用图形函数进行绘图之前,必须将显示适配器设置为图形模式,即通常所说的“图形模式初始化”。在绘图结束之
3、后,又要让适配器的设置回到文本模式。TurboC提供了14个函数,进行图形系统的控制和管理工作。最常见的两个函数是:安徽师范大学数学计算机科学学院计算机图形学1、初始化图形系统函数voidfarinitgraph(gdrive,gmode,gpath)intfar*gdrive,*gmode,*gpath;gdrive:图形驱动器代号,gmode:图形模式代号,gpath:图形驱动程序路径。如:常用方式:intgdrive,gmode;gdrive=DETECT;initgraph(&gdrive,&gmode,“d:\tc”);2、
4、释放图形系统所分配的内存、恢复屏幕原显示模式函数voidfarclosegraph(void)调用形式:closegraph();安徽师范大学数学计算机科学学院计算机图形学二、屏幕管理函数TurboC提供了11个函数,用于对屏幕和视区的控制和管理。1、擦除整个图形屏幕,并将cp(当前位置)移到原点(0,0)voidfarcleardevice(void)2、建立视区voidsetviewport(x1,y1,x2,y2)安徽师范大学数学计算机科学学院计算机图形学安徽师范大学数学计算机科学学院计算机图形学3、清除视图区清除视图区用函数cl
5、earviewport。它的作用是清除掉当前的视图区,将当前点的位置重新设置为屏幕左上角(0,0)。其调用格式为:clearviewport();安徽师范大学数学计算机科学学院计算机图形学三、常用的作图函数1、画点函数putpixel(intx,inty,intcolor)2、以当前颜色、线型、宽度画直线函数voidline(x0,y0,x,y)intx0,y0,x,y;从(x0,y0)画到(x,y)。3、以当前颜色、线型、宽度画直线函数voidfarlineto(intx,inty)从当前点(cp)画到(x,y)。安徽师范大学数学计算
6、机科学学院计算机图形学4、得到当前位置坐标函数(1)intfargetx(void)返回x坐标(2)intfargety(void)返回y坐标5、以当前颜色、线型、线宽画一矩形函数voidfarrectangle(left,top,right,bottom)intleft,top,right,bottom;安徽师范大学数学计算机科学学院计算机图形学6、以当前填充模式、填充颜色画一矩形函数voidfarbar(left,top,right,bottom)intleft,top,right,bottom;7、以当前填充模式、填充颜色画一多边
7、形函数voidfarfillpoly(intnum,inta[])num:顶点数;a[]:存放各顶点坐标,共num*2个数;若是封闭的,则有num+1个点,有(num+1)*2个数。安徽师范大学数学计算机科学学院计算机图形学8、以当前颜色、线型、线宽画圆函数voidfarcircle(intx,inty,intradius)x,y:圆心坐标;radius:半径。9、以当前颜色、线型、线宽画椭圆弧函数voidfarellipse(x,y,stangle,endangle,xradius,yradius)intx,y,stangle,end
8、angle,xradius,yradius;x,y:椭圆中心坐标;endangle,endangle:画椭圆的起始角和终止角。若endangle=0,endangle=360,则画一完整椭圆。xradius