Jeg beregner normalvektoren til en plan akse + med + cz + d = 0

I følge boka:

Normalvektoren N blir ofte normalisert til enhetslengde fordi i så fall ligningen

d = N ⋅Q + D 

gir den signerte avstanden fra planet til en vilkårlig punkt Q. Hvis d = 0, ligger punktet Q i planet. Hvis d> 0, sier vi at punktet Q ligger på den positive siden av planet siden Q ville være på den siden der den normale vektoren peker.

Hvordan få N (Normal vektor)? Takk

Svar

Fra MathWorld :

Gitt planet

skriv inn bildebeskrivelse her

Da er den normale vektoren

skriv inn bildebeskrivelse her

Den normale enhetsvektoren n er gitt av:

skriv inn bildebeskrivelse her

Derfor, for flyet 5x+2y+3z-1=0,

Normalvektoren N er

N = [5,2,3]

Størrelsen | N | er

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

| N | = 6.1644

Den normale enhetsvektoren n er derfor omtrent:

n = N / | N |

n = [0.8111, 0.3244, 0.4866]

som du kan sjekke ved å måle lengden på n .

Kode:

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] 

I et interaktivt pythonskall:

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

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *