Stern erstellen

//Sebastian

Mitglied
Ich habe die Aufgabe einen Stern zu erstellen welcher in etwa so aussieht. 1649152593198.png
Anfangs wirkte die Aufgabe recht trivial und ich erstellte das unten angehängte Dokument.
Jedoch hänge ich gerade etwas fest, da mein Programm aus einem mir unerfindlichen Grund es nicht schafft den Stern gleichmäßig zu zeichnen.
Dementsprechend sieht mein Stern aus wie der unten stehende.
1649152698210.png

Funktioniert mein Ansatz einfach nicht oder übersehe ich einen Störfaktor der mir mein Ergebnis zerschießt...
 

Anhänge

  • meinStern.java
    1,7 KB · Aufrufe: 2

//Sebastian

Mitglied
[CODE lang="java" title="meinStern.java"]package Blatt04;
import java.awt.*;
import javax.swing.JFrame;

public class meinStern extends JFrame {

public static int width = 1024;
public static int height = 1024;

public meinStern(){
super();
setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setSize(1024,1024);
this.setTitle("meinStern" + this.getClass().getName());
this.setVisible(true);
}

public static void main(String[]args){
new meinStern();
}

public void paint(Graphics g){
/* Löschen des Fensterinhalts (wichtig bei erneutem Zeichnen): */
g.clearRect(0, 0, this.getWidth(), this.getHeight());


this.Stern(g); // Aufruf der selbst programmierten Methode
}

public void Stern(Graphics g){
int Gradschritte = 10;
int radius = 200;
int[] xKoordinate = new int[100];
int[] yKoordinate = new int[100];

xKoordinate[0] = this.getWidth()/2;
yKoordinate[0] = this.getHeight()/2;
for(int zaehler=1;zaehler<=(360/Gradschritte);zaehler++) {

xKoordinate[1] = (int) (xKoordinate[0] + radius*Math.sin(zaehler*Gradschritte));
yKoordinate[1] = (int) (yKoordinate[0] + radius*Math.cos(zaehler*Gradschritte));
g.setColor(Color.BLUE);
g.drawLine(xKoordinate[0],yKoordinate[0],xKoordinate[1],yKoordinate[1]);


xKoordinate[2] = (int) (xKoordinate[0] + (radius/2)*Math.sin(zaehler*Gradschritte+Gradschritte/2));
yKoordinate[2] = (int) (yKoordinate[0] + (radius/2)*Math.cos(zaehler*Gradschritte+Gradschritte/2));
g.setColor(Color.RED);
g.drawLine(xKoordinate[0], yKoordinate[0], xKoordinate[2], yKoordinate[2]);


};



}
}
[/CODE]
 

Neue Themen


Oben