Sind die ersten drei Werte, die eine 3D-Ebene beschreiben, tatsächlich ein 3D-Vektor?


13

Eine 3D-Ebene ist typischerweise definiert als a,b,c,d. Handelt es sich bei a,b,cden x,y,zKoordinaten eines 3D-Vektors, mit dem ddie Rotation der Ebene definiert wird, tatsächlich um Achsenwinkel-Rotationsdaten?

Antworten:


22

Die viervariable Darstellung einer Ebene ist der Koeffizient in der Gleichheit

axe + by + cz = d

Dies kann so gesehen werden, dass N = ( a , b , c ) ein normaler Vektor und d ein Abstand vom Koordinatenursprung ist (in Einheiten der Länge von N ), und wir können diese Gleichung auch schreiben als N · P = d , wobei P = ( x , y , z ).

Diese Darstellung erlaubt es nicht , einen bestimmten „Ursprung der Ebene“ zu definieren - mathematische Ebenen haben keinen Ursprung. (Da jedoch N · P = d ist , können wir P = ( d | N | -2 ) N setzen und einen bestimmten Punkt auf der Ebene erhalten: den Punkt, der dem Ursprung des Koordinatensystems am nächsten liegt .)

Wenn Sie das = in <oder> ändern, beschreiben Sie einen "halben Raum", der für Dinge wie eine unendliche Etage in einer Physik-Engine verwendet werden kann. Der entgegengesetzte Halbraum wird erhalten, indem sowohl N als auch d negiert werden .


Gute Antwort. Nur eine Korrektur: d entspricht eher einem quadratischen Abstand (es sei denn (a, b, c) hat die Länge 1, was häufig der Fall ist, aber nicht garantiert wird).
Sam Hocevar

@SamHocevar im Quadrat? Das ist alles linear. Ich denke, Sie denken an das, was ich als d in Einheiten von N ausgedrückt habe .
Kevin Reid

Oh, dann ist alles in Ordnung, sorry!
Sam Hocevar

3

"Typisch" ist ein ziemlich subjektives Wort, nach meiner Erfahrung gibt es verschiedene Möglichkeiten, eine Ebene in einem 3D-Raum zu beschreiben, die aufgrund der Eigenschaften, die solche Konstruktionen aufweisen, üblicher sind.

Zu Ihrer Frage gibt es 4 reelle Werte, um eine Ebene in einem 3D-Raum zu bestimmen. Wie Sie bereits betont haben, können a, b, c die Komponenten eines Vektors sein, der senkrecht zur gewünschten Ebene steht. Wenn N = (a, b, c) unser senkrechter Vektor ist, können Sie einen Punkt in Ihrer Ebene finden, der P = d N für einige d reelle und positive ist. Hier sagen Sie, dass d der Abstand vom Ursprung im Ausdruck von N ist ; Wenn N ein Einheitsvektor ist, dann ist d der Abstand zwischen dem Ursprung und Ihrer Ebene in der Art, wie der Begriff "Abstand" gemeinhin gemeint ist.

Überraschenderweise können Sie jede mögliche orientierte Ebene definieren, da Sie negative Werte für d verwenden können . Dabei verlieren Sie die direkte Bedeutung von d als Abstand, bis Sie einen absoluten Wert ( | d | ) eingeben .


2
"Typisch" ist ein subjektives Wort. "Tipically" ist kein Wort. (Entschuldigung für das Nitpicken, aber ich konnte nicht widerstehen, da Sie es sogar betont haben.)
Ilmari Karonen

0

Soweit ich weiß, wird eine Ebene normalerweise durch eine Position definiert, um uns mitzuteilen, wo der Ursprung liegt, und durch eine Normalen, die von der Ebene nach oben zeigt, um uns mitzuteilen, welche Orientierung wir haben. Es ist üblich, hierfür zwei Vektoren zu verwenden.

Mit vier Variablen haben Sie nicht genug Variablen, um eine Ebene zu definieren, deren Ursprung nicht bei (0,0,0) liegt, oder nicht genug Variablen, um alle Rotationen zu berücksichtigen.

Das Minimum, das wir für eine Ebene im euklidischen 3D-Raum mit einem Ursprung benötigen, der nicht bei (0,0,0) liegt und in der wir uns ausrichten können, ist 5. Stellen Sie sich die Einheitskugel vor, wir benötigen 3 Variablen, um zu definieren, wo der Ursprung liegt der Einheitskugel ist (X, Y, Z). Dann brauchen wir zwei Variablen, um zu definieren, wo sich das 'Hoch' der Ebene befindet. Wir können dies tun, indem wir den beschriebenen Vektor verwenden, indem wir vom Ursprung der Kugel zu ihrer Oberfläche gehen, wenn ein Breitengrad und ein Längengrad gegeben sind.

Wie Sie eine Ebene mit nur vier Variablen rekonstruieren würden, weiß ich nicht. Vielleicht arbeiten Sie in einem engen Bereich (die Ebene ist immer auf (0,0,0) und die vier Variablen sind eine Quaternion?) Oder die Variablen sind keine Skalare? In welchem ​​Kontext verwenden Sie dieses a, b, c, d?


Eine Ebene wird normalerweise als Normal / Abstand oder die vier Skalare definiert (was im Grunde genommen dasselbe ist). Es gibt keinen Punkt, da der vierte Skalar (der Abstand vom Ursprung) dem Punkt (Punkt, normal) entspricht. Dies ist auch die häufigste Methode zur Interaktion mit Ebenen (Überprüfen, auf welcher Seite sich ein Punkt befindet und wie weit er von der Ebene entfernt ist). und muss daher optimal sein (niemand möchte die Entfernung in jedem Test neu berechnen).
Schlange5

Ich hatte keine Ahnung! Ich verstehe immer noch nicht, wie Sie in diesem Fall alle Orientierungen bekommen würden. Könnten Sie Ihren Kommentar zu einer Antwort erweitern, von der wir alle profitieren würden :). Hoppla, FXIII hat die Antwort nicht gesehen
Roy T.
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.