# Kameraposition in Java3d ändern



## Illuvatar (9. Mrz 2004)

Der Titel sagt eigentlich schon alles... wie geht das?

Das wird ja im Tutorial von Sun nicht behandelt  .

Danke


----------



## Beni (9. Mrz 2004)

Wenn ich Java3D richtig verstanden habe, veränderst Du nicht die Kameraposition, sondern drehst das 3D-Bild.
Also musst du noch eine TransformGroup zwischen Universe und deinem Bild legen, und dann diese TransformGroup beeinflussen (z.B. wenn die Maus bewegt wurde, ...)

mfg Beni


----------



## Oxygenic (9. Mrz 2004)

Illuvatar hat gesagt.:
			
		

> Das wird ja im Tutorial von Sun nicht behandelt  .



In der Spezifikation ist es ausführlich beschrieben.

Beim SimpleUniverse kommst du mittels SimpleUniverse.getViewingPlatform().getViewPlatformTransform() an die benötigte Transformation.

cu 

Oxy 

http://forum.javacore.de - das Java-Forum! 
http://www.3dchat.org - Welcome To The unreal World!


----------



## Illuvatar (10. Mrz 2004)

Danke, das ist, was ich gesucht habe.  



			
				Oxygenic hat gesagt.:
			
		

> In der Spezifikation ist es ausführlich beschrieben.



Ich finds nicht.

Meinst du in der 3D-API :?:


----------



## Oxygenic (10. Mrz 2004)

In den JavaDocs steht es nicht, es gibt aber noch eine ziemlich monströse Spezifikation zu J3D 1.2.x, die nach wie vor sehr lesenswert ist (OK, > 600 Seiten aber dafür sehr hilfreich).

cu 

Oxy 

http://forum.javacore.de - das Java-Forum! 
http://www.3dchat.org - Welcome To The unreal World!


----------



## Illuvatar (10. Mrz 2004)

Aha, 

sollte ich mir vielleicht mal anschauen.


----------



## Oxygenic (11. Mrz 2004)

Unter http://java3d.virtualworlds.de/books.php gibts auch einen Link dort hin (Java 3D Documentation, 1.2.x, pdf).

cu 

Oxy 

http://forum.javacore.de - das Java-Forum! 
http://www.3dchat.org - Welcome To The unreal World!


----------



## TaxidriverTL (11. Mrz 2004)

@Oxygenic



			
				Oxygenic hat gesagt.:
			
		

> Illuvatar hat gesagt.:
> 
> 
> 
> ...



Hallo

kannst Du mir dazu ein beispiel geben? standartmässig sehe ich ja in z-richtung. ich möchte mir aber meine Szene jetzt von schräg oben ansehen ohne die enthaltenen Objekte alle einzeln zu drehen.
habs schon mal so:


```
TransformGroup t = viewingPlatform.getViewPlatformTransform();
    Transform3D t3d = new Transform3D();
    t3d.rotY(Math.PI / 3);
    t.getTransform(t3d);
```

versucht, funzt aber nicht.   

Wäre Super wenn Du mir da weiterhelfen könntest.

Gruß Timo


----------



## Illuvatar (11. Mrz 2004)

Ähhh... wie wärs mit *set*Transform(t3d)?

Und du solltest 
	
	
	
	





```
Transform t3d = null;
t.getTransform (t3d);
```
 am Anfang machen.


----------



## Guest (12. Jan 2006)

@Illuvator: mit NULL wird das glaub ich nix.

Zusammengefasst geht das etwa so:


```
TransformGroup tg = ((SimpleUniverse) su).getViewingPlatform().getViewPlatformTransform();
    Transform3D t3da = new Transform3D();
    Transform3D t3db = new Transform3D();
    tg.getTransform(t3da);
    t3db.rotY(Math.PI /3);
    t3da.mul(t3db); // möglicherweise auch andersrum.
    tg.setTransform(t3da);
```

cu Spacerat


----------



## Illuvatar (12. Jan 2006)

0o natürlich nicht; frag mich net was ich da gedacht hab, aber wenn das jemand net selbst gecheckt hätte, hätte er ja wohl innerhalb der letzten *8 Monate* nachgefragt???

Ach ja ich heiße Illuvatar, wie der aus dem Silmarillion nur mit 2 l.


----------



## Beni (12. Jan 2006)

Du meinst wohl *20 Monate*! (wir haben schon 2006 :wink: )


----------



## DeepBlue (13. Jan 2006)

Oha, wer kramt den so alte Threads hervor  :?


----------



## Illuvatar (13. Jan 2006)

Oi 2004, ich hatte nur "März" gesehen


----------

