Je calcule le vecteur normal à un plan ax + by + cz + d = 0

Daprès le livre:

Le vecteur normal N est souvent normalisé à la longueur unitaire car dans ce cas léquation

d = N ⋅Q + D 

donne la distance signée du plan à un arbitraire point Q. Si d = 0, alors le point Q se trouve dans le plan. Si d> 0, on dit que le point Q se trouve sur le côté positif du plan puisque Q serait du côté où pointe le vecteur normal.

Comment obtenir le N (vecteur normal)? Merci

Réponse

De MathWorld :

Étant donné le plan

entrez la description de limage ici

Le vecteur normal est

entrez la description de limage ici

Le vecteur dunité normal n est donné par:

entrez la description de limage ici

Par conséquent, pour le plan 5x+2y+3z-1=0,

Le vecteur normal N est

N = [5,2,3]

La magnitude | N | est

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

| N | = 6,1644

Le vecteur unitaire normal n est donc environ:

n = N / | N |

n = [0.8111, 0.3244, 0.4866]

que vous pouvez vérifier en mesurant la longueur de n .

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] 

Dans un shell python interactif:

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

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *