A normálvektort tengely + síkra számolom + cz + d = 0 értékkel

A könyv szerint:

A normál N vektort gyakran egységnyi hosszúságra normalizálják, mert ebben az esetben a (z)

d = N ⋅Q + D 

egyenlet megadja a síktól egy tetszőleges előjeles távolságot Q pont. Ha d = 0, akkor a Q pont a síkban fekszik. Ha d> 0, akkor azt mondjuk, hogy a Q pont a sík pozitív oldalán fekszik, mivel Q azon az oldalon lenne, ahol a normál vektor mutat.

Hogyan lehet megkapni az N-t (normál vektor)? Köszönöm

Válasz

Feladó: MathWorld :

Adott sík

írja ide a kép leírását

Ekkor a normál vektor

írja ide a kép leírását

A normál egységvektor n -ot a következő adja:

írja ide a kép leírását

Ezért a 5x+2y+3z-1=0,

A N normál vektor

N = [5,2,3]

A | N | nagyság

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

| N | = 6.1644

A normál egységvektor n ezért hozzávetőlegesen:

n = N / | N |

n = [0.8111, 0.3244, 0.4866]

amelyet a n hosszának mérésével ellenőrizhet.

Kód:

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] 

Interaktív python héjban:

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

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük