- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机图形学;第三章 C语言图形程序设计基础;在屏幕上进行绘图一般要执行如下步骤:
(1)设置屏幕为图形方式;
(2)选择背景与实体颜色;
(3)计算坐标;
(4)调用绘图语句绘制实体。;3.1 屏幕设置
一、屏幕显示方式与坐标系 ;如:(8,20)表示字符位于屏幕第8行第20列
Turbo C支持以下6种不同的显示方式:
(l)BW40 黑白25×40(25行,40列)
(2)C40 彩色25×40
(3)BW80 黑白25×80
(4)C80 彩色25×80
(5)MONO 单色25×80
(6)C4350彩色43×80(EGA),50×80(VG)
显示方式不同,所显示的字符的列数和行数也不一样,颜色也有区别,屏幕上所显示的字符数量也不一样。 ;2.图形方式与点坐标
在屏幕上显示的图形称图形方式。
屏幕是由像素点组成的,其像素点多少决定了屏幕的分辨率。分辨率越高,显示图形越细致,质量越好。
在图形方式下,屏幕上每个像素的显示位置用点坐标来描述。; 分辨率不同,水平方向和垂直方向的点数也不一样,即其maxx,maxy数值也不同。
在Turbo C中,坐标数据可以用两种形式给出:一种是绝对坐标;另一种是相对坐标。
绝对坐标的参考点是坐标的原点(0,0),x和y只能取规定范围内的正整数。
相对坐标是相对“当前点”的坐标,所以其坐标的参考点不是坐标系的原点,而是当前点。在相对坐标中,x和y的取值是相对于当前点在x方向和y方向上的增量,x和y可以是正整数,也可以是负整数。
点坐标系坐标值的范围决定于所使用适配器/显示分辨率。
;二、图形驱动程序与图形模式;
2. 图形模式
每种图形显示器有不同的图形显示模式
由于每种图形显示器各有几种不同的图形显示模式,因此,要显示图形就必须确定所用的显示模式,也就是说,要显示图形,不但要先装入相应驱动程序,而且还要决定所用的显示模式。不同的图形驱动程序有不同的图形模式;即使在同一图形驱动程序下,也可能会有几种图形模式。
图形驱动程序及其相应模式具体见书P53表3.2;驱动程序(driver)
;三 、图形系统初始化和模式控制;1. 图形系统初始化
(1).问题的提出
一般缺省情况下,屏幕为80列25行的文本方式。在文本方式下,所有的图形函数均不能操作,因此在使用图形函数绘图之前,必须将屏幕显示适配器设置为一种图形模式,这就是图形初始化过程。
图形系统初始化首先要调用initgraph()函数,它通过从磁盘上装入一个图形驱动程序,来初始化图形化系统,并将系统设置为图形模式。 ; (2).初始化函数
initgraph()函数格式为:
void far initgraph(int *gdriver;int *gmode,char *path);
①gdriver:是一个整型值,用来指定要装入的图形驱动程序,该值在头文件 graphics.h中定义,如p51表3.l所示。
②gmode:是一个整型值,用来设置图形显示模式。图形显示模式决定了显示的分辨率,可同时显示的颜色的多少,调色板的设置方式等,几种不同的图形显示模式如p53表3.2所示。
;③path:是一个字符串,用来指明图形驱动程序所在路径。如果驱动程序就在用户当前目录下,则该参数可以空字符串,否则应给出具体路径名。一般情况下,Turbo C安装在C盘的TC目录中,则该路径为:C:\TC,如果写在参数中则为“C:\\TC”。
注意:前两个参数实际上是整型指针,调用时应加上地址运算符“&”。 ;对far关键字的解释:far并非C语言的标准关键字,
主要是远程链接的作用,可以将其视为远指针函数,以内存管理是段式管理为例,没有far这个关键字时,内存地址仅是段内跳转,有far这个关键字时内存地址是段间跳转。;(3)初始化方式
①已知显示器类型的图形系统初始化
已知所用图形显示器的种类和要使用的图形模式,初始化图形系统可如下面程序所示:
例3.1
#include graphics.h
main()
{int gdriver,gmode;
gdriver=CGA; /*设置驱动程序为CGA*/
gmode=CGAC0; /*选用CGA图形模式*/
initgraph(gdriver,gmode,c:\\TC);
/*初始化图形系统*/
bar3d(10,20,50,80,0,0); /*画一实心长方形*/
getch(); /*等待按一键结束*/
closegraph(); /*关闭图形系
文档评论(0)