Beim Versuch, verschiedene Koordinatensysteme zu verstehen, stieß ich auf diese Website , die besagt:
RenderMan verwendet left-handed coordinate system
und die positive Rotation ist clockwise
, während OpenGL right-handed coordinate system
und die positive Rotation counter-clockwise
verwendet.
Meine Frage ist, ob die Drehrichtung und die Händigkeit des Koordinatensystems nur zwei verschiedene Konventionen sind oder dass dies aus der Mathematik selbst resultiert?
Ebenso weiß ich, dass die vorderen Ecken von Dreiecken in counter-clokwise
direction in OpenGL angeordnet werden müssen. Bezieht sich dies auch auf die Händigkeit des Koordinatensystems oder ist es nur eine andere nicht verwandte Konvention?
Und drittens, wenn ein Bild eines zufälligen Koordinatensystems mit Achsen, die als x, y, z
gekennzeichnet sind, vor mich geworfen wird, wie kann ich sagen, welcher Linkshänder ist und welcher Rechtshänder?
Ich weiß, dass es eine Regel mit der rechten Hand und der Mitte und dem Zeigefinger und dem Daumen gibt, aber jeder scheint es anders zu benutzen. Wie sollte ich meine Finger mit diesen Achsen ausrichten?
Es tut mir leid, dass ich wahrscheinlich eine Menge nicht miteinander verwandter Sachen gemischt habe, aber nach dem Lesen aller Arten von Internetquellen beginnen sich die Dinge in meinem Kopf zu vermischen.
Eine ziemlich häufige Methode für die linke oder die rechte Hand:
Auch das ist:
Bestimmen Sie einen positiven XYZ-Koordinatenrahmen:
In den meisten Fällen, mit denen ich vertraut bin (YMMV), ist die Regel der rechten Hand die Norm. Die Grafik kann manchmal ein bisschen verrückt sein, wenn man die Linke-Hand-Regel verwendet. In den Fällen, mit denen ich vertraut bin, die keineswegs erschöpfend sind, wird die linke Regel gewählt, weil der Programmierer / Designer möchte, dass Z in eine "natürliche" Richtung zeigt. Manche Leute mögen die Vorstellung nicht, dass Z in den Bildschirm hinein oder aus dem Bildschirm heraus zeigt.
Wenn einmal eine bestimmte Händigkeit gewählt wurde, dann ergeben sich Konsequenzen für die Vektorrichtungen. Obwohl ich nicht sicher bin, dass dies das richtige Beispiel ist, da ich mich eher mit Bildverarbeitung als mit Grafiken befasse, wenn ein Polygon mit orientierten Segmenten definiert wird, zeigt das Kreuzprodukt aufeinanderfolgender Segmente aus dem oder in den Bildschirm. Es ist wichtig zu wissen, welche Seite des 2D-Polygons nach außen zeigt, da das Polygon ein 2D-Objekt darstellen kann, das auf gegenüberliegenden Seiten unterschiedliche Farben hat.
Ganz allgemein wird die Wahl der Händigkeit bestimmen, wie mit Cross-Produkten umgegangen wird. "X-Kreuz Y gleich Z" ist das, was du machst, wenn du deine Finger und deinen Daumen mit deiner Hand zeigst.
Versuchen Sie, beide Hände auszustrecken und tun Sie dies:
Links- / Rechtshänder-Koordinatensysteme und ihre jeweilige Scheitelrotation sind unterschiedliche Konventionen. Die Drehung der Scheitelpunkte ist wichtig, da sie bestimmt, in welche Richtung die Normale zeigt.
Diese Normalen werden in allen Bereichen von der Lichtberechnung bis zur Rendering-Bestimmung verwendet. Wenn die Normale des Dreiecks in die gleiche Richtung wie der Ansichtsvektor zeigt, ist sie von der Kamera weggekehrt und wird nicht gezeichnet.
Wenn der Normalenvektor des Dreiecks in die entgegengesetzte Richtung des Ansichtsvektors zeigt (mit anderen Worten, gegenüber der Kamera), dann ist das Dreieck sichtbar und es wird gezeichnet.
Da in der Computergrafik die z-Richtung (z wird normalerweise als "Front-nach-hinten" -Richtung angenommen wird, kann es auch x oder y sein) wird in einem Rechts- und Linkshänder-System gekippt, die "Rotation" der Vektoren ist geladen ist definitiv wichtig.
Um Ihre dritte Frage zu beantworten: Wenn Sie ein paar Scheitelpunkte haben und Sie wissen, welche Achse von vorne nach hinten verläuft, können Sie leicht erkennen, ob es sich um ein Rechts- oder Linkshänder-System handelt. Bei einem System mit Rechtshänder nimmt z ab, wenn Sie sich von der Kamera entfernen. In einem linkshändigen System erhöht sich z.
Sie können sehen, wie Sie Ihre Hände auf dieser Website positionieren: Rechts- / Linkshänder-Koordinatensysteme
Tags und Links math geometry coordinate-systems