# Wie kann ich ein OrbitBehavior auf einen festen Wert setzen?



## Thoralt (16. Mai 2008)

Hallo Leute,

folgendes Problem: Ich benutze OrbitBehavior dazu, um meine 3D-Welt zu drehen, zu verschieben und zu zoomen. Ich hätte gern einen Satz "Default-Koordinaten", die man per Mausklick oder Taste wiederherstellen kann (z. B. Sicht von oben).

Dazu habe ich im Forum gefunden: OrbitBehavior um wieviel gedreht?

Das hat mich auf die Idee gebracht, einmal folgendes zu versuchen:

```
OrbitBehavior orbit = new OrbitBehavior(c3d, OrbitBehavior.REVERSE_ALL);
orbit.setSchedulingBounds(new BoundingSphere());
universe.getViewingPlatform().setViewPlatformBehavior(orbit);
universe.getViewingPlatform().setNominalViewingTransform();

Transform3D t3d = new Transform3D();
universe.getViewingPlatform().getViewPlatformTransform().getTransform(t3d);
Matrix3f rotMatrix = new Matrix3f();

rotMatrix.setRow(0, 0.999930f, -0.005053f, 0.010704f);
rotMatrix.setRow(1, -0.010140f, 0.100798f, 0.994855f);
rotMatrix.setRow(2, -0.006105f, -0.994894f, 0.100740f);

t3d.set(rotMatrix);
universe.getViewingPlatform().getViewPlatformTransform().setTransform(t3d);
```

Die Matrix-Werte habe ich mit .getTransform() zu einem Zeitpunkt ermittelt, als die 3D-Welt vernünftig sichtbar war. Wenn ich nun das o. g. Stückchen Code zur Initialisierung des Universe benutze, dann ist meine Welt leider unsichtbar (ich sehe nur den Hintergrund). Das läßt vermuten, daß ich nicht alle relevanten Parameter gesetzt habe. Wie komme ich weiter?

Vielen Dank für Eure Hilfe im Voraus

Thoralt


----------



## Marco13 (16. Mai 2008)

Hm - ist jetzt nur grob geraten, aber ... eine 3x3-Matrix reicht ja nicht aus, um alles zu beschreiben. Die beschreibt in diesem Fall nur die Rotation, aber die Translation geht dabei komplett flöten. Versuch' vielleicht mal, genau das gleiche mit einer 4x4-Matrix zu machen...


----------



## Thoralt (16. Mai 2008)

Marco13 hat gesagt.:
			
		

> Versuch' vielleicht mal, genau das gleiche mit einer 4x4-Matrix zu machen...


Gesagt, getan. Hat funktioniert  Ich bin jetzt um ein Problem ärmer *G*

Vielen Dank!

Thoralt


----------

