计算机图形学第五章

上传人:无*** 文档编号:244076549 上传时间:2024-10-02 格式:PPT 页数:15 大小:63.50KB
返回 下载 相关 举报
计算机图形学第五章_第1页
第1页 / 共15页
计算机图形学第五章_第2页
第2页 / 共15页
计算机图形学第五章_第3页
第3页 / 共15页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第五章 绘 图 程 序 设 计 方 法,5.1,Turbo C,下的图形工作方式,1.坐标原点,在图形方式下,屏幕上每个像素的显示位置用点坐标来描述。在这种坐标系中,屏幕的左上角为坐标系原点,水平方向为,X,轴,自左向右,垂直方向为,Y,轴,自上向下。,2.绝对坐标和相对坐标,绝对坐标-参考点是坐标系的原点,只能取规定范围内的正整数。,相对坐标-相对于当前点的坐标,其参考点是当前点。,x,和,y,的取值是相对于当前点在,x,方向和,y,方向的增量,这个增量可以是正,也可以是负。,3.图形显示模式,一般情况下,同一台图形显示器采用不同的图形驱动程序时可以设置成不同的分辨率和可能显示的颜色,,图形显示模式,就是指当前所采用的分辨率和所能显示的颜色。,5.2,Turbo C 2.0,中的图形函数,1.头文件,#,include,2.,图形系统管理函数,(1)图形方式的初始化,调用格式:,initgraph,(*,gdriver,,*,gmode,,*path);,功 能:,装入一个图形驱动程序来初始化图形系统,并将,系统置为图形模式。,参 数:,gdriver,-,是一个整形值,用来指定要装入的图形,驱动程序。,gmode,-,是一个整形值,用来设置图形显示模式。,这两个参数实际上都是整形指针,调用时应加上地址运算符。通常可采用,DETECT,模式,由系统自动对硬件进行检测,并把图形显示模式设置为检测到的图形驱动程序的最高分辨率。,path,-,是一个字符串,用来指明图形驱动程序所在的路径。,如果驱动程序就在用户当前目录下,则该参数可以,为空字符串,否则应给出具体的路径名。,例如:,int gdriver,=DETECT,gmode,;,initgraph,(&,gdriver,&,gmode,c:,tc,);,(2),图形方式的关闭,调用格式:,closegraph,();,功 能:,释放所有图形系统分配的存储区,,,关闭图形系统,返回文本方式。,3.属性控制函数,(1),设置背景色,调用格式:,setbkcolor,(color);,功 能:,设置绘图时的背景颜色。,参 数:,color-,-,整型值,代表所取的颜色。可以有16种不,同的颜色供选择。,(2),设置前景色,调用格式:,setcolor,(color);,功 能:,设置绘图时的前景颜色,即绘图的颜色。,参 数:,color,-,整型值,代表所取的颜色。可以有16种不同的颜色供选择。,(3)设置线型,调用格式:,setlinestyle,(sty,pat,b);,功 能:,设置当前绘图时所用的线型和线宽(仅对直线有效)。,参 数:,sty,-,整型值,定义所画直线的类型,可分为以,下五种:,0-实线(缺省值)、1-点线、2-中心线、,3-虚线、4-用户自定义,pat-,-,无符号整型值,用于用户自定义线型时,通,过该参数用一个16位二进制码耒定义线型,,其中的每一个二进制位表示一个象素点的状,态,1为显示,0为不显示。若,sty,为系统定义,的类型时,该参数取值为0。,b,-,整型值,定义所画直线的粗细,以象素为单位。,可分为以下两种:,1-1个象素宽(缺省值)、3-3个象素宽,4.绘图函数,(1)移动画笔位置(按绝对坐标),调用格式:,moveto,(x,y);,功 能,:移动画笔到当前点的位置。,参 数:,x、y,-,整型值,指示当前点位置的坐标。,(2),移动画笔位置(按相对坐标),调用格式:,moverel,(,dx,dy,);,功 能:,同上。,参 数:,dx,、,dy,-,整型值,指示当前点位置相对于,前一点位置的增量。,(3)画象素点,调用格式:,putpixel,(x,y,pixelcolor,);,功 能:,在指定坐标处画一象素点。,参 数:,x、y-,-,整型值,指定点的坐标。,pixelcolor,-,-,象素点的颜色。,(4),画直线,调用格式:,line(x1,y1,x2,y2);,功 能:,在指定的二点间画一条直线段。,参 数:,x1、y1、x2、y2,-,整型值,分别为直线段二个,端点的坐标。,(5),画直线,调用格式:,lineto,(x,y);,功 能:,从当前点到指定点之间画一条直线段。,参 数:,x、y-,-,整型值,指定点的坐标。,(6),画直线,调用格式:,linerel,(,dx,dy,);,功 能:,从当前点到指定点之间画一条直线段。,参 数:,dx,、,dy,-,整型值,指示指定点位置相对于当,前点位置的增量。,(7),画圆,调用格式:,circle(x,y,r);,功 能:,以指定圆心、半径的方式画圆。,参 数:,x、y、r,-,整型值,(,x,y),为圆心坐标,,r,为圆,的半径。,(8),画圆弧,调用格式:,arc(x,y,angs,ange,r);,功 能:,画一段圆弧。,参 数:,x、y,-,整型值,为圆弧所在圆的圆心坐标。,angs,、,ange,-,整型值,分别为圆弧的起始角和,终止角,单位为度。,r-,-,为圆弧的半径。,(9),画矩形,调用格式:,rectangle(x1,y1,x2,y2);,功 能:,绘制矩形。,参 数:,x1、y1,-,整型值,矩形的左上角点,x2、y2,-,整型值,矩形的右下角点。,(10),画折线,调用格式:,drawpoly,(,nps,*,pxy,);,功 能:,画一条多边折线。,参 数:,nps,-,整型值,表示所画多边折线的顶点数,pxy,-,整型数组的数组名,该数组中存放了,nps,个顶点的坐标值序列。,5.,充填函数,(1),设置充填模式,调用格式:,setfillstyle,(pattern,color);,功 能:,设置当前的充填模式和充填颜色,用于充填一个封,闭区域。,参 数:,pattern,-,整型值,用于指定充填模式,系统设置,有12种充填模式,分别用011表示,另,有一种用户自定义模式用12表示。,color-,-,用于指定充填颜色,定义同前。,(2),区域充填,调用格式:,floodfill,(x,y,bcolor,);,功 能:,对一指定封闭区域进行充填操作。,参 数:,x,y,-,整型值,是位于充填区域内的任意一点的坐标。,bcolor,-,整型值,是充填区域的边界颜色。,6.屏幕管理函数,(1)设置视图区,调用格式:,setviewport,(x1,y1,x2,y2,c);,功 能:,在屏幕上定义一个视图区(相当于一个用于绘图的,窗口)。,参 数:,x1,y1,-,视图区左上角坐标,整型。,x2,y2,-,视图区右下角坐标,整型。,c,-,裁剪状态参数,c=1,:,超出视图区的图形部分被自动裁剪掉。,c=0,:,超出视图区的图形部分不作裁剪。,(2),清除视图区,调用格式:,clearviewport,();,功 能:,清除掉当前的视图区。,(3)清屏,调用格式:,cleardevice,();,功 能:,立即清除全屏幕,并将当前点位置设置为原点,(0,0),但其它图形系统的设置保持不变(线型,、,充填模式等等)。,(4),暂停,调用格式:,delay(milliseconds);,功 能:,暂停执行当前的程序可用于程序中起延时作用。,参 数:,milliseconds,-,暂停的毫秒数。,5.3 绘图程序的设计,程序=算法+数据结构,实例1:,简单直线图形,实例2,:绘制飘带图案,#,include,头文件,#,include,#define PI 3.1415926,main(),int,x1,y1,x2,px,=320,py,=240;,double a;,int gdriver,=DETECT,gmode,;,initgraph,(&,gdriver,&,gmode,c:,tc,);,初始化,setbkcolor,(9);,置背景色,setcolor,(4);,置前景色,for(a=0;a=PI;a+=PI/380),x1=280*,cos,(1.6*a)+,px,;,y1=479 (90*sin(8*a)*,cos,(a/2.5)+,py,);,x2=280*,cos,(1.8*a)+,px,;,line(x1,y1,x2,y1);,画线,getch,();,从键盘上无回显地取一字符,closegraph,();,关闭图形方式,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!