50°³ÀÇ ÀڷḦ ÀÔ·Â¹Þ¾Æ N°³·Î ¹üÁÖ·Î ³ª´²¼ N°¢ÇüÀÇ ±×·¡ÇÁ¸¦ ±×¸®´Â °ÍÀÔ´Ï´Ù.
¿¡·¯°¡ ¶ßÁö´Â ¾Ê°í ±×¸²ÀÌ ¾Æ¿¡ ¾È¶°¹ö¸®³×¿ä..¤Ì.¤Ì
¹è¿ÂÊÀÌ À߸øµÈ°Å °°±âµµ Çѵ¥.. ¹¹°¡ À߸ø됬´ÂÁö È®ÀÎ ºÎŹµå¸±²²¿ä~
<html>
<body>
<applet code = "StarMain.class" width = "1000" height = "1000"> </applet>
</body>
<html>
//////////StarMain.java////////////
import java.awt.*;
import java.applet.Applet;
public class StarMain extends Applet
{
double b[]={66,73,63,92,42,95,67,74,47,72,87,62,81,63,58,63,52,58,56,72,68,73,72,71,67,61,
63,73,58,67,63,68,76,73,53,66,82,43,81,73,
53,66,73,76,51,67,67,66,63,67};
public void paint(Graphics g)
{
Star1 a=new Star1(5,Color.red,200,200,150,b);
a.drawStar(g);
g.drawLine(100,100,150,150);
}
}
/////////////Star1.java//////////////
import java.awt.Graphics;
import java.awt.Color;
public class Star1
{
public int N,Scale;
Color C;
public int Cx,Cy;
public double Tx=0,Ty=1;
public double P,A[],B[];
public int X[],Y[],X1[],Y1[];
public double min,max;
public int mini[],maxi[],x[],div,k,kk;
double leng[];
Star1(int n,Color c,int cx,int cy,int s,double a[])
{
N=n;
C=c;
Cx=cx;
Cy=cy;
P=2*3.141592/N;
Scale=s;
A=new double[N];
X=new int[N];
Y=new int[N];
X1=new int[N];
Y1=new int[N];
A=a;
for(int i=0;i<N;i++) A[i]=a[i];
calculation();
}
void calculation()
{
min=minvalue();
max=maxvalue();
div=(int)((max-min)/N);
mini=new int[N+2];
maxi=new int[N+2];
leng=new double[N+2];
mini[0]=(int)(min-div/4.);
for(int i=1;i<k+1;i++) mini[i]=mini[i-1]+div;
maxi[0]=mini[0]+div;
for(int i=1;i<k+1;i++) maxi[i]=maxi[i-1]+div;
for(int i=0;i<N;i++)
{
kk=(int)((A[i]-mini[0])/div);
leng[kk]++;
}
}
double minvalue()
{
double min=x[0];
for(int i=1;i<50;i++) if(x[i]<min) min=x[i];
return(min);
}
double maxvalue()
{
double max=x[0];
for(int i=1;i<50;i++) if(x[i]>max) max=x[i];
return(max);
}
void drawStar(Graphics g)
{
g.setColor(C);
for(int i=0;i<N;i++)
{
X1[i]=(int)(Tx*Scale);
Y1[i]=(int)(Ty*Scale);
g.drawLine(Cx+X1[i],Cy-Y1[i],Cx,Cy);
X[i]=(int)(Cx+X1[i]*leng[i]);
Y[i]=(int)(Cy-Y1[i]*leng[i]);
X1[i]=X1[i]+Cx;
Y1[i]=Cy-Y1[i];
trans();
}
g.drawPolygon(X1,Y1,N);
g.fillPolygon(X,Y,N);
g.setColor(Color.black);
g.drawPolygon(X,Y,N);
}
void trans()
{
double t=Math.cos(P)*Tx-Math.sin(P)*Ty;
Ty=+Math.sin(P)*Tx+Math.cos(P)*Ty;
Tx=t;
}
}
|