Dreieck spiegeln

Status
Nicht offen für weitere Antworten.
V

VivaLaHarry

Gast
moin zusammen,

in unserem Anfängerkurs Informatik lernen wir gerade die grundlegenden Funktionen von Java. Dabei werden uns natürlich auch einige Aufgaben aus dem Aufgabenbuch gestellt und aufgegeben. Eine Aufgabe, die für viele schon mehr als das Limit darstellt, beschäftigt mich zurzeit ziemlich stark:

"Ein beliebiges Dreieck soll gezeichnet und an einer vertikalen Achse gespiegelt werden."
Mein Lösungsversuch erschien mir anfangs sehr einfach und logisch .. aber irgendwie funktioniert es nicht wie gewollt und ich erkenn' den Fehler leider nicht.

Code:
import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;

public class Dreieck2 extends Applet {
       public Dreieck2() {
              setBackground(Color.green);
       }
         public void Dreieck2 (Graphics stift) {
         stift.setColor(Color.black);
         int zielpunktex[] = new int [4];
         int Punktexy[] = { 33, 33, 20, 40, 45, 60, 33, 33};
         int Achse = 80;
         for (int n=0; n<3; n+=1) {
              zielpunktex[n] = Achse-Punktexy[1+(2*n)]+Achse;
         }
                for (int m=0; m<6; m+=2) {
                    stift.drawLine(Punktexy[m+1], Punktexy[m+2], Punktexy[m+3], Punktexy[m+4]);
                }
                stift.drawLine(Achse,1,Achse,500);
                for (int m=0; m<6; m+=1) {
                    stift.drawLine(zielpunktex[m], Punktexy[m+2], zielpunktex[m+1], Punktexy[m+4]);
                }
         }
}

Wäre schön, wenn mir da mal wer rüberschauen könnte.

MfG,
VivaLaHarry
 

Joker

Bekanntes Mitglied
dein Fehler ist, dass das da aufjedenfall kein Applet ist ;)
Am besten liest du dich da nochmal ein, z.B. bei
http://www.galileocomputing.de/open...20_001.htm#mj44a15b773537ae29ddbb34d29b3783a7


das hier gibt dir wenigstens mal eine Ausgabe (auch wenn noch einige Fehler drin sind, am besten überdenkst du zuerst mal deine for Schleife, die wirft nämlich eine ArrayIndexOutOfBoundsException und ist so überhaupt nicht notwendig, verkompliziert das ganze nur unnötig ;))
Code:
import java.applet.Applet;
import java.awt.Color;
import java.awt.Graphics;

public class Dreieck2 extends Applet { 
          
       @Override
       public void init() {
           setBackground(Color.GREEN); 
       }    
       
       @Override
       public void paint(Graphics stift) {
           stift.setColor(Color.black); 
         int zielpunktex[] = new int [4]; 
         int Punktexy[] = { 33, 33, 20, 40, 45, 60, 33, 33}; 
         int Achse = 80; 
         for (int n=0; n<3; n+=1) { 
              zielpunktex[n] = Achse-Punktexy[1+(2*n)]+Achse; 
         } 
                for (int m=0; m<6; m+=2) { 
                    stift.drawLine(Punktexy[m+1], Punktexy[m+2], Punktexy[m+3], Punktexy[m+4]); 
                } 
                stift.drawLine(Achse,1,Achse,500); 
                for (int m=0; m<6; m+=1) { 
                    stift.drawLine(zielpunktex[m], Punktexy[m+2], zielpunktex[m+1], Punktexy[m+4]); 
                } 
         }    
}

ps.: ich hab den Code gerade zusammengebastelt, will dir die Freude an den Hausaufgaben aber nicht verderben, sonst lernst du ja nichts. Poste den nach weiteren Fortschritten aber gerne später.
 
V

VivaLaHarry

Gast
moin zusammen,

habe jetzt nochmal alles durchgeschaut und dabei gemerkt, dass mein Programm nicht dadrauf eingeht, dass das Originaldreieck auch auf der anderen Seite liegen kann. Das habe ich nun angepasst. Andere Dinge fallen mir aber leider nicht auf. :oops:

Code:
import java.applet.Applet;
import java.awt.Color;
import java.awt.Graphics;

public class Dreieck2 extends Applet {

       @Override
       public void init() {
           setBackground(Color.GREEN);
       }

       @Override
       public void paint(Graphics stift) {
           stift.setColor(Color.black);
         int zielpunktex[] = new int [4];
         int Punktexy[] = { 33, 33, 20, 40, 45, 60, 33, 33};
         int Achse = 80;
         for (int n=0; n<3; n+=1) {
              if (Achse < Punktexy[1+(2*n)])
              zielpunktex[n] = Achse-(Achse-Punktexy[1+(2*n)]);
              else
              zielpunktex[n] = Achse+(Achse-Punktexy[1+(2*n)]);
         }
                for (int m=0; m<6; m+=2) {
                    stift.drawLine(Punktexy[m+1], Punktexy[m+2], Punktexy[m+3], Punktexy[m+4]);
                }
                stift.drawLine(Achse,1,Achse,500);
                for (int m=0; m<6; m+=1) {
                    stift.drawLine(zielpunktex[m], Punktexy[m+2], zielpunktex[m+1], Punktexy[m+4]);
                }
         }
}

MfG,
VivaLaHarry
 

Joker

Bekanntes Mitglied
da bekommst du aber immer noch die ArrayIndexOutOfBoundsException.

wie wäre sowas als Basis?

Code:
/*
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JApplet;

public class Dreieck2 extends JApplet { 
          
       @Override
       public void init() {
           setBackground(Color.WHITE); 
       }    
       
       @Override
       public void paint(Graphics stift) {
         int[] points = {40,40,110,50,75,175};
         int achseXKoord = 135;
         stift.setColor(Color.black); 
        
         stift.drawLine(points[0], points[1], points[2], points[3]);
         stift.drawLine(points[0], points[1], points[4], points[5]);
         stift.drawLine(points[2], points[3], points[4], points[5]);
         
         stift.setColor(Color.BLUE);
         stift.drawLine(achseXKoord, 0, achseXKoord, 200);
         stift.setColor(Color.BLACK);
         
         //Insert Spiegelung
   
}*/

fehlen nur noch die 3 Zeilen zur Spiegelung.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
_so_far_away_ pascalsches Dreieck Zentrierung. Java Basics - Anfänger-Themen 12
laxla123 Dreieck erstellen Java Basics - Anfänger-Themen 1
JustAProgrammer Ein Dreieck mit Arrays erstellen Java Basics - Anfänger-Themen 2
kxrdelis Konstruktor für ein Rechtwinkliges Dreieck Java Basics - Anfänger-Themen 10
G Magisches Dreieck Java Basics - Anfänger-Themen 2
F Pascalsches Dreieck mit Rückgabewert Java Basics - Anfänger-Themen 2
T Java Swing - Dreieck zeichnen mit verschiedenen Variablen Java Basics - Anfänger-Themen 8
S Überprüfung rechtwinkliges Dreieck Java Basics - Anfänger-Themen 4
Z Warum kein Dreieck aus Sternen? Java Basics - Anfänger-Themen 9
L Dreieck Java Basics - Anfänger-Themen 22
O Erste Schritte Pascalsche Dreieck Java Basics - Anfänger-Themen 3
H Stern Dreieck (Buch: Grundkurs Programmieren) Java Basics - Anfänger-Themen 2
L Pascalsches Dreieck Java Basics - Anfänger-Themen 4
D Pascal'sches Dreieck Java Basics - Anfänger-Themen 6
N Methoden Gleichseitiges Dreieck erstellen Java Basics - Anfänger-Themen 8
U Dreieck Java Basics - Anfänger-Themen 22
E Dreieck zeichnen Java Basics - Anfänger-Themen 3
1 2D-Array, dass das pascalsche Dreieck berechnet Java Basics - Anfänger-Themen 2
L Dreieck Kreis Java Basics - Anfänger-Themen 12
B Dreieck Flächenberechnung Java Basics - Anfänger-Themen 2
B Java Grafikprogrammierung Dreieck Java Basics - Anfänger-Themen 6
I Umgedrehtes Dreieck Java Basics - Anfänger-Themen 3
M Dreieck erstellen Java Basics - Anfänger-Themen 17
J Dreieck Ausgeben Java Basics - Anfänger-Themen 3
R Pascalsche Dreieck Java Basics - Anfänger-Themen 4
R Pascalsche Dreieck Java Basics - Anfänger-Themen 8
C Pascalsches Dreieck: Ausgabeproblem Java Basics - Anfänger-Themen 10
K pascalsches Dreieck Java Basics - Anfänger-Themen 8
H Compiler-Fehler Pascalsche Dreieck Java Basics - Anfänger-Themen 2
M Pascalsches Dreieck Java Basics - Anfänger-Themen 12
M Dreieck prüfen Java Basics - Anfänger-Themen 8
W Pascalsches Dreieck Java Basics - Anfänger-Themen 19
E Pascalsche Dreieck aus Java openbook Java Basics - Anfänger-Themen 3
B Bitte um Hilfe es geht um Array + Punkte wie Dreieck,Fläche etc. Java Basics - Anfänger-Themen 12
D Pascalsches Dreieck Java Basics - Anfänger-Themen 9
H Dreieck aus Zeichen Java Basics - Anfänger-Themen 4
L Paskalsche Dreieck im Array Java Basics - Anfänger-Themen 2
T Pascalsche Dreieck ERKLÄRUNG Java Basics - Anfänger-Themen 6
U Rekursive lösung von pascal dreieck Java Basics - Anfänger-Themen 11
H2SO3- dreieck, bild --> maus klick event. Wie gehts? Java Basics - Anfänger-Themen 10
Antoras Dreieck zeichnen Java Basics - Anfänger-Themen 2
A Problem Gleichseitiges Dreieck aus Sternchen Java Basics - Anfänger-Themen 7
G Pascalsche Dreieck in Dreieckform Java Basics - Anfänger-Themen 2
X Pascalsche Dreieck Java Basics - Anfänger-Themen 6
G Dreieck mit Java Apllet Java Basics - Anfänger-Themen 10
L Dreieck soll Farbe ändern Java Basics - Anfänger-Themen 4
L Dreieck füllen Java Basics - Anfänger-Themen 4
X Dreieck ausgeben Java Basics - Anfänger-Themen 3
B Hindergrundfarbe in JPanel und Dreieck zeichnen Java Basics - Anfänger-Themen 4
D Das Problem mit dem Dreieck. Java Basics - Anfänger-Themen 5
B auf der Spitze stehendes Dreieck mit for-Schleifen Java Basics - Anfänger-Themen 6
lan2711 Anfänger: Konstruktion Dreieck Java Basics - Anfänger-Themen 2
G Pascalsches Dreieck Java Basics - Anfänger-Themen 8
Z Methoden Array horizontal spiegeln Java Basics - Anfänger-Themen 19
C Methoden Vertikales spiegeln eines Bildes (zweidimensionale Arrays) Java Basics - Anfänger-Themen 5
C ZweiDimensionales Array erstellen und Spiegeln Java Basics - Anfänger-Themen 1
M String rekursiv Spiegeln mit Originalwort davor Java Basics - Anfänger-Themen 3
M Array horizontal spiegeln Java Basics - Anfänger-Themen 2
S Rekursives Umdrehen, Spiegeln. etc. von Strings Java Basics - Anfänger-Themen 3
E Integer oder Strings spiegeln (in while loop) Java Basics - Anfänger-Themen 6
O Spiegeln der Ausgabenreihenfolge Java Basics - Anfänger-Themen 3
A BufferedImage in Android einbinden - Bild spiegeln -wie? Java Basics - Anfänger-Themen 4
J Histogramm horizontal spiegeln Java Basics - Anfänger-Themen 7
G Image spiegeln Java Basics - Anfänger-Themen 17
N Bild spiegeln Java Basics - Anfänger-Themen 5
K Bild spiegeln Java Basics - Anfänger-Themen 12
S Welche möglichkeiten gibt es eine Zahl zu spiegeln? Java Basics - Anfänger-Themen 17
E Elemente in Arraylist spiegeln? Java Basics - Anfänger-Themen 9
J Baum spiegeln Java Basics - Anfänger-Themen 7
G Exceptions - spiegeln wir da nicht einen Spiegel im Spiegel? Java Basics - Anfänger-Themen 10

Ähnliche Java Themen

Neue Themen


Oben