本例利用画弧函数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(); /* 关闭图形模式 */
- }