Virtueller Trackball

Guten Morgen zusammen,

ich versuche momentan einen virtuellen Trackball zu programmieren. Diesen möchte ich nutzen, um eine 3D-Punktwolke zu rotieren.

Nur leider bekomme ich es nicht hin, dass ich die Bewegung des Mauszeigers auf meinem virtuellen Trackball auf die Punktwolke übertragen bekomme.

Zwar habe ich schon super viel recherchiert und alles gelesen, was ich dazu bisher finden konnte, bekomme es aber bisher nicht hin.

Der aktuelle Stand ist so:

Die Mausbewegung auf dem Kreis, der den Trackball darstellen soll, habe ich in einen Start- und Endpunkt umgerechnet. Also habe ich schon zwei 3D-Punkte auf einer Kugel.

Dann habe ich mit mit Quaternionen herumgeschlagen und auch ein Rotations-Quternion, das den Start- in den Endpunkt überführt, berechnet.

Nur weiß ich jetzt nich weiter. Was mache ich denn nun mit dem Rotations-Quaternion und meiner Punktwolke?

Hat vielleicht jemand eine Idee oder ein Tutorial für so einen virtuellen Trackball?

Vielen Dank für die Hilfe.

powerblue

Hallo,

vielleicht hilft dir dieser Link:

http://wiki.processing.org/w/Arcball

Grüße

godam

Hallo,

danke für die Antwort.

Leider hilft mir der Link nicht, da es hier schon die Klasse ArcBall gibt.

Ich möchte das Teil komplett selbst schreiben.

Grüße

powerblue

Hallo,

du kannst das Quaternion in eine Rotationsmatrix umrechnen und diese dann auf deine Punktwolke anwenden. Mehrere Rotationen sollten sich dann auch kombinieren lassen (Multiplikation der Matrizen).

Nico

Hallo,

ja in eine Matrix umrechnen geht. Ich kann auch direkt mit dem Quaternion arbeiten.

Aber die Kompletlösung bekomme ich im Moment nicht hin. Habe aber in einem alten Buch eine Implementierungsanleitung gefunden. Das Buch habe ich mir jetzt mal gebraucht für ein paar Euro bestellt.

Mit etwas Glück bekomme ich es noch in diesem Jahr, dann habe ich genug Zeit es noch auszuprobieren.

Melde mich dann mal wieder…

Grüße

powerblue