# Koordinaten von Objekten?



## Verjigorm (27. Feb 2007)

Hallo, ich habe ne Sphere, die per Positionpathinterpolator im Raum umherwuselt.

wie kriege ich denn die aktuellen Koordinaten von dem Ding raus (z.b. Mittelpunkt?)

ich find zu keinem Objekt in der Doc irgendwelche Positions/Koordinatenanzeigen


----------



## Illuvatar (27. Feb 2007)

Normal würde man das wohl über die TransformGroup machen, die von dem Interpolator verwendet wird (getTransform).

Allerdings hat auch jedes Node-Objekt eine Methode getLocalToVWorld, damit kannst du die "absoluten" Koordinaten herausfinden, also relativ zum Umiverse.


----------



## Verjigorm (27. Feb 2007)

ich hab schon getLocalToVworld versucht, aber der rückgabewert ist nurn void und ich raff nicht, was ich damit anfangen soll


----------



## Illuvatar (27. Feb 2007)

Der Rückgabewert wird in dem übergebenen Transform3D gespeichert...


----------



## Verjigorm (28. Feb 2007)

ah ok nun hab ichs
aber ich versteh die Werte nicht, die ich da rauskriege

0.8883826070926617, 0.39281336651108617, -0.2376425940471789, 0.8011080622673035
-0.3794711298864598, 0.9196182137660318, 0.10150863260071265, 0.0
0.25841440555421585, 0.0, 0.9660341582998301, 1.8310267925262451
0.0, 0.0, 0.0, 1.0

was bedeutet denn hier was?
wieso 4 werte in einem 3D-System?
und wieso 4 verschiedene Zeilen?
ich will doch nur die aktuelle Position


Edit: und noch ne Nebenfrage:

wie kann ich etwas während der laufzeit automatisch abfragen?
ich habe ja quasi nirgendwo im Code eine Art MainLoop die immer durchlaufen wird.
Habe das jetzt grade nur über einen Button gelöst, den ich dann immer drücke
aber das ist suboptimal


----------



## Illuvatar (28. Feb 2007)

Lies doch einfach mal die API oder so etwas...

Edit: Zur zweiten Frage 2-3 Stichwörter:

 - Behavior
 - WakeupOnElapsedTime oder WakeupOnElapsedFrames


----------



## Verjigorm (1. Mrz 2007)

Illuvatar hat gesagt.:
			
		

> Lies doch einfach mal die API oder so etwas...



auch wenn du mir das nicht glaubst, ich hab mir die Class Transform3D angeschaut
aber wieso da ne 4x4-matrix benutzt wird und wie man daraus die aktuellen koordinaten bekommt versteh ich nicht



			
				Illuvatar hat gesagt.:
			
		

> Edit: Zur zweiten Frage 2-3 Stichwörter:
> 
> - Behavior
> - WakeupOnElapsedTime oder WakeupOnElapsedFrames



schonmal danke


----------



## Illuvatar (1. Mrz 2007)

Hmm na gut 
Also Transform3D speichert eben nicht nur die Verschiebung, sondern auch die Rotation - das ganze in ne 4x4-Matrix, wie das dann mathematisch funktioniert, bin ich überfragt. Mit der oben verlinkten get-Methode gibt dir das Transform jedenfalls die Verschiebungskomponente zurück.


----------



## Verjigorm (10. Mrz 2007)

oh sorry hab vergessen hier was hinzuschreiben ^^

gut, den tieferen (mathematischen) sinn von dem ganzen hab ich nicht verstanden, aber wie es geht ausgezeichnet 

danke


----------

