Forum: Object-Pascal / Delphi-Language
by Blup,
26. Mär 2012
Hat auch niemand behauptet, ist aber ein Ansatzpunkt für die Fehlersuche.
Frag mich wie du das ermittelt hast, da deine Berechnung der Rotation und der Transformation in 2D-Koordinaten zusammen erfolgen. Ich würde beides in dieser Form trennen:
Rotation
Tmp3D.x = f(3D.x, 3D.y, 3D.z)
Tmp3D.y = f(3D.x, 3D.y, 3D.z)
Tmp3D.z = f(3D.x, 3D.y, 3D.z)
Transformation
Forum: Object-Pascal / Delphi-Language
by Blup,
21. Mär 2012
Es ist mag simpel sein, auf jeden Fall ist es schon falsch.
Für die Darstellung eines um mehrere Achsen rotierten Objekts werden nicht alle benötigten Werte berücksichtigt.
Im Prinzip derzeit:
2D.x = f(3D.x, 3D.z)
2D.y = f(3D.y, 3D.z)
aber notwendig:
2D.x = f(3D.x, 3D.y, 3D.z)
2D.y = f(3D.x, 3D.y, 3D.z)