Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   3D-Objekt richtig drehen/ Rotationangle (https://www.delphipraxis.net/193050-3d-objekt-richtig-drehen-rotationangle.html)

derseitzer 14. Jun 2017 14:15

3D-Objekt richtig drehen/ Rotationangle
 
Hallo Leute :),
Ich hoffe ihr versteht meine Frage, es ist nicht leicht sie zu beschreiben:

Meine App erstellt 3D-Objekte (hier mal als Beispiel eine Kugel (TSphere) ) und diese Objekte drehe ich mit einem handy Sensor.
Ich drehe also z.b. mein handy nach rechts und links und somit ändere ich meine TSphere.rotationangle.x variable.
Nun gibt es da aber ein Problem und dies ist meine Frage:
Angenommen ich neige mein Handy nach oben (stell euch vor man sieht die Kugel nun aus der Luft-perspektive von oben) und nun neige ich mein Handy nach rechts bzw. links, dann dreht sich die Kugel nicht einfach aus der Luft-Perspektive nach links und rechts, sondern das Objekt dreht sich von oben gesehen wie ein Kreisel, wenn ihr versteht was ich meine.
Die Kugel dreht sich um ihre X Achse, so wie das Objekt erstellt wurde, aber eigentlich will ich, das die Kugel sich, so wie sie sich gerade auf der form befindet, nun nach rechts und links dreht.
Ich habe mir schon gedanken gemacht, wie man das schaffen soll und letzten Endes ist mir nur eingefallen, das Kamera Objekt zu verwenden. Da ich mich damit aber nicht auskenne, und auch nicht weiß, wie ich die Kamera dann bewegen soll wenn ich mein Handy bewege, frage ich nun euch :/ hoffentlich kann mir jemand helfen,
MFG
Derseitzer

derseitzer 16. Jun 2017 21:02

AW: 3D-Objekt richtig drehen/ Rotationangle
 
*push*

ZYLAGON 16. Jun 2017 22:18

AW: 3D-Objekt richtig drehen/ Rotationangle
 
Hallo derseitzer,

ich bin mir nicht sicher, ob ich Dir weiterhelfen kann, da ich mit Sensoren keine Erfahrung habe, aber bezüglich der Rotation Folgendes:

Zitat:

Ich drehe also z.b. mein handy nach rechts und links und somit ändere ich meine TSphere.rotationangle.x variable.
Bei der Drehung nach rechts und links geht es um die Y-Achse, nicht X-Achse.

Zitat:

Angenommen ich neige mein Handy nach oben (stell euch vor man sieht die Kugel nun aus der Luft-perspektive von oben)
Das bedeutet, Du hast die Kugel um 90° an der X-Achse gedreht. Dann sieht man sie aus der Vogelperspektive. Kann ich genau nachvollziehen.

Zitat:

und nun neige ich mein Handy nach rechts bzw. links, dann dreht sich die Kugel nicht einfach aus der Luft-Perspektive nach links und rechts, sondern das Objekt dreht sich von oben gesehen wie ein Kreisel, wenn ihr versteht was ich meine.
Das stimmt so nicht. Wenn sich jetzt die Kugel wie ein Kreisel dreht, dann handelt es sich nicht um eine Neigung nach rechts bzw. links (Z-Achse) sondern um eine Drehung nach rechts bzw. links (Y-Achse).

Zitat:

aber eigentlich will ich, das die Kugel sich, so wie sie sich gerade auf der form befindet, nun nach rechts und links dreht.
Wie eben beschrieben, müsstest Du um die korrekte Achse rotieren.
Wäre in diesem Fall die Z-Achse, wenn ich die Aufgabe richtig verstanden habe.

VG
ZYL


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:11 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