实验一 实验环境的熟悉、像素点的生成及简单动
画的实现
班级 信计二班 学号 20080502081 姓名 王志强 分数
一、实验目的和要求:
1、了解和使用TurboC提供的基本图形函数 2、像素点的生成 3、简单动画的实现. 4熟悉Visual C++实验环境
二、实验内容:
1.Turbo C集程序编辑、编译、连接、调试为一体具有速度快、效率高、功能强等优点。Turbo C是基于DOS平台的C编译系统,占用系统资源少,提供的界面直观、易用。程序的编译、连接、调试、运行、环境设置等工作都在同一界面上进行,从而用户使用非常方便。用户在使用Turbo C之前,必须将Turbo C系统安装在用户的磁盘上,建立一个Turbo C的使用环境。运行Turbo C有两种方式:1)由DOS平台进入Turbo C,2) 由Windows平台进入Turbo C.
一个新建立的文件,也可以是一个已存在的文件。编辑好源文件存盘后,下面的工作就是对源文件(可以是单个文件,也可是多个文件)进行编译、连接和运行。在Turbo C中,对源程序进行编译、连接和运行可以分三步单独进行,也可以将编译和连接同时进行,然后运行;或者将编译、连接和运行一次完成。
说明: (1)在操作完成后应选Project下的Clear Project,清空当前有效的项目文件(用Project name 指定的),否则系统在以后的编译中仍编译该项目文件,而不是当前编辑屏幕中的源程序。
(2)多文件编译中因出错停止编译的方式用户需要用Project的子菜单Break make on进行设置(图 14)。
Errors 表示编译完一个文件后,有“错误”信息就停止编译。
Warnings 表示编译完一个文件后,有“警告”以上信息就停止编译。
Fatal errors 表示编译完所有文件后,停止编译。 Link 进行连接之前停止编译。
图 14
1
当程序在编译、连接中没有错误,但运行结果不正确的情况下,我们通常用以下两种方法调试程序。1)跟踪进入方法,2) 设置断点方法。设置Turbo C 环境参数是指出包含文件和库文件存放的位置以及输出文件(.OBJ和.EXE)准备存放的位置。设置Turbo C 环境参数通过主菜单Options中的选项完成,如图21。
图 21
2 熟悉Visual C++实验环境
(1)启动Developer Studio,了解初始化界面由哪些部分组成 查看各菜单项,看看都有哪些子菜单和命令
(2) 将鼠标放置于各工具条图标上,系统会自动显示该图标代表的命令含义,了解一下都有哪些命令。
(3) 在任意工具条上单击鼠标右键,弹出式菜单上将显示所有可用的工具条,选择其中没有对号(√)的项,看看有什么效果,再选择有对号的项看有什么效果。
(4) 将鼠标移动到任意工具条上,将鼠标放到图标间隙,按下鼠标左键不放,移动鼠标到屏幕中间,看有什么现象发生,再将它拖回到原来位置观察有什么现象发生。
(5) 将鼠标移动到下边的输出窗口,按鼠标右键,弹出一个菜单,选择其中的菜单项”Hide”,选择菜单View|Output,重新显示该窗口,看窗口是不是又显示出来了。 (6) 学习使用帮助系统。在Visual C++5.0中,在工作区窗口的InfoView中选择内容,双击它,在文档区显示具体的帮助信息。在Visual C++6.0,选择菜单Help|Contents,启动MSDN联机帮助系统,学习使用该帮助系统。
选File|Exit退出Developer Studio。
(2)像素是组成图形的最小单位,像素的大小可以通过设置不同的显示方式来改变。该实验实现了简单圆的生成
(3)基于Turbo C的开发环境实现人造卫星运动动画。
三、实验结果分析
1、 该程序实现了简单圆的生成 #include
#include
void main()
{ int gdrver=VGA, gmode=2; /* 定义图形模式参数 */
2
int x0=320,y0=240,r=40;
initgraph(&gdrver,&gmode,\ 图形模式驱动函数 */
cleardevice(); /* 清理屏幕 */
setcolor(4); /* 设置绘图颜色 */
rectangle(x0-r,y0-r,x0+r,y0+r); /*画矩形 */
circle(x0,y0-r,r); /*画圆 */
circle(x0,y0+r,r);
circle(x0-r,y0,r);
circle(x0+r,y0,r);
outtextxy(300,400,\
getch(); /*从键盘输入任意字符 */
closegraph(); /*关闭绘图模式,回到文本状态 */ }
2、简单动画的实现程序代码如下
#include \#include \#include \#include \#include \
void t1(int x1,int x,int y) /*绘制第一幅图形*/ {
line(0,y/2+72,x,y/2+72); circle(x1,y/2,10);
line(x1,y/2+10,x1-5,y/2+38); line(x1-5,y/2+38,x1+5,y/2+52); line(x1+5,y/2+52,x1-12,y/2+65); line(x1-5,y/2+38,x1,y/2+54); line(x1,y/2+54,x1-8,y/2+70); line(x1-8,y/2+10,x1-8,y/2+35); line(x1,y/2+10,x1+1,y/2+25);
3
line(x1+1,y/2+25,x1+10,y/2+32); }
void t2(int x1,int x,int y) /*绘制第二幅图形*/ {
line(0,y/2+72,x,y/2+72); circle(x1+40,y/2,10);
line(x1+40,y/2+10,x1+28,y/2+50); line(x1+28,y/2+52,x1+11,y/2+47); line(x1+30,y/2+40,x1+52,y/2+50); line(x1+52,y/2+50,x1+42,y/2+70); line(x1+39,y/2+11,x1+24,y/2+22); line(x1+24,y/2+22,x1+34,y/2+32); line(x1+39,y/2+11,x1+45,y/2+30); line(x1+45,y/2+30,x1+58,y/2+24); }
void main(void) {
int gdriver=DETECT,gmode,errorcode; int x,y,x1;
int buf1[3000],buf2[4000];
initgraph(&gdriver,&gmode,\ x=getwidth();y=getheight(); x1=12;
while(!kbhit()) {
while(x1+58 x1=12; } getch(); closegraph(); } 4
计算机图形学--实验环境的熟悉像素点的生成及简单动画的实现.doc



