Frage

Vor jeder auf mich springt für meine Hausaufgaben Outsourcing, meine Frage ist nicht eine Frage auf meine Hausaufgaben. Ich habe nur ein Problem ein paar Sachen immer richtig zu ziehen.

Ich versuche, Linien, die senkrecht zu einer Ebene zu ziehen. Ich weiß, dass die drei Punkte im Raum die die Ebene bilden. Aus diesen Koordinaten kann ich Vektoren berechnen und den Normalvektor der Ebene erhalten. Unter Verwendung der Koordinaten von der Mitte der drei Punkte und dem Normalvektor kann ich eine Linie senkrecht zur Ebene ziehen.

Mein Problem ist, dass die Länge dieser Linie auf den normalen Vektor gebunden ist, weil ich gerade bin, den Vektor mit den Koordinaten um zwei Punkte zu bekommen auf eine Linie zu zeichnen. Ohne einigen scheußlichen Brute-Force-Code zu verwenden, wie kann ich eine Zeile mit fester Länge jeden Punkt im 3D-Raum gegeben zeichnen und jeder Vektor.

(ich frage hier, weil ich auf Google suchen, nicht Begriffe kennen zu verwenden, mein Lehrbuch hat nichts mit diesem zu tun, und meinem Professor ist nicht verfügbar sein wird, bevor diese fällig ist.)

War es hilfreich?

Lösung

Sie müssen Ihre normalen Vektor 'normalisieren' ..

, das zu tun, teilen Sie den Vektor, der durch seine Größe.

die Länge oder Grße, des Vektors r ist gegeben durch:

                  
l = √ x2 + y2 + z2

r Sie dann durch seine Länge teilen (dh, indem jede Komponente davon Dividieren) geben

n = { x/l, y/l, z/l }

, die Sie geben einen neuen Normalvektor der Länge 1.

Sie können dann multiplizieren Sie diese mit beliebiger Länge .. Sie wünschen eine beliebige Größe Linie zu erreichen, die Sie benötigen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top