Entwickler-Ecke

Multimedia / Grafik - Weltkoordinaten ermitteln


mister_x - Di 13.03.07 12:45
Titel: Weltkoordinaten ermitteln
Serz Leutz

weiß jemand wie man die weltkoordinaten von einem object herausfinden kann das ein child von einem anderen ist??

also so was hab ich schon gefunden:


Delphi-Quelltext
1:
Object.LocalToAbsolute(Object.AbsolutePosition)                    


aber das liefert mir nicht die koordinaten wenn ich das parentobject vorher gedreht habe....

würde mich freuen wenn mir jemand helfen kann


mister_x - Do 15.03.07 19:32

kann mir niemand helfen?????


ene - Di 20.03.07 12:46

Was möchtest du denn genau ausgeben? Und was ist dein Objekt? Ein Objekt ist doch ein Körper, der hat mehrere Koordinaten.


wulfskin - Di 20.03.07 13:38
Titel: Re: Weltkoordinaten ermitteln
Zunächst mal: Ich habe keine Ahnung von OpenGL, deshalb könnte die Antwort _komplett_ Falsch sein.

user profile iconmister_x hat folgendes geschrieben:
aber das liefert mir nicht die koordinaten wenn ich das parentobject vorher gedreht habe....
Darunter verstehe ich also, dass du die Koordinaten relativ zu dem Mutter-Körper bekommst, ist das richtig?
Wenn dem so ist, dann könntest du über die absolute Position des Mutterkörpers zurückrechnen, wie die Position des Kindkörpers ist?!

Gruß Hape!


mister_x - Di 20.03.07 13:42

user profile iconene hat folgendes geschrieben:
Was möchtest du denn genau ausgeben? Und was ist dein Objekt? Ein Objekt ist doch ein Körper, der hat mehrere Koordinaten.


ja des objekt ist ein körper un ich brauche auch alle drei (X,Y,Z) Koordinaten

die weltkoordinaten brauche ich halt für eine berechnung
genauer gesagt ich will in groben zügen einen Menschen nachbilden den ich dann in verschiedene positionen bringen kann und dann will ich zu dieser position den schwerpunkt ausgeben.....
und dazu brauch ich die weltkoordinaten von den verschiedenen gelenke


ene - Di 20.03.07 13:45

@wulfskin Genauso verhält es sich. Ganz einfach:

Wenn (Objekt 3 zu Objekt 2) und (Objekt 2 zu Objekt 1) gehört,

Und

Objekt1.Position.X:= 0, Objekt2.Position.X:= +3, Objekt3.Position.X:= -3 hat,

Dann ist Objekt3.AbsolutPosition.X = 0

Denn jedes Child wird relativ zum Parent ausgerichtet. Wobei man auch mit den Extents des Objektes 3 arbeiten kann, denn die befinden sich immer absolut im Raum.