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 Normalenvektor definiert. Die Ebenennormale ist die Projektionsrichtung. Wenn Vektor und Normale zueinander ausgerichtet sind, ergibt sich eine fehlerhafte geometrische Situation (Nullvektor). Dies wird allerdings nicht als Fehler gewertet, da Nullvektoren von mancher Vektoralgebra korrekt als Zwischenergebnisse verarbeitet werden können. Für die meisten Geometrieerstellungsfunktionen stellt die Verarbeitung von Nullvektoren jedoch ein Problem dar.

Syntax

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

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 Einheitsvektor.
 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 Normalenvektor der Ebene in die gleiche Richtung wie der zu projizierende Vektor verläuft, gibt die Funktion einen Nullvektor zurück.
Intent >projectVector(vector(0,0,1), point(0,0,0), vector(0,0,1)) 
--> Vector_(0.0, 0.0, 0.0, WorldFrame())