projectVector()

Zusammenfassung

Projiziert einen Vektor auf eine Ebene, sodass auf dieser Ebene ein neuer Vektor zurückgegeben wird. Die Ebene wird durch einen Punkt und einen Normalen vektor definiert. Die Ebenennormale ist die Projektionsrichtung. Wenn Vektor und Normale zueinander ausgerichtet sind, ergibt sich eine fehlerhafte geometrische Situation (Null vektor). Dies wird allerdings nicht als Fehler gewertet, da Null vektoren von mancher Vektor algebra korrekt als Zwischenergebnisse verarbeitet werden können. Für die meisten Geometrieerstellungsfunktionen stellt die Verarbeitung von Null vektoren jedoch ein Problem dar.

Syntax

projectVector ( v As Vector, _
                planePoint As Point, _
                nor As Vector ) As Vector
Argument Typ Beschreibung
v Vektor Der zu projizierende Vektor.
planePoint Punkt Ein Punkt auf der Projektionsebene.
nor Vektor Der Normalen vektor der Ebene und der Projektions vektor

Beispiel 1

Die Identitätsprojektion
Intent >projectVector(UnitX, point(0,0,0), UnitZ) 
--> Vector_(1.0, 0.0, 0.0, WorldFrame())

Beispiel 2

Beachten Sie, dass dies kein Fehler ist.
Intent >projectVector(UnitX, point(0,0,0), UnitX) 
--> Vector_(0.0, 0.0, 0.0, WorldFrame()) 

Beispiel 3

x- und y-Komponenten
 Intent >projectVector(vector(1,1,1), point(0,0,0), vector(0,0,1)) 
--> Vector_(1.0, 1.0, 0.0, WorldFrame())

Beispiel 4

Die Funktion projectVector() konvertiert den projizierten Vektor nicht in einen Einheits vektor.
 Intent >projectVector(vector(2,2,2), point(0,0,0), vector(1,0,0)) 
--> Vector_(0.0, 2.0, 2.0, WorldFrame())

Beispiel 5

Wenn der Normalen vektor der Ebene in die gleiche Richtung wie der zu projizierende Vektor verläuft, gibt die Funktion einen Null vektor zurück.
Intent >projectVector(vector(0,0,1), point(0,0,0), vector(0,0,1)) 
--> Vector_(0.0, 0.0, 0.0, WorldFrame())