Calcolo di una normale alla superficieModifica
Per un poligono convesso (come un triangolo), una normale di superficie può essere calcolata come il prodotto vettoriale incrociato di due bordi (non paralleli) del poligono.
Per un piano dato dall’equazione a x + b y + c z + d = 0 {\displaystyle ax+by+cz+d=0}
, il vettore n = ( a , b , c ) {\displaystyle \mathbf {n} =(a,b,c)}
è una normale.
Per un piano la cui equazione è data in forma parametrica
r ( s , t ) = r 0 + s p + t q {\displaystyle \mathbf {r} (s,t)=\mathbf {r} {{0}+s {mathbf {p} +t\mathbf {q} }
,
dove r0 è un punto sul piano e p, q sono vettori non paralleli che puntano lungo il piano, una normale al piano è un vettore normale ad entrambi p e q, che può essere trovato come il prodotto incrociato n = p × q {\displaystyle \mathbf {n} =\mathbf {p} volte \mathbf {\mathbf {q} }
.
Se una superficie (eventualmente non piana) S nel 3-spazio R3 è parametrizzata da un sistema di coordinate curvilinee r(s, t) = (x(s,t), y(s,t), z(s,t)), con s e t variabili reali, allora una normale a S è per definizione una normale a un piano tangente, data dal prodotto incrociato delle derivate parziali
n = ∂ r ∂ s × ∂ r ∂ t . {displaystyle \mathbf {n} ={frac {mathbf {mathbf {r} parziale per il tempo in cui si è verificata l’operazione. t}.}
che soddisfa F ( x , y , z ) = 0 {\displaystyle F(x,y,z)=0}
, quindi una normale in un punto ( x , y , z ) {\displaystyle (x,y,z)}
sulla superficie è data dal gradiente n = ∇ F ( x , y , z ) . {\displaystyle \mathbf {n} =\nabla F(x,y,z).}
perché il gradiente in qualsiasi punto è perpendicolare all’insieme di livello S.
Per una superficie S in R3 data come il grafico di una funzione z = f ( x , y ) {displaystyle z=f(x,y)}
, una normale rivolta verso l’alto può essere trovata sia dalla parametrizzazione r ( x , y ) = ( x , y , f ( x , y ) ) {\displaystyle \mathbf {r} (x,y)=(x,y,f(x,y))}
, dando n = ∂ r ∂ x × ∂ r ∂ y = ( 1 , 0 , ∂ f ∂ x ) × ( 0 , 1 , ∂ f ∂ y ) = ( – ∂ f ∂ x , – ∂ f ∂ y , 1 ) ; {\displaystyle \mathbf {n} ={\frac {\mathbf {r} parziale per il tempo in cui la x è stata fissata, e per il tempo in cui la y è stata fissata. (1,0,{\tfrac {\tfrac {\tfrac f}{\tfrac x})\tempi (0,1,{\tfrac {\tfrac f}{\tfrac y})=(-{tfrac {\tfrac f}{\tfrac x},-{tfrac {\tfrac f}{\tfrac y}},1);}
o più semplicemente dalla sua forma implicita F ( x , y , z ) = z – f ( x , y ) = 0 {\displaystyle F(x,y,z)=z-f(x,y)=0}
, dando n = ∇ F ( x , y , z ) = ( – ∂ f ∂ x , – ∂ f ∂ y , 1 ) {\displaystyle \mathbf {n} =\nabla F(x,y,z)=(-{tfrac {\parziale f}{parziale x},-{tfrac {\parziale f}{parziale y},1)}
. Poiché una superficie non ha un piano tangente in un punto singolare, non ha una normale ben definita in quel punto: per esempio, il vertice di un cono. In generale, è possibile definire una normale quasi ovunque per una superficie che sia continua di Lipschitz.
Scelta della normaleModifica
La normale a una (iper)superficie è solitamente scalata per avere lunghezza unitaria, ma non ha una direzione unica, poiché anche il suo opposto è una normale unitaria. Per una superficie che è il confine topologico di un insieme in tre dimensioni, si può distinguere tra la normale che punta all’interno e la normale che punta all’esterno. Per una superficie orientata, la normale è solitamente determinata dalla regola della mano destra o dal suo analogo in dimensioni superiori.
Se la normale è costruita come prodotto incrociato di vettori tangenti (come descritto nel testo sopra), è uno pseudovettore.
Trasformare le normaliModifica
Nota: in questa sezione usiamo solo la matrice superiore 3×3, poiché la traslazione è irrilevante per il calcolo
Quando si applica una trasformazione ad una superficie è spesso utile ricavare le normali per la superficie risultante dalle normali originali.
Specificamente, data una matrice di trasformazione M 3×3, possiamo determinare la matrice W che trasforma un vettore n perpendicolare al piano tangente t in un vettore n′ perpendicolare al piano tangente trasformato M t, con la seguente logica:
Scriviamo n′ come W n. Dobbiamo trovare W.
W n perpendicolare a M t {\displaystyle W\mathbb {n} perpendicolare a M t. }
⟺ ( W n ) ⋅ ( M t ) = 0 {displaystyle \iff (W\mathbb {n} )\cdot (M\mathbb {t} )=0}
⟺ ( W n ) T ( M t ) = 0 {\displaystyle \iff (W\mathbb {n} )^{mathrm {T} (M\mathbb {t} )=0}
⟺ ( n T W T ) ( M t ) = 0 {\displaystyle \iff (\mathbb {n} ^{mathrm {T} }W^{mathrm {T} })(M\mathbb {t} )=0}
⟺ n T ( W T M ) t = 0 {\displaystyle \iff \mathbb {n} ^{\mathrm {T} (W^{mathrm {T} M)\mathbb {t} =0}
Scelta chiara di W tale che W T M = I {\displaystyle W^{mathrm {T} M=I}
, o W = ( M – 1 ) T {displaystyle W=(M^{-1})^{mathrm {T} }}
, soddisferà l’equazione di cui sopra, dando un W n {displaystyle W\mathbb {n} }
, o un n′ perpendicolare a t′, come richiesto.
Pertanto, si dovrebbe usare la trasposizione inversa della trasformazione lineare quando si trasformano le norme della superficie. La trasposizione inversa è uguale alla matrice originale se la matrice è ortonormale, cioè puramente rotazionale senza scalatura o tosatura.