Calculez vectorul normal la un ax plan + cu + cz + d = 0

Conform cărții:

Vectorul normal N este adesea normalizat la lungimea unității, deoarece în acest caz ecuația

d = N ⋅Q + D 

oferă distanța semnată de la plan la un arbitrar punctul Q. Dacă d = 0, atunci punctul Q se află în plan. Dacă d> 0, spunem că punctul Q se află pe partea pozitivă a planului, deoarece Q ar fi pe partea în care indică vectorul normal.

Cum se obține N (vectorul normal)? Mulțumesc

Răspuns

De la MathWorld :

Având în vedere planul

introduceți descrierea imaginii aici

Atunci vectorul normal este

introduceți descrierea imaginii aici

Vectorul unitar normal n este dat de:

introduceți descrierea imaginii aici

Prin urmare, pentru planul 5x+2y+3z-1=0,

Vectorul normal N este

N = [5,2,3]

Mărimea | N | este

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

| N | = 6.1644

Vectorul unitar normal n este, așadar, aproximativ:

n = N / | N |

n = [0.8111, 0.3244, 0.4866]

pe care îl puteți verifica măsurând lungimea n .

Cod:

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] 

Într-un shell de piton interactiv:

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

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *