3D-Grafik Würfel drehen

vice

Mitglied
Hi Leute,


ich hab folgendes Problem:

Wir sollen einen drehenden Würfel programmieren, der sich um 2 Achsen (x und y) dreht. Ich hab den Würfel schon gezeichnet und zunächst versucht ihn um eine Achse drehen zu lassen, aber irgendwie hab ich einen Denkfehler.


Ich habe versucht das ganze mit einer For-Schleife zu lösen, die immer weiter ausgeführt wird.
Java:
while (true){

   for (int i=1;i<361;i++)


In dieser Schleife sollen die Variablen (x und y) die ich für die Linien verwendet habe, verändert werden und zwar mit sinus und cosinus:

Java:
    double b = x ;
    double c = y;
    
    
     b = x+Math.sin(i);
     c = y+Math.cos(i);

 x = (int) b;
 y = (int) c;


anschließend zeichne ich den Würfel wieder mit den veränderten Variablen neu :

Java:
        g.drawLine(x,y,x+200,y);
        g.drawLine(x,y,x,y+200);
        g.drawLine(x,y+200,x+200,y+200);
        g.drawLine(x+200,y,x+200,y+200);
        
        g.drawLine(x+a,y-a,x+200+a,y-a);
        g.drawLine(x+a,y-a,x+a,y+200-a);
        g.drawLine(x+a,y+200-a,x+200+a,y+200-a);
        g.drawLine(x+200+a,y-a,x+200+a,y+200-a);
        
        
        g.drawLine(x,y,x+a,y-a);
        g.drawLine(x,y+200,x+a,y-a+200);
        g.drawLine(x+200,y,x+200+a,y-a);
        g.drawLine(x+200,y+200,x+200+a,y-a+200);
           
        try {Thread.sleep(5);}
        catch (InterruptedException e) {}
        
        g.clearRect(0,0,getWidth(),getHeight());
        repaint();
        


      

}


Bei meinen Programm befindet sich der Würfel erstens weiter unten als ich ihn ursprünglich gezeichnet habe und zweitens bewegt er sich nur einmal von rechts nach links. Dabei müsste er sich doch auch wenn die Berechnung der Punkte falsch ist, doch trotzdem irgendwie bewegen.???:L


Danke schon mal im vorraus
 

vice

Mitglied
Ich hab das jetzt geändert aber an der Verlaufsform hat sich nichts geändert. Was ich nicht ganz verstehe: eigentlich müsste zu mindest eine "Sinus" bzw "Cosinus- artige" Verlaufsform herauskommen, aber warum hört es so schnell auf ???:L
 

Marco13

Top Contributor
Ein KSKB könnte helfen.

BTW: Thread.sleep und repaint in einer paint/paintComponent ist Bogus. Ob es dort wirklich richtig steht, sieht man wenn... :idea: (wie sich das ins Hirn frißt...) mehr Code da steht.
 

Neue Themen


Oben