本例利用画弧函数arc()绘制不同的弧线,从而制作出优美的六叶图案。
本实例的母体是让读者掌握画弧函数arc()的应用,同时要注意两个三角函数sin()、cos()(只能用弧度)的使用方法。
程序说明:
本实例主要讲解arc(),她的调用格式如下:
void far arc(int x,int y,int stangle,int endangle,int radius)
参数说明:
x,y为所绘制的弧线以(x,y)为圆心。
radius:所绘制弧线的半径,从stangle开始到endangle结束(用度表示),画一段圆弧线。在TURBO C中规定x轴正向为0度,逆时针方向旋转一周,依次为90度、180度、270度和360度。
另外,本例还讲解了两个三家函数sin()、cos()。注意,在语言程序中使用三角函数时,要把度数转化为弧度才能带入公式进行运算,度数与弧度的具体切换示例:25度编程弧度为25*3.14/180。
代码如下:
#include <graphics.h>
#include <math.h>
#include <conio.h>
#define PI 3.1415926535
/* 图形驱动函数 */
void initgr(void)
{
int gd = DETECT, gm = 0;
registerbgidriver(EGAVGA_driver);
initgraph(&gd, &gm, "");
}
void main(void)
{
double a = 0,b;
int x0 = 340,y0=240,radius = 100,i,x,y;
initgr(); /* 驱动图形模式 */
setcolor(2); /* 设置前景色为绿色 */
setlinestyle(0,0,0); /* 设置股线的类型与宽度 */
for(i=0;i<6;i++,a+=60)
{
b=a*PI/180; /* 把度数转化为弧度 */
x=x0+radius*cos(b);
y=y0+radius*sin(b);
arc(x,y,120-i*60,240-i*60,radius); /* 绘制弧线 */
}
getch(); /* 暂停屏幕查看结果 */
closegraph(); /* 关闭图形模式 */
}
评论