多笔绘制:
//编译环境:Visual C++ 6.0,EasyX_20190219(beta)
#include<graphics.h>
#include<math.h>
#include<conio.h>
int main()
{initgraph(640,480);setcolor(RED);int n=7,i,j;double t=3.14159*2/n,r=150.0; double x0=300.0,y0=200.0,x[7],y[7];for(i=0;i<n;i++) { x[i]=r*cos(i*t)+x0; y[i]=r*sin(i*t)+y0; } for(i=0;i<=n-2;i++) for(j=i+1;j<=n-1;j++) line(x[i],y[i],x[j],y[j]); _getch();closegraph();return 0;
}
n=5时,效果如下:
一笔绘制
//功能:一笔绘制金刚石图案(n>=5,n是奇数)
//编译环境:Visual C++ 6.0,EasyX_20190219(beta)
#include<graphics.h>
#include<math.h>
#include<conio.h>
int main()
{initgraph(640,480);setcolor(RED);int n=7,i,j;double t=3.14159*2/n,r=150.0; double x0=300.0,y0=200.0,x[7],y[7];for(i=0;i<n;i++) { x[i]=r*cos(i*t)+x0; y[i]=r*sin(i*t)+y0; } for(i=1;i<=n/2;i++) for(j=0;j<n;j++) {if((j+i)>=n) {int r=(j+i)%n;line(x[j],y[j],x[r],y[r]);}elseline(x[j],y[j],x[j+i],y[j+i]); }_getch();closegraph();return 0;
}
n=20时,效果如下: