计算机图形学 关于星的程序-五角星
/*画国旗*/
# include<graphics.h>
# include"math.h"
# include<stdio.h>
void polay(int x0,int y0,int r,int n,int af)
{
int i,rr;
float th,af1,ca,sa,xs,ys,r1,x,y,cc,ss;
if(n<=4) return;
th=(2*3.141592653)/(2*n);
af1=af*0.0164533;
ca=cos(af1);
sa=sin(af1);
xs=x0+r*ca;
ys=y0+r*sa;
moveto(xs,ys);
r1=r*sin((n-4)*th/2)/sin((n-2)*th/2);
for(i=1;i<=2*n-1;i++)
{
af1=af1+th;
ca=cos(af1);
sa=sin(af1);
rr=r;
if(i-i/2*2==1) rr=r1;
x=x0+rr*ca;
y=y0+rr*sa;
lineto(x,y);
}
lineto(xs,ys);
}
void wujiaoxing(int x,int y,int a,int n,int theta)
{
int arg[4][4]={40,50,350,50,350,300,40,300};
setcolor(15);
polay(x+110,y,a,n,theta);
}
void main()
{
int i,j,a=50,n=5,theta=5, x=100,y=150;
int gdriver=DETECT,gmode;
initgraph(&gdriver,&gmode,"c://tc");
cleardevice();
setbkcolor(0);
wujiaoxing(x,y,a,n,theta);
getch();
closegraph();
}