Transform3D - dauerhafte Rotation

aze

Bekanntes Mitglied
Hi

Ich habe in meiner kleinen Java3D Welt folgende drei Rotationen eingebaut :

Java:
private void mouseTranslateJCanvas3D(MouseEvent me)
    {
        int xchange = me.getX() - mousePressedX;
        int ychange = me.getY() - mousePressedY;

         xtrans+= xchange * transXMul;
         ytrans-= ychange * transYMul;
        

        transVector.x =  xtrans; 
    	transVector.y =  ytrans; 
    	
        targetTransform.setTranslation(transVector);

        jaws.getRoot().setTransform(targetTransform);

    }

    private void mouseZoomJCanvas3D(MouseWheelEvent me)
    {

        if(me.getWheelRotation() > 0)
            zoom++;
        else zoom--;

        transVector.z = zoom;

        targetTransform.setTranslation(transVector);

        jaws.getRoot().setTransform(targetTransform);


        
    }

    protected  void mouseRotateJCanvas3D(MouseEvent me) {

        int xchange = me.getX() - mousePressedX;
        int ychange = me.getY() - mousePressedY;

        xChangeTransform= xchange * rotXMul;
        YChangeTransform= ychange * rotYMul;

        longditudeTransform.rotY( xChangeTransform );
    	latitudeTransform.rotX( YChangeTransform );

    	targetTransform.mul(targetTransform, latitudeTransform);
    	targetTransform.mul(targetTransform, longditudeTransform);
    	
        jaws.getRoot().setTransform(targetTransform);
    	

    }


Die Rotaionen funktionieren auch,aber sie sind nicht von dauer.Also wenn ich zum Beispiel zoome und dann rotieren will ist mein 3D Object wieder bei voller Größe.

Wie kann ich diesen Effekt verhindern ?
 

Marco13

Top Contributor
Du hast jetzt nicht beschrieben, wie du die Rotation machst...

EDIT: Zoomen und Bewegen, so wie du es gepostet hast, müßte doch eigentlich funktionieren...?
 

aze

Bekanntes Mitglied
Du hast jetzt nicht beschrieben, wie du die Rotation machst...

EDIT: Zoomen und Bewegen, so wie du es gepostet hast, müßte doch eigentlich funktionieren...?

Steht doch in mouseRotateJCanvas3D drin.Also ich speichere beim Klicken die beiden X und Y Werte und berechene dann beim Ziehen(MouseDragged) stetig die Differenz der beiden Punkte.Ich erzeuge für beide Transformationen(X und Y) zwei Transform Objekte (longditudeTransform,latitudeTransform),die ich dann mit der Zieltransformation(TargetTransform) multipliziere.
 

Marco13

Top Contributor
Da hätt' ich wohl mal runterscrollen sollen :oops:

So beim drüberschauen seh' ich den Fehler nicht, aber habe auch leider gerade keine Zeit, mir da ein KSKB zu basteln.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
aze Wie Transform3D für PosPathInterpolator bestimmen Spiele- und Multimedia-Programmierung 8
Developer_X Transform3D[] und TransformGroup[] Spiele- und Multimedia-Programmierung 13
J Frage zu Transform3D.mul() Spiele- und Multimedia-Programmierung 2
BraunBerry Rotation mit Radiusänderung Spiele- und Multimedia-Programmierung 0
BraunBerry Rotation von Objekten um ein Raumschiff Spiele- und Multimedia-Programmierung 6
E Rotation um Bildmittelpunkt ohne Affine Transform!!!!! Spiele- und Multimedia-Programmierung 13
RalleYTN LWJGL Rotation Spiele- und Multimedia-Programmierung 1
P Rotation von Sprite klappt nicht Spiele- und Multimedia-Programmierung 4
J Java 3d Rotation Spiele- und Multimedia-Programmierung 6
B j3d Rotation um mehr als eine Achse Spiele- und Multimedia-Programmierung 9
B j3d Kamera Rotation durch Tastendruck Spiele- und Multimedia-Programmierung 12
H Rotation auf Knopfdruck Spiele- und Multimedia-Programmierung 20
T [gelöst] Java3D: Unerwünschte Rotation um die 3.Achse vermeiden? Spiele- und Multimedia-Programmierung 3
W Rotation aller Objekte einer 3D-Szene Spiele- und Multimedia-Programmierung 8
V Jogl: Objekt trotz Rotation immer in gleiche Richtung bewegen Spiele- und Multimedia-Programmierung 5
E Tetris: Rotation der Tetrominos Spiele- und Multimedia-Programmierung 4
C Java3D Rotation um einen Punkt (y-achse) Spiele- und Multimedia-Programmierung 2
J Hilfe: Rotation X und Y Achse (Java3d) Spiele- und Multimedia-Programmierung 12
C JAVA3D Rotation um einen bestimmten Punkt Spiele- und Multimedia-Programmierung 20
"Er" Kamera rotation in Java3D Spiele- und Multimedia-Programmierung 2
R Tetris Rotation? Spiele- und Multimedia-Programmierung 7
P Figur Rotation Spiele- und Multimedia-Programmierung 14
G rotation eines würfels Spiele- und Multimedia-Programmierung 9
T Java3D: Rotation und Translation Spiele- und Multimedia-Programmierung 2
S Rotation relativ zur Rotation einer anderen Transform Group Spiele- und Multimedia-Programmierung 3
S Rotation um verschobene Achse Spiele- und Multimedia-Programmierung 7
Quaxli Java 3D - Rotation mit Alpha Spiele- und Multimedia-Programmierung 2
H Probleme bei Rotation Spiele- und Multimedia-Programmierung 9
P Rotation von BufferedImage (Affine Transformation) Spiele- und Multimedia-Programmierung 7
J Problem mit Rotation (Sprite3D) Spiele- und Multimedia-Programmierung 4
S Punkt berechnen, nach Rotation Spiele- und Multimedia-Programmierung 2
W Rotation eines Objektes Spiele- und Multimedia-Programmierung 2
W 3d-rotation Spiele- und Multimedia-Programmierung 4
A 2-Achsen Rotation eines Würfels Spiele- und Multimedia-Programmierung 4

Ähnliche Java Themen


Oben