projectVector()

Zusammenfassung

Projiziert einen vector auf eine Ebene, indem Sie einen neuen vector in dieser Ebene. Die Ebene wird definiert, indem Sie eine point und Normale vector . Die Ebenennormale ist die Projektionsrichtung. Wenn vector und die normale ausgerichtet sind, dann eine fehlerhafte Geometrie Situation erstellt wird (ein Wert von Null vector ), aber dies ist nicht als Fehler, da einige vector Algebra korrekt verarbeitet Null vectors als Zwischenergebnisse. Beachten Sie jedoch, dass ein vector in den meisten Geometrieerstellungsfunktionen stellt.

Syntax

projectVector ( v As Vector, _
                planePoint As Point, _
                nor As Vector ) As Vector
Argument Typ Beschreibung
v Vector vector projiziert wird.
planePoint Point Eine point auf der Projektionsebene.
nor Vector Die Ebenennormale vector und die Projektion vector .

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 () nicht die projizierte vector in einen vector .
 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 die Ebenennormale vector wird in der gleichen Richtung wie die vector projiziert wird, wird die Funktion eine Null vector .
Intent >projectVector(vector(0,0,1), point(0,0,0), vector(0,0,1)) 
--> Vector_(0.0, 0.0, 0.0, WorldFrame())