M
Mathe-Problem
Gast
Hallo,
ich möchte Kreise Zeichnen...
Konkret habe ich eine Linie von Kreisen (leicht versetzt)
Diese Gruppe von Reisen möchte ich quasi kopieren und um einen bestimmten winkel versetzt noch einmal anordnen.
Bilder sagen manchmal mehr wie Worte:
Die 20 Kreise nach rechts sind Vorgegeben nun stellt man sich vor das diese Gruppe um den Winkel x gedreht und auch dort eingefügt werden soll.
Ich komm anscheinend mit der Formal nicht zurecht... (bei 45° stimmt es ja definitiv nicht)
berichtige ich das ganze das auch bei 45° ein sauberes Bild entsteht?
ich möchte Kreise Zeichnen...
Konkret habe ich eine Linie von Kreisen (leicht versetzt)
Diese Gruppe von Reisen möchte ich quasi kopieren und um einen bestimmten winkel versetzt noch einmal anordnen.
Bilder sagen manchmal mehr wie Worte:
Die 20 Kreise nach rechts sind Vorgegeben nun stellt man sich vor das diese Gruppe um den Winkel x gedreht und auch dort eingefügt werden soll.
Ich komm anscheinend mit der Formal nicht zurecht... (bei 45° stimmt es ja definitiv nicht)
Java:
int ledsize=16;
double winkel=0;
int abstandx=2;
int abstandy=4;
double x_pos;
double y_pos;
int count; //Schleifendurchläufe
//Berechnen
x_pos = ((0*Math.cos(winkel/180*Math.PI)+Jframe_width/2)+Math.sin(winkel*Math.PI/180)*(0-abstandy))-ledsize/2;
y_pos= ((0*Math.sin(winkel/180*Math.PI)+Jframe_height/2)+Math.cos(winkel*Math.PI/180)*(0-abstandy))-ledsize/2;
//Zeichnen
g.drawOval((int)x_pos,(int)y_pos ,ledsize , ledsize);
for (winkel=0; winkel<360; winkel=winkel+1.8)
{
for (int x_inc=0; x_inc<342; x_inc=x_inc+(ledsize+ abstandx))
{
count=x_inc/(ledsize+ abstandx);
if (count%2==0)
{
x_pos= (((ledsize+abstandx+x_inc)*Math.cos(winkel/180*Math.PI)+Jframe_width/2)+Math.sin(winkel*Math.PI/180)*(abstandy-0))-ledsize/2;
y_pos= (((ledsize+abstandx+x_inc)*Math.sin(winkel/180*Math.PI)+Jframe_height/2)+Math.cos(winkel*Math.PI/180)*(abstandy-0))-ledsize/2;
}
else
{
x_pos= (((ledsize+abstandx+x_inc)*Math.cos(winkel/180*Math.PI)+Jframe_width/2)+Math.sin(winkel*Math.PI/180)*(0-abstandy))-ledsize/2;
y_pos= (((ledsize+abstandx+x_inc)*Math.sin(winkel/180*Math.PI)+Jframe_height/2)+Math.cos(winkel*Math.PI/180)*(0-abstandy))-ledsize/2;
}
//Zeichnen
g.drawOval((int)x_pos,(int)y_pos ,ledsize , ledsize);
}
}
berichtige ich das ganze das auch bei 45° ein sauberes Bild entsteht?
Zuletzt bearbeitet von einem Moderator: