Rolling-Ball-Rotation

Rolling-Ball-Rotation
Physikalische Interpretation der Rolling-Ball-Rotation

Die Rolling-Ball-Rotation („Rotation des rollenden Balls“, auch Rollerball-Rotation) ist eine Mensch-Computer-Interaktionstechnik, die es erlaubt, mit Hilfe eines normalen Zeigegeräts dreidimensionale Rotationen eines Objekts in alle Richtungen durchzuführen. Sie ist in vielen 3D-Modellierungs- und CAD-Werkzeugen eingebaut.

Bei der Rolling-Ball-Rotation wird an einem beliebigen Punkt eine Maustaste gedrückt, der Mauszeiger verschoben und die Maustaste wieder losgelassen. Die dadurch bestimmte Rotation ist die einer Kugel, die ohne zu gleiten auf einer flachen Oberfläche rollt und die von oben mit der flachen Hand entsprechend der Bewegung des Mauszeigers bewegt wird.

Die Rolling-Ball-Rotation ist kontextfrei, das heißt, die Rotation wird vollständig durch den Verschiebungsvektor des Mauszeigers definiert, ohne dass frühere Positionen in die Drehung mit einfließen.

Umsetzung

Folgende Drehmatrix drückt die Rotation in Abhängigkeit von der Verschiebung des Mauszeigers aus:

\begin{pmatrix}
\cos \theta+(dy/dr)^2(1-\cos \theta) & -(dx/dr)(dy/dr)(1-\cos \theta) & (dx/dr)\sin \theta\\ \\
-(dx/dr)(dy/dr)(1-\cos \theta) & \cos \theta + (dx/dr)^2(1-\cos \theta) & (dy/dr)\sin \theta\\ \\
-(dx/dr)\sin \theta & -(dy/dr)\sin \theta & \cos \theta
\end{pmatrix}

dx und dy geben die Verschiebung des Mauszeigers in der X- beziehungsweise Y-Richtung in Pixeln an. Die anderen Werte sind wie folgt definiert:

dr = \sqrt{dx^2+dy^2}
\cos \theta = \frac{R}{\sqrt{R^2+dr^2}}
\sin \theta = \frac{dr}{\sqrt{R^2+dr^2}}

R ist dabei ein frei wählbarer Parameter, der den Radius des virtuellen rollenden Balls angibt und somit die Empfindlichkeit der Rotation bestimmt. Üblich ist ein Wert in der Größenordnung von 100 Pixeln.

Die Matrix ist so definiert, dass die X-, Y- und Z-Achsen ein rechtshändiges Koordinatensystem ergeben. Ihre Anwendung geht davon aus, dass sich das Rotationszentrum am Ursprung befindet. Wird eine Rotation um einen anderen Punkt gewünscht, so ist vorher und nachher eine entsprechende Verschiebung anzuwenden. Außerdem muss die Rotation auf ein Mal durchgeführt werden; nacheinander erfolgende Rotationen um die verschiedenen Achsen ergeben nicht dasselbe Resultat.

Weitere Interaktionsmethoden

Weitere, kontextsensitive Interaktionsmethoden zur Kontrolle der Rotation sind die Arcball-Methode von Shoemake[1] oder Chens Virtual Sphere[2].

Literatur

Weitere Methoden:

  1. Ken Shoemake: Arcball rotation control. In Paul Heckbert (Hrsg.): Graphics Gems IV. S. 172–192. Academic Press, Boston 1994, ISBN 0-12-336155-9
  2. Michael Chen u. a.: A Study in Interactive 3-D Rotation Using 2-D Control Devices. In SIGGRAPH 1988 Proceedings. S. 121–130. ACM, New York 1988, ISBN 0-89791-275-6 (Online, PDF)

Wikimedia Foundation.

Игры ⚽ Поможем сделать НИР

Schlagen Sie auch in anderen Wörterbüchern nach:

  • ball bearing — ball bearing, adj. Mach. 1. a bearing consisting of a number of hard balls running in grooves in the surfaces of two concentric rings, one of which is mounted on a rotating or oscillating shaft or the like. 2. any of the balls so used. [1880 85]… …   Universalium

  • Rolling — is a combination of rotation (of a radially symmetric object) and translation of that object with respect to a surface (either one or the other moves), such that the two are in contact with each other without sliding. This is achieved by a… …   Wikipedia

  • Rolling — Roll ing, a. 1. Rotating on an axis, or moving along a surface by rotation; turning over and over as if on an axis or a pivot; as, a rolling wheel or ball. [1913 Webster] 2. Moving on wheels or rollers, or as if on wheels or rollers; as, a… …   The Collaborative International Dictionary of English

  • Rolling bridge — Rolling Roll ing, a. 1. Rotating on an axis, or moving along a surface by rotation; turning over and over as if on an axis or a pivot; as, a rolling wheel or ball. [1913 Webster] 2. Moving on wheels or rollers, or as if on wheels or rollers; as,… …   The Collaborative International Dictionary of English

  • Rolling circle of a paddle wheel — Rolling Roll ing, a. 1. Rotating on an axis, or moving along a surface by rotation; turning over and over as if on an axis or a pivot; as, a rolling wheel or ball. [1913 Webster] 2. Moving on wheels or rollers, or as if on wheels or rollers; as,… …   The Collaborative International Dictionary of English

  • Rolling fire — Rolling Roll ing, a. 1. Rotating on an axis, or moving along a surface by rotation; turning over and over as if on an axis or a pivot; as, a rolling wheel or ball. [1913 Webster] 2. Moving on wheels or rollers, or as if on wheels or rollers; as,… …   The Collaborative International Dictionary of English

  • Rolling friction — Rolling Roll ing, a. 1. Rotating on an axis, or moving along a surface by rotation; turning over and over as if on an axis or a pivot; as, a rolling wheel or ball. [1913 Webster] 2. Moving on wheels or rollers, or as if on wheels or rollers; as,… …   The Collaborative International Dictionary of English

  • Rolling mill — Rolling Roll ing, a. 1. Rotating on an axis, or moving along a surface by rotation; turning over and over as if on an axis or a pivot; as, a rolling wheel or ball. [1913 Webster] 2. Moving on wheels or rollers, or as if on wheels or rollers; as,… …   The Collaborative International Dictionary of English

  • Rolling plant — Rolling Roll ing, a. 1. Rotating on an axis, or moving along a surface by rotation; turning over and over as if on an axis or a pivot; as, a rolling wheel or ball. [1913 Webster] 2. Moving on wheels or rollers, or as if on wheels or rollers; as,… …   The Collaborative International Dictionary of English

  • Rolling press — Rolling Roll ing, a. 1. Rotating on an axis, or moving along a surface by rotation; turning over and over as if on an axis or a pivot; as, a rolling wheel or ball. [1913 Webster] 2. Moving on wheels or rollers, or as if on wheels or rollers; as,… …   The Collaborative International Dictionary of English

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”