/* 正弦波调制圆 ZXBTZY.C 程序设计:谢春 2000.1.1.*/ /* a, b : 背景颜色 a=0--13 画笔颜色 b=2--15 */ /* x, y : 水平移动图形 x=0--639 垂直移动图形 y=0--479 */ /* r1,r2: 水平方向半径 r1=0--320 垂直方向半径 r2=0--240 */ /* i, j : 心形曲线叶片 i=1--24 心形曲线弧度 j=0--2*PI */ #include"graphics.h" /*调用图形库函数 */ #include"math.h" /*调用数学函数 */ #include"stdio.h" /*调用标准I/O函数*/ #define PI 3.141596 /*宏定义PI字符串 */ main() /*主函数*/ { int a=1,h=18,b=13,x=155,y=240,r1,r2,i,m; float j; /*定义单精度浮点型变量*/ int gdriver=DETECT,gmode; /*定义整型变量gdriver,gmode*/ initgraph(&gdriver,&gmode,"c:\\tc"); /*定义变量后,初始化图形系统*/ cleardevice(); setbkcolor(a); /*背景颜色*/ printf("\n"); printf("\n"); printf(" 正弦波调制圆\n"); printf(" C 语言图形程序设计\n"); printf("\n"); printf(" 背景颜色\n"); printf(" setbkcolor(int color);\n"); printf(" 画笔颜色\n"); printf(" setcolor(int color);\n"); printf(" 画像素点函数\n"); printf(" putpexel(x,y,color);\n"); printf("\n"); printf(" 绘制图形语句\n"); printf(" 正弦波调制圆\n"); printf(" for (r2=55;r2<=165;r2+=55) \n"); printf(" { \n"); printf(" for (j=0;j<=2*PI;j+=PI/999) \n"); printf(" { \n"); printf(" b=r2/50+9,r1=3*r2/4; \n"); printf(" putpixel(x-(r1+h*sin(i*j))*cos(j),\n"); printf(" y-(r2+h*sin(i*j))*sin(j),b); \n"); printf(" } \n"); printf("\n"); printf(" 按任意键继续 !\n"); setcolor(3); setlinestyle(0,0,3); /*实线线宽3*/ rectangle(2,2,637,477); /*绘制图纸边框*/ setcolor(2); setlinestyle(0,0,1); /*实线线宽1*/ rectangle(6,6,318,473); /*绘制左窗口框*/ rectangle(322,6,633,473); /*绘制右窗口框*/ getch(); /*画一幅,擦一幅*/ for (i=20;i<=60;i+=10) /*设置循环演示次数*/ { setviewport(323,7,632,472,1); /*设置右窗口*/ for (r2=55;r2<=165;r2+=55) { for (j=0;j<=2*PI;j+=PI/999) /*绘制正弦波调整圆图形*/ { b=r2/55+9,r1=0.8*r2; putpixel(x-(r1+h*sin(i*j))*cos(j),y-(r2+h*sin(i*j))*sin(j),b); putpixel(x-(r1+h*sin(i*j)+2)*cos(j),y-(r2+h*sin(i*j)+2)*sin(j),b); } getch(); } clearviewport(); getch(); } closegraph(); /*关闭图形系统,返回文本模式*/ }