figury w java, dokładniej gwiazda.

0

Witam, może ktoś ma chwile wolnego czasu, żeby napisać jak mam podejść do wyświetlenia gwiazdy ? najlepiej foremnej. Gdybym posłużył się drawLine-m to było by ok , ale gdybym chciał rozbudować program, tak aby rysował gwiazdę o ilości ramion zależnej od skannera to trzeba innego podejścia i pisać od nowa.

krótko i na temat jak narysować gwiazdę foremna nawet z tym drawLine-m? pewnie trzeba podać kąt wierzchołków jakoś ? nie wiem. Proszę o pomoc. Gotowy kod czy wskazówki cokolwiek.

0

O takie figury Ci chodzi?
Star.png

0

tak. na razie chce to tylko wyświetlić, ale w taki sposób by póżniej ewentualnie zupgrade tować program do postaci, gdzie wpisuje ile ma mieć ramion, a pętla rysuje tyle ramion ile wpisze.

1

Mam dobry humor (i gotowy kod):

Graphics2D g2 = Graphics2D)g;
int howManyVertex = 5;
g2.setColor(new Color(255,204,0)); //pomarańczowy
g2.translate(xCenter,yCenter);
int x[] = new int[2*howManyVertex];
int y[] = new int[2*howManyVertex];
for(int i=0;i<howManyVertex;i++)
{
       double angle = i*360.0/howManyVertex - 90.0; //odjęcie 90 stopni obraca gwiazdę - ma ona wierzchołek skierowany ku górze
       x[2*i] = (int)(48*Math.cos(Math.toRadians(angle)));
       y[2*i] = (int)(48*Math.sin(Math.toRadians(angle)));
       angle+=360.0/(2*howManyVertex);
       x[2*i+1] = (int)(18*Math.cos(Math.toRadians(angle)));
       y[2*i+1] = (int)(18*Math.sin(Math.toRadians(angle)));                
}
g2.fillPolygon(x,y,2*howManyVertex);

Tajemnicze stałe 48 i 18 to promienie okręgów przechodzących przez wierzchołki.

1 użytkowników online, w tym zalogowanych: 0, gości: 1