Ich berechne den Normalenvektor zu einer ebenen Achse + mit + cz + d = 0

Laut dem Buch:

Der Normalenvektor N wird häufig auf Längeneinheiten normiert, da in diesem Fall die Gleichung

d = N ⋅Q + D 

den vorzeichenbehafteten Abstand von der Ebene zu einem beliebigen Wert angibt Punkt Q. Wenn d = 0 ist, liegt der Punkt Q in der Ebene. Wenn d> 0 ist, sagen wir, dass der Punkt Q auf der positiven Seite der Ebene liegt, da Q auf der Seite liegt, auf die der Normalvektor zeigt.

Wie erhält man das N (Normalvektor)? Vielen Dank

Antwort

Von MathWorld :

Geben Sie bei gegebener Ebene

hier eine Bildbeschreibung ein.

Dann ist der normale Vektor

Geben Sie hier die Bildbeschreibung ein.

Der normale Einheitsvektor n ist gegeben durch:

Geben Sie hier die Bildbeschreibung ein.

Daher gilt für die Ebene 5x+2y+3z-1=0,

Der normale Vektor N ist

N = [5,2,3]

Die Größe | N | ist

| N | = sqrt (5 ^ 2 + 2 ^ 2 + 3 ^ 2)

| N | = 6.1644

Der normale Einheitsvektor n ist daher ungefähr:

n = N / | N |

n = [0.8111, 0.3244, 0.4866]

, das Sie überprüfen können, indem Sie die Länge von n messen.

Code:

import math def mag(V): return math.sqrt(sum([x*x for x in V])) def n(V): v_m = mag(V) return [ vi/v_m for vi in V] 

In einer interaktiven Python-Shell:

>>> N = [5,2,3] >>> mag(N) 6.164414002968976 >>> n(N) [0.8111071056538127, 0.3244428422615251, 0.48666426339228763] >>> mag(n(N)) 1.0 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.