Moin moin,
ich würde gerne Punkte malen, auf die eine Bedingung zutrifft. Dazu war mein Gedanke jeden Punkt einzelnt ''anzuwählen'' (durch 2 ineinander gekoppelte for-Schleifen), und dann in einer Methode (hier isElement) die Koordinaten zu übergeben und dort zu überprüfen ob eine Bedingung stimmt, oder nicht, wenn sie zutrifft dann soll der Punkt ausgemalt werden, wenn nicht dann nicht und das ganze immer so weiter.
Ich habe aus Testzwecken den Mittelpunkt des Koordinatengitters in die Mitte des Fensters gesetzt. (WIDTH ist die Breite,hier 800. HEIGTH die Höhe 600)
Dann lass ich alle Pixel durchlaufen und in der Methode isElement ob sie auf die Bedingung (hier w==h) zutreffen.
Mein Problem: Es wird immer falsch (anders das ich es Erwarte ) gezeichnet. Hier würde ich erwarten dass eine gerade Entsteht welche im 45° Winkel (oder Steigung 1) hat. Allerdings wird nur der eine Punkt in der Mitte bei 0,0 gezeichnet, und einer ein Pixel weiter runter und weiter rechts. Ich bin extrem verwirrt und habe es natürlich auch mit anderen Bedingungen getestet. Aber bei (fast) allen wird eine dicke gerade (etwa 3 Pixel hoch) durchgehend nach rechts gezeichnet...
Ratschläge, Tipps?
P.S. Wenn jemand einen Tipp hat wie ich den Code hier etwas... ansehnlicher... im Post ausschauen lasse auch bitte schreiben
ich würde gerne Punkte malen, auf die eine Bedingung zutrifft. Dazu war mein Gedanke jeden Punkt einzelnt ''anzuwählen'' (durch 2 ineinander gekoppelte for-Schleifen), und dann in einer Methode (hier isElement) die Koordinaten zu übergeben und dort zu überprüfen ob eine Bedingung stimmt, oder nicht, wenn sie zutrifft dann soll der Punkt ausgemalt werden, wenn nicht dann nicht und das ganze immer so weiter.
Java:
public void paint(Graphics g){
g.translate(WIDTH/2, HEIGTH/2);
for(int w=0; w<WIDTH; w++){
for(int h=0; h<HEIGHT; h++){
if(isElement(w,h)==true){
g.setColor(Color.black);
g.drawLine(w,h,w,h);
}
}
}
}
public boolean isElement(double w, double h){
if(w==h){
return true;
}
return false;
}
Ich habe aus Testzwecken den Mittelpunkt des Koordinatengitters in die Mitte des Fensters gesetzt. (WIDTH ist die Breite,hier 800. HEIGTH die Höhe 600)
Dann lass ich alle Pixel durchlaufen und in der Methode isElement ob sie auf die Bedingung (hier w==h) zutreffen.
Mein Problem: Es wird immer falsch (anders das ich es Erwarte ) gezeichnet. Hier würde ich erwarten dass eine gerade Entsteht welche im 45° Winkel (oder Steigung 1) hat. Allerdings wird nur der eine Punkt in der Mitte bei 0,0 gezeichnet, und einer ein Pixel weiter runter und weiter rechts. Ich bin extrem verwirrt und habe es natürlich auch mit anderen Bedingungen getestet. Aber bei (fast) allen wird eine dicke gerade (etwa 3 Pixel hoch) durchgehend nach rechts gezeichnet...
Ratschläge, Tipps?
P.S. Wenn jemand einen Tipp hat wie ich den Code hier etwas... ansehnlicher... im Post ausschauen lasse auch bitte schreiben
Zuletzt bearbeitet von einem Moderator: