计算机图形学实验

上传人:人*** 文档编号:487295901 上传时间:2023-01-20 格式:DOC 页数:106 大小:492.50KB
返回 下载 相关 举报
计算机图形学实验_第1页
第1页 / 共106页
计算机图形学实验_第2页
第2页 / 共106页
计算机图形学实验_第3页
第3页 / 共106页
计算机图形学实验_第4页
第4页 / 共106页
计算机图形学实验_第5页
第5页 / 共106页
点击查看更多>>
资源描述

《计算机图形学实验》由会员分享,可在线阅读,更多相关《计算机图形学实验(106页珍藏版)》请在金锄头文库上搜索。

1、优质文本计算机图形学实验一 实验目标1 掌握C语言图形编程方法;2 能够使用C语言编写图形程序;3 掌握VC+图形编程方法;4 能够使用VC+编写图形程序。二 实验安排1 熟悉TC环境,掌握C中图形编程的方法。2课时2 使用画线法绘制任意方向的直线。4课时3 使用画圆法绘制一个圆。2课时4 绘制指定图形。4课时5 熟悉VC+编程环境,掌握其中的图形编程方法。6课时6 使用VC+绘制直线和圆。4课时7 使用VC+实现多边形填充。4课时8 使用VC+实现图形裁剪。2课时9 使用VC+实现几何变换。2课时10 使用VC+绘制指定的曲线曲面。4课时11 使用VC+实现消隐算法。4课时三 实验参考教材一

2、C语言参考教材1 徐士良 PC机C图形编程手册 清华大学出版社1994年2月 P282-3412 焦永和 计算机图形学教程 北京理工大学出版社 2001年4月第2版 P113 罗运和 计算机图形学根底 中国计量出版社1998年2月 P48二Visual C+参考教材4 刘振安 windows图形设计根底 安徽科学技术出版社1996 P625 潘志庚 windows环境下列图形图象程序设计 清华大学出版社1995年3月 P3236 李春雨 计算机图形学理论及实践 北京航空航天大学出版社 2004年2月 P1977 和青芳 计算机图形学原理及算法教程Visual C+版 清华大学出版社 2006年

3、1月注:以上教材除了6、7外可以通过超星搜索到。实验指导第1局部 C语言图形编程一熟悉TC环境,掌握C中图形编程的方法2课时TC 2.0包含有460多个库函数,其中有70多个图形函数,包括了绘图、处理图象及图素、屏幕及视图区控制、颜色及线型设置、状态查询、出错处理等。(一) 图形显示器工作方式图形显示器有两种工作方式:文本方式字符屏幕和图形方式图形屏幕。1 文本方式用于显示由字母和数字组成的程序、文本文件或运算结果。此方式下,屏幕上可以显示的最小单位是字符,在屏幕上以行、列排列。不同的显示器,不同的文本方式,屏幕上所显示字符的行列数及颜色均不一样。TC支持以下显示器适配器其中括号内为其对应的整

4、数值:CGA1彩色图形卡MCGA2一一多色图形阵列EGA、EGA64、EGAMONO35一一增强图形适配器IBM85146一IBM8514图形适配器 HERCMONO7大力神图形适配器 ATT4008AT&T400线图形适配器 VGA9视频图形阵列PC3270103270PC图形适配器此外还有 CURRENT_DRIVER=-1,DETECT:自动检测TC提供了五种文本模式,可通过textmode来选择:BW400:40列黑白 C401:40列彩色 BW802:80列黑白C803:80列彩色 MONO7:80列单色 LASTMODE-1:回原模式textmode函数原型为:void textm

5、odeint mode,引用该函数时需用 #include 来引入其头文件。2 图形方式用于显示由线条组成的复杂图形。此方式下,屏幕上显示的最小单位是像素pixel,一般称做点,通常把屏幕上所包含像素的个数叫做分辨率。分辨率越高,显示的图形就越细致,质量就越好。在图形方式下,屏幕上像素的显示位置用坐标系来描述,在该坐标系中,屏幕左上角为坐标原点0,0,水平向右为x轴,垂直向下为y轴。(二) 图形函数及其用法TC的图形函数均在“graphics.h头文件中定义,因此在使用图形函数时,必须在源程序中加上:#include 1 图形系统初始化默认情况下,显示器处于80列的文本方式下,在该方式下,所有

6、的图形函数均不能应用,因此在调用图形函数之前必须先将显示器设置为图形模式,在图形工作完毕后,再将显示器设回文本方式,以便输出文本信息。设置图形模式的函数原型为:void initgraphint *driver,int *mode,char *path(1) drvier:用来指定所用适配器的驱动程序,该程序包含在*.BGI文件中,可选值为010和DETECT,见TC支持的图形适配器。(2) mode:用来确定图形显示模式,主要有:drivermode数值列x行色调页数CGACGAC00320X200C01CGAC11C1CGAC22C2CGAC33C3CGAHI4640X2002色MCGAM

7、CGAC00320X200C01MCGAC11C1MCGAC22C2MCGAC33C3MCGAMED4640X2002色MCGAHI5640X480EGAEGALO0640X20016色4EGAHI1640X3502EGA64EGA64LO0640X20016色1EGA64HI1640X3504色EGAMONOEGAMONOHI3640X3502色12HERCHERCMONOHI0720X3482色2ATT400ATT400C00320X200C01ATT400C11C1ATT400C22C2ATT400C33C3ATT400MED4640X2002色ATT400HI5640X400VGAVG

8、ALO0640X20016色4VGAMED1640X3502VGAHI2640X4801PC3270PC3270HI0720X3502色1IBM8514IBM8514LO0640X480256色1IBM8514HI11024X768注:卡上64K为1页,256K为2页。(3) path:用来指明进入图形驱动程序的路径,假设为空,那么从当前目录下查找。图形初始化可以有两种方式:(1) 自动方式:适用于不知道屏幕显示适配器,规定driver=DETECT,那么自动搜索其显示器类型,并选用最大分辨率显示,例如程序为:# include main () int driver=DETECT,mode;

9、initgraph(&driver,&mode,d:tc); rectangle(100,50,300,150); getch(); closegraph();(2) 给定方式:显示适配器类型,如VGA,欲将屏幕设为VGAHI模式,那么例如程序为:# include main () int driver=VGA,mode=VGAHI; initgraph(&driver,&mode,d:tc); rectangle(100,50,300,150); getch(); closegraph();2 关闭图形模式,返回文本方式:closegraph3 图形系统的控制 int getdriver()

10、:获取驱动器名字 int getgraphmode():获取现行图形模式值 char * getmodename():获取模式名称 void restorecrtmode():恢复屏幕到初始化前的模式 void setgraphmode(int mode):把当前图形模式设置为mode所指定的模式,利用该函数和前一个函数可实现文本模式及图形模式相互切换 void getgraphrange(int driver,int *lomode,int *himode):获取driver的有效图形模式范围,最小值返回在lomode中,最大值在himode中 int getmaxx():获取x坐标最大值

11、int getmaxy():获取y坐标最大值例如程序在文本模式及图形模式之间相互切换#include main() int driver=DETECT,mode,lo,hi; getmoderange(VGA,&lo,&hi); printf(“VGA supporting modes range from %d to %d.n,lo,hi); initgraph(&driver,&lo,d:tc); bar3d(10,20,50,80,0,0); getch(); mode=getgraphmode(); restorecrtmode(); printf(“Now it is text mo

12、de, press any key to graphics mode.n); getch(); setgraphmode(mode); rectangle(80,60,150,100); getch(); closegraph();4 颜色控制颜色分为前景色和背景色,默认值:背景色为黑色,前景色为白色。具体值颜色是由调色板决定。1调色板:颜色值和颜色之间对应关系的一个数组,在任何给定时间,只有这些颜色的一个子集可被显示出来,该子集就构成了一个调色板,子集的大小即可同时显示的颜色数被称为调色板大小。CGA的四色图形模式提供了4块调色板,每块调色板有四种颜色,见表1:表1 CGA调色板及颜色颜色值

13、调色板0123CGAC0背景浅绿浅红黄CGAC1背景浅青浅洋红白CGAC2背景绿红黄CGAC3背景青洋红浅灰注:洋红即紫色。1、2、3为前景色,不能改变,只能改变其背景色,其背景色可选表2中的任一种共16种。表2 CGA背景色符号常量值符号名颜色值符号名颜色0BLACK黑8DARKGRAY深灰1BLUE蓝9LIGHTBLUE浅蓝2GREEN绿10LIGHTGREEN浅绿3CYAN青11LIGHTCYAN浅青4RED红12LIGHTRED浅红5MAGENTA洋红13LIGHTMAGENTA浅洋红6BROWN棕14YELLOW黄7LIGHTGRAY浅灰15WHITE白对于EGA/VGA 16色图形模式虽然可显示64种颜色,但某一时间只能显示16种,缺省情况下,EGA/VGA调色板里的 颜色对应于CGA的背景色,见表3。表3 EGA/VGA 调色板及颜色值符号名颜色值

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号