第十章 图形程序设计基础
【教学目标】
基本掌握在TC 环境中的作图方法
图形函数的使用方法和像素概念
图形与文本方式的交换
了解图形模式的种类
【教学内容】
显示模式和图形初始化;
设置视口和清除视口;
线型和填充模式、基本绘图函数;
设置前景色和背景色;
曲线方程的图形化表示等。
【教学重点和难点】
图形与文本的模式交换;
图形初始化和绘图参数的准确使用;
色彩设置;
平面曲线方程的图形表示
动画在C 语言中的实现
【问题的提出】
C 中对数据处理能力很强,是否同样具有较强的图形处理能力,怎样处理?
1. 平面曲线方程的图形表示
【例10.1】利用C 的强大绘图功能,动态绘制一条平面曲线——小蜜蜂。
#include
#include
#include /* 包含定义所有绘图函数的头文件——绘图时必须有 */
#include /* 包含数学处理函数,以计算三角函数值 */
main( )
{
int gdriver, gmode=0,i,x,y;
gdriver=0;
initgraph(&gdriver, &gmode, "e:\\tc\\bgi"); /* 图形初始化 */
setbkcolor(0); /* 设置背景色为黑色 */
setcolor(RED); /* 前景色为红色 */
settextstyle(1,0,0); /* 设置文本以3 倍字型,水平方向,缺省方式显示 */
outtextxy(50,50,"BEE"); /* 在(50,50 )坐标点输出字符串 BEE */
for(i=0;i<2280;i++)
{
x=(cos(i*1./360)+cos(3*i*1./360))*100+300; /* 计算X 坐标值 */
y=(sin(i*1./360)+sin(5*i*1./360))*100+250; /* 计算Y 坐标值 */
putpixel(x, y, 14); /* 以黄色(14)在(X ,Y )坐标点处画点 */
delay(4000); /* 延时函数,或sleep(1); */
}
getch();
closegraph( ); /* 关闭图形方式,回到文本方式工作 */
}
说明:
C 绘图时,首先需要包含图形头文件graphics.h 。
绘图前,应该使用函数initgraph(int* driver,int *mode,char *path)对图形进行初始化,再设
置前景色、背景色等。
绘曲线图时,首先确定曲线方程,计算坐标点,使用绘点函数putpixel(int x,int y,int color)
画点。
图上如果需要显示文本,则使用设置文本格式函数 settextstyle(int font,int direction,int
charsize)设置,利用outtextxy(int x,int y,char *string)在(X ,Y )位置显示串string 。
为了看清楚绘图过程,可以在每绘制出一个点后添加延时函数delay( )或sleep( )进行延时
处理。
绘图结束,应该关闭图形方式closegraph( ),以便于进行其他操作。
2. 动画在C 语言中的实现
【例10.2】使用C 的绘图功能,制作实现一个简易时钟示意。
#include