Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Wie ist das 3D-Koordinatensystem in GLScene? (https://www.delphipraxis.net/168261-wie-ist-das-3d-koordinatensystem-glscene.html)

Boyington 11. Mai 2012 16:01

Wie ist das 3D-Koordinatensystem in GLScene?
 
Hallo Leute,
wenn ich mich nicht irre, soll sich die Z-Achse von GLScene nach außen vom Bildschirm richten und die ist senkrecht zu Bildschirmebene (3D Objekt wird in GLSceneViewer angezeigt),
X-Achse ist waagerecht und richtet sich nach rechts, Y-Achse ist senkrecht und nach oben, bin ich richtig?

In meisten Literaturen ist der Rotatinoswinkel von pitch, roll, yaw POSITIV, wenn 3D-Objekt um (x,y,z) Achse im GEGENUHRZEIGERSINN rotiert. Aber in GLScene ist es umgekehrt. Deshalb wenn man die neue Koordinaten des Punktes nach Rotation wieder berechnen möchte, darf man die Rotationsmatrix NICHT Direkt verwenden (Multiplikation von Rotationsmatrix und Vektor), sondern einfach die Minus Winkel in der Rotationsmatrix einsetzen, oder?

Z.B: der Trackbar1.Position (für GLFreeForm1.Pitch) zeigt jetzt, dass der Pitchwinkel 45 Grad beträgt, soll ich -45 grad in der Rotationsmatrix einsetzen.
und wenn Trackbar2.Position=-90 Grad ist (für GLFreeForm1.Roll), soll ich +90 grad in Rotationsmatrix einsetzen.

kann mir jemand das mal erklären?

Ich bin sehr dankbar für die Antwort!


Gruss
Lee

Bummi 11. Mai 2012 19:31

AW: Wie ist das 3D-Koordinatensystem in GLScene?
 
nur ein Verdacht... weil y = 0 im üblichen Canvas oben liegt?

Boyington 14. Mai 2012 09:51

AW: Wie ist das 3D-Koordinatensystem in GLScene?
 
danke für die Antwort,Bummi :)

Meine Annahme vom 3D-Koordinatensystem in GLSceneViewer scheint richtig zu sein.
Aber der Koordinatenursprung von TForm liegt an oberer linker Ecke des TForm-Fensters, X-Achse nach rechts, Y-Achse nach unten

Gruss
Lee

Florian Hämmerle 14. Mai 2012 16:46

AW: Wie ist das 3D-Koordinatensystem in GLScene?
 
Wenn du dich aber anders besser zurechtfindest, gibt es IIRC einen Befehl, mit dem du den Ursprung nach Links-Unten verschieben kannst.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:35 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz