![]() |
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 |
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 |
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 |
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!
|
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 ?
|
Re: Koordinatensystem (3D) drehen
indem du auf den ursprung klickst!
|
Re: Koordinatensystem (3D) drehen
Alle Achsen gehen durch den Ursprung, wie willst du die rausfinden, die geklickt wurde ?
|
Re: Koordinatensystem (3D) drehen
es wird die achse ausgewählt, welche orthogonal zur bildschirmebene ist!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:17 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz