Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Koordinatensystem (3D) drehen (https://www.delphipraxis.net/39126-koordinatensystem-3d-drehen.html)

Urba 29. Jan 2005 00:17


Koordinatensystem (3D) drehen
 
Hallo Leute,

Ich habe mir ein Koordinatensystem in 3D programmiert, das funktioniert auch alles wunderbar, ich kann es drehen und alles, allerdings habe ich noch ein Problem. Ich hätte gern dass ich es durch Mausklick drehen kann. Man sieht das ja bei fast allen 3D-Programmen, aber wie erfolgt die Umrechnung aus den Delta y und Delta x der Mausposition. z.B. wenn ich den Mauszeiger 1 Pixel nach rechts bewege, um welche Achsen drehe ich dann? Scheinbar reicht es nicht um 2 feste Achsen zu drehen, da ich dann eine ungleichmäßige Drehung hervorrufe. Hat einer von euch eine Idee?

Noch als Anmerkung : Ich benutzte keinerlei Schnittstellen wie OpenGL oder DirectX. Es beruht alles auf meinen mathematischen berechnungen, nur wie gesagt diese Rotation funktioniert noch nicht gleichmäßig

Gruß
Urba

runger 29. Jan 2005 08:01

Re: Koordinatensystem (3D) drehen
 
Hallo,

du müsstest deiner Mausposition eine eindeutige räumliche Position zuordnen!
Das geht aber mit zwei Koordinaten nicht. Um eine eindeutige Drehung im Raum zu erreichen setze doch einfach einen der drei Werte auf der dein Mauszeiger sitzt von Hand.
Die Maus wird sich dann immer auf einer Ebene die parallel zu den aufgespannten xy xz oder yz Ebenen bewegen. Das würde dann eien paarweise Drehung des Systems bewirken.
Kannst du mir den Code posten? Würde mich interessien. Ich entwickle Feldberechnungsprogramme und das wäre eine nützliche Ergänzung.

Du müsstest ein 3D Display erfinden....

Rainer

Urba 29. Jan 2005 13:13

Re: Koordinatensystem (3D) drehen
 
Hallo,

Danke für die Antwort, aber ich habe es jetzt doch geschafft diese flüssige Bewegung hinzubekommen.

Danke trotzdem

Ich werde sie erst noch richtig ausarbeiten, dann können wir uns nochmal sprechen,ok ?

Gruß
Urba

ibp 29. Jan 2005 13:48

Re: Koordinatensystem (3D) drehen
 
biete doch auf jeder achse per änderung des cursors eine rotationsmöglichkeit um die jeweilige achse an! d.h. wnn ich auf die x-achse clicke und die maus dann davon hoch oder runter bewege, dann dreht sich das koordinatensystem um die x-achse, dementsprechend die anderen achsen!

Urba 29. Jan 2005 16:45

Re: Koordinatensystem (3D) drehen
 
Stell dir mal folgendes Koordinatenkreuz vor : x1-Achse zeigt auf dich, x2 nach rechts und x3 nach oben. Wie willst du da die x1-Achse im 2D anklicken ?

ibp 29. Jan 2005 18:16

Re: Koordinatensystem (3D) drehen
 
indem du auf den ursprung klickst!

Urba 30. Jan 2005 05:08

Re: Koordinatensystem (3D) drehen
 
Alle Achsen gehen durch den Ursprung, wie willst du die rausfinden, die geklickt wurde ?

ibp 30. Jan 2005 09:50

Re: Koordinatensystem (3D) drehen
 
es wird die achse ausgewählt, welche orthogonal zur bildschirmebene ist!


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