Wendet eine 4x4-Matrix, oder eine Liste von Matrizen, die von der ersten bis zur letzten angewendet werden, auf eine Form an.
Die Matrix ist spaltenweise gespeichert, daher sitzt die Verschiebung an den Indizes 12 bis 14. Eine Matrix, die
streckt oder schert, ist erlaubt; bauen Sie Matrizen mit den ...ToMatrix-Methoden und kombinieren Sie
sie mit multiplyTransforms. Eine Matrix, die der Kernel nicht anwenden kann, löst einen Fehler aus.
Die Form und die Matrix oder die Liste von Matrizen
Die transformierte Form
const move = await bitbybit.occt.transforms.translationToMatrix({ translation: [10, 0, 0] });
const turn = await bitbybit.occt.transforms.rotationAxisAngleToMatrix({ axis: [0, 1, 0], angle: 90, center: [0, 0, 0] });
const placed = await bitbybit.occt.transforms.transformByMatrix({ shape: box, transformation: [turn, move] });
Wendet dieselbe 4x4-Matrix, oder Liste von Matrizen, die von der ersten bis zur letzten angewendet werden, auf mehrere Formen an, wie
transformByMatrix es für eine tut.
Die Formen und die Matrix oder die Liste von Matrizen
Die transformierten Formen, in derselben Reihenfolge
Liest die Platzierung, die eine Form trägt, die auf ihr gespeicherte Transformation statt der in ihre Geometrie eingebrannten, als Matrix plus ihre Verschiebung, ihr Rotationsquaternion und ihre gleichmäßige Skalierung.
Eine mit align oder über eine Baugruppe platzierte Form trägt eine solche Platzierung; die meisten anderen
Methoden hier brennen die Bewegung in die Geometrie ein, und eine solche Form meldet die Identität.
Die zu lesende Form
Die Matrix, die Verschiebung, das Quaternion als [x, y, z, w] und die Skalierung
Erzeugt die Identitätsmatrix, die Transformation, die nichts ändert, als Ausgangspunkt zum Zusammensetzen anderer.
Die Einheitsmatrix, spaltenweise
Erzeugt eine Matrix aus einer Verschiebung, drei Drehwinkeln in Grad um X, Y und Z und einer gleichmäßigen Skalierung.
Die Skalierung wird zuerst angewendet, dann die Drehungen (Z zuerst, dann Y, dann X), dann die Verschiebung, was die Reihenfolge ist, die Baugruppenplatzierungen verwenden. Jeder weggelassene Teil gilt als keine Änderung.
Die Verschiebung, die drei Drehwinkel in Grad und der Skalierungsfaktor
Die kombinierte Matrix, spaltenweise
Fasst eine Liste von Matrizen zu einer zusammen, von der ersten bis zur letzten angewendet, sodass eine Kette von Bewegungen zu einer einzigen Matrix wird.
Eine einzelne Matrix wird unverändert zurückgegeben und eine leere Liste ergibt die Identität.
Die Matrix oder die Liste von Matrizen
Die kombinierte Matrix, spaltenweise
Invertiert eine Matrix und liefert die Transformation, die sie rückgängig macht: eine Matrix und dann ihre Inverse anzuwenden, bringt eine Form dorthin zurück, wo sie war.
Die zu invertierende Matrix
Die inverse Matrix, spaltenweise
Erzeugt die Matrix einer Verschiebung um einen Vektor, in Modelleinheiten.
Der Verschiebungsvektor
Die Verschiebungsmatrix, spaltenweise
Erzeugt die Matrix einer Drehung um einen Winkel in Grad um eine Achse, durch den Ursprung oder durch einen optionalen Mittelpunkt.
Die Drehung folgt der Rechte-Hand-Regel um axis.
Die Achsenrichtung, der Winkel in Grad und der optionale Punkt, durch den die Achse verläuft
Die Drehmatrix, spaltenweise
Erzeugt die Matrix einer gleichmäßigen Skalierung mit einem Faktor um den Ursprung oder einen optionalen Mittel- punkt.
Der Faktor und der optionale Punkt, um den skaliert wird
Die Skalierungsmatrix, spaltenweise
Erzeugt die Matrix einer Spiegelung durch einen Punkt, die Transformation, die mirrorAboutPoint anwendet.
Der Punkt, durch den gespiegelt wird
Die Spiegelmatrix, spaltenweise
Erzeugt die Matrix einer Spiegelung an einer Linie, die Transformation, die mirror anwendet: die Achse durch
origin entlang direction.
Ein Punkt auf der Achse und die Achsenrichtung
Die Spiegelmatrix, spaltenweise
Erzeugt die Matrix einer Spiegelung an einer Ebene, die Transformation, die mirrorAlongNormal anwendet: die
Ebene durch origin mit der gegebenen Normalen.
Ein Punkt auf der Ebene und die Normale der Ebene
Die Spiegelmatrix, spaltenweise
Erzeugt die Rotationsmatrix eines Quaternions, gegeben als [x, y, z, w].
Das Quaternion wird zuerst normalisiert, daher spielt seine Länge keine Rolle.
Das Quaternion
Die Drehmatrix, spaltenweise
Wendet transform auf mehrere Formen an, jede mit ihrer eigenen Verschiebung, Drehachse, ihrem eigenen Winkel
und Skalierungsfaktor.
Alle Listen müssen gleich lang sein, sonst wird ein Fehler ausgelöst.
Die Formen und je Form eine Verschiebung, eine Drehachse, ein Winkel in Grad und ein Skalierungsfaktor
Die transformierten Formen, in derselben Reihenfolge
Wendet rotate auf mehrere Formen an, jede um ihre eigene Achse durch den Ursprung und um ihren eigenen
Winkel in Grad.
Alle Listen müssen gleich lang sein, sonst wird ein Fehler ausgelöst.
Die Formen und je Form eine Achse und ein Winkel
Die gedrehten Formen, in derselben Reihenfolge
Wendet rotateAroundCenter auf mehrere Formen an, jede mit ihrem eigenen Winkel in Grad, Mittelpunkt
und ihrer eigenen Achse.
Alle Listen müssen gleich lang sein, sonst wird ein Fehler ausgelöst.
Die Formen und je Form ein Winkel, ein Zentrum und eine Achse
Die gedrehten Formen, in derselben Reihenfolge
Wendet align auf mehrere Formen an, jede mit ihrem eigenen Ausgangs- und Zielbezugssystem.
Alle Listen müssen gleich lang sein, sonst wird ein Fehler ausgelöst.
Die Formen und je Form ein Ausgangsursprung, eine Ausgangsrichtung, ein Zielursprung und eine Zielrichtung
Die ausgerichteten Formen, in derselben Reihenfolge
Wendet alignAndTranslate auf mehrere Formen an, jede mit ihrer eigenen Richtung und ihrem eigenen Mittelpunkt.
Alle Listen müssen gleich lang sein, sonst wird ein Fehler ausgelöst.
Die Formen und je Form eine Richtung und ein Zentrum
Die platzierten Formen, in derselben Reihenfolge
Wendet translate auf mehrere Formen an, jede um ihren eigenen Vektor.
Die beiden Listen müssen gleich lang sein, sonst wird ein Fehler ausgelöst.
Die Formen und je Form ein Verschiebungsvektor
Die verschobenen Formen, in derselben Reihenfolge
Wendet scale auf mehrere Formen an, jede gleichmäßig um den Ursprung mit ihrem eigenen Faktor.
Die beiden Listen müssen gleich lang sein, sonst wird ein Fehler ausgelöst.
Die Formen und je Form ein Faktor
Die skalierten Formen, in derselben Reihenfolge
Wendet scale3d auf mehrere Formen an, jede mit ihren eigenen drei Faktoren und ihrem eigenen Mittelpunkt.
Alle Listen müssen gleich lang sein, sonst wird ein Fehler ausgelöst.
Die Formen und je Form ein Skalierungsvektor und ein Zentrum
Die skalierten Formen, in derselben Reihenfolge
Wendet mirror auf mehrere Formen an, jede an ihrer eigenen Achse.
Alle Listen müssen gleich lang sein, sonst wird ein Fehler ausgelöst.
Die Formen und je Form ein Achsenursprung und eine Achsenrichtung
Die gespiegelten Formen, in derselben Reihenfolge
Wendet mirrorAlongNormal auf mehrere Formen an, jede an ihrer eigenen Ebene.
Alle Listen müssen gleich lang sein, sonst wird ein Fehler ausgelöst.
Die Formen und je Form ein Ebenenursprung und eine Normale
Die gespiegelten Formen, in derselben Reihenfolge
Skaliert, dreht und verschiebt eine Form in einem Zug: zuerst die Skalierung um den Ursprung, dann die Drehung um eine Achse durch den Ursprung, dann die Verschiebung.
Weil die Skalierung und die Drehung um den Ursprung erfolgen, schwingt eine Form, die nicht dort ist, auch um ihn
herum; verschieben Sie sie zuerst, oder verwenden Sie rotateAroundCenter und scale3d für einen gewählten
Mittelpunkt.
Die Form, die Verschiebung, die Drehachse und der Winkel in Grad sowie der Skalierungsfaktor
Die transformierte Form
Dreht eine Form um eine Achse, die durch den Ursprung verläuft, um einen Winkel in Grad.
Die Drehung folgt der Rechte-Hand-Regel: mit dem Daumen entlang axis zeigen die Finger die
positive Richtung. Eine Form abseits des Ursprungs schwingt um ihn herum; rotateAroundCenter
dreht stattdessen um einen gewählten Punkt.
Die Form, die Achsenrichtung und der Winkel in Grad
Die gedrehte Form
Dreht eine Form um eine Achse, die durch einen gewählten Punkt verläuft, um einen Winkel in Grad.
Die Form wird so verschoben, dass der Punkt am Ursprung sitzt, dort mit der Rechte-Hand-Regel
um axis gedreht und zurückverschoben.
Die Form, der Winkel in Grad, der Punkt, durch den die Achse verläuft, und die Achsenrichtung
Die gedrehte Form
Verschiebt eine Form so, dass ein Punkt und eine Richtung auf ihr auf einem anderen Punkt und einer anderen Richtung landen: das
Bezugssystem fromOrigin mit fromDirection wird auf toOrigin mit toDirection getragen.
Dies ist der Weg, eine Form auf eine Oberfläche zu stellen oder sie entlang einer Linie auszurichten: die Form wird sowohl verschoben als auch gedreht, nie skaliert.
Die Form, der Punkt und die Richtung, von denen ausgegangen wird, und der Punkt und die Richtung, auf denen sie landen soll
Die ausgerichtete Form
Verschiebt eine Form so, dass ein vollständiges Bezugssystem auf ihr auf einem anderen Bezugssystem landet: ein Punkt, seine Normale und eine Achse in der Ebene dieser Normalen werden auf ihre Ziele getragen.
Wo align eine Richtung festlegt und die Drehung um sie frei lässt, legt dies auch die
Drehung fest, was für Formen zählt, die um ihre Achse nicht rund sind.
Die Form, der Punkt, die Normale und die Achse, von denen ausgegangen wird, und der Punkt, die Normale und die Achse, auf denen sie landen soll
Die ausgerichtete Form
Dreht eine Form so, dass ihre Y-Achse entlang direction zeigt, und verschiebt sie dann nach center.
Die flachen Formen und Primitive dieses Pakets werden auf dem Boden mit Y nach oben gebaut, daher ist dies der eine Aufruf, der jede von ihnen platziert: die Richtung wird ihr neues Oben, und der Mittelpunkt, wo sie sitzen.
Die Form, die Richtung, in die ihre Y-Achse zeigen soll, und der Punkt, zu dem sie verschoben wird
Die platzierte Form
Verschiebt eine Form um einen Vektor, in Modelleinheiten.
Die Form und der Vektor, um den sie verschoben wird
Die verschobene Form
Skaliert eine Form gleichmäßig um den Ursprung mit einem Faktor.
Eine Form abseits des Ursprungs bewegt sich auch von ihm weg oder zu ihm hin; scaleFromCenter skaliert
um einen gewählten Punkt und scale3d skaliert jede Achse mit ihrem eigenen Faktor.
Die Form und der Faktor
Die skalierte Form
Skaliert eine Form mit einem eigenen Faktor entlang X, Y und Z, um einen gewählten Mittelpunkt.
Ungleiche Faktoren strecken die Form, was Kreise zu Ellipsen macht und spätere Operationen, etwa Verrundungen, verlangsamen oder scheitern lassen kann; halten Sie die Faktoren gleich, wenn die Form nur wachsen muss.
Die Form, die drei Faktoren und der Punkt, um den skaliert wird
Die skalierte Form
Spiegelt eine Form an einer Linie: der Achse durch origin entlang direction.
Jeder Punkt landet so weit hinter der Linie, wie er davor war, was in 3D dasselbe ist wie eine halbe Drehung um diese Achse.
Die Form, ein Punkt auf der Achse und die Achsenrichtung
Die gespiegelte Form
Spiegelt eine Form an einer Ebene, gegeben durch einen Punkt auf ihr und ihre Normale.
Dies ist das übliche Spiegelbild, die Art, die ein symmetrisches Teil braucht; das Ergebnis ist in dem Sinne umgestülpt, dass eine linkshändige Form zu einer rechtshändigen wird.
Die Form, ein Punkt auf der Spiegelebene und die Normale der Ebene
Die gespiegelte Form
Skaliert eine Form gleichmäßig um einen gewählten Punkt mit einem Faktor.
Der Punkt bleibt, wo er ist, und alles andere bewegt sich von ihm weg oder zu ihm hin.
Die Form, der Faktor und der Punkt, um den skaliert wird
Die skalierte Form
Spiegelt eine Form durch einen Punkt: jeder Punkt der Form landet so weit jenseits des Punkts, wie er davor war, auf der gegenüberliegenden Seite.
Das Ergebnis ist umgestülpt, so wie ein ebener Spiegel eine linke Hand in eine rechte verwandelt.
Die Form und der Punkt, durch den gespiegelt wird
Die gespiegelte Form
Dreht eine Form um den Ursprung mit einem Quaternion, gegeben als [x, y, z, w].
Das Quaternion wird zuerst normalisiert, daher spielt seine Länge keine Rolle. Quaternionen sind das, was Animations- und Physikbibliotheken ausgeben, daher erspart dies ihre Umwandlung in eine Achse und einen Winkel.
Die Form und das Quaternion
Die gedrehte Form
Verschieben, Drehen, Skalieren und Spiegeln von OpenCascade-Formen und Bauen der 4x4-Matrizen, die solche Bewegungen beschreiben. Jede Methode gibt eine neue Form zurück und lässt die Eingabe, wie sie war. Winkel sind in Grad, Abstände in Modelleinheiten, und eine Drehachse verläuft durch den Ursprung, sofern eine Methode kein Zentrum nimmt. Matrizen sind 16 Zahlen in spaltenweiser Reihenfolge (die Verschiebung sitzt an den Indizes 12 bis 14); eine Liste von Matrizen wird von der ersten bis zur letzten als eine kombinierte Bewegung angewendet, so passen
transformByMatrixund die...ToMatrix-Builder zusammen.