Calculando uma superfície normalEditar
Para um polígono convexo (tal como um triângulo), uma superfície normal pode ser calculada como o produto transversal vectorial de duas arestas (não paralelas) do polígono.
Para um plano dado pela equação a x + b y + c z + d = 0 {\displaystyle ax+by+cz+d=0}
, o vector n = ( a , b , c ) {\i1}displaystyle \i}mathbf {n} =(a,b,c)}
é um normal.
Para um plano cuja equação é dada em forma paramétrica
r ( s , t ) = r 0 + s p + t q estilo de jogo de satélite (s,t)=\mathbf {r} _0+smathbf {p} +t\mathbf {q} }
,
onde r0 é um ponto no plano e p, q são vectores não paralelos que apontam ao longo do plano, um normal para o plano é um vector normal tanto para p como para q, que pode ser encontrado como o produto cruzado n = p × q {\i1}mathbf {n} =\ihbf {p} \vezes matemathbf }
.
Se uma superfície S (possivelmente não plana) no espaço 3 R3 é parametrizada por um sistema de coordenadas curvilíneas r(s, t) = (x(s,t), y(s,t), z(s,t)), com s e t variáveis reais, então um normal para S é por definição um normal para um plano tangente, dado pelo produto cruzado das derivadas parciais
n = ∂ r ∂ s × ∂ r ∂ t . estilo de jogo {\mathbf {n} =frac {\mathbf {r}parcial Parcialmente parcial sfrac Parcialmathbf t parcial
Se uma superfície S for dada implicitamente como o conjunto de pontos ( x , y , z ) {\i1}{\i1}estilo de jogo (x,y,z)}
satisfazendo F ( x , y , z ) = 0 {\displaystyle F(x,y,z)=0}
, depois um normal num ponto ( x , y , z ) {\displaystyle (x,y,z)}
na superfície é dado pelo gradiente n = ∇ F ( x , y , z ) . {\displaystyle \mathbf {n} ==nabla F(x,y,z).}
desde que o gradiente em qualquer ponto seja perpendicular ao nível definido S.
Para uma superfície S em R3 dada como o gráfico de uma função z = f ( x , y ) {\i>displaystyle z=f(x,y)}
, pode ser encontrada uma normal ascendente a partir da parametrização 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 ) ; {\i1}displaystyle {\i} ={\i1}frac {\i}mathbf {n} ={\i1}frac {\i}parcial {\i}mathbf {r Parcialmente xparcialmente xfrac Parcialmathbf (1,0,0,-frac frac frac frac x),-frac frac frac frac,1),1);{\i1}(1,0,0,-frac frac frac frac frac),1);{\i1}(1,0,-frac frac frac x),1)
ou mais simplesmente da sua forma implícita F ( x , y , z ) = z – f ( x , y ) = 0 {\i1}{\i1}f(x,y,z)=z-f(x,y)=0}
, dando n = ∇ F ( x , y , z ) = ( – ∂ f ∂ x , – ∂ f ∂ y , 1 ) {\i1}displaystyle {\i}mathbf {n} =nabla F(x,y,z)=(-{\i1}frac {\i}frac {\i}frac {\i},-{\i1}frac {\i}frac {\i}frac {\i},1
. Uma vez que uma superfície não tem um plano tangente num ponto singular, não tem um normal bem definido nesse ponto: por exemplo, o vértice de um cone. Em geral, é possível definir um normal em quase todo o lado para uma superfície que é contínua de Lipschitz.
Escolha do normalEdit
O normal a uma (hiper)superfície é normalmente escalado para ter um comprimento unitário, mas não tem uma direcção única, uma vez que o seu oposto é também uma unidade normal. Para uma superfície que é o limite topológico de um conjunto em três dimensões, é possível distinguir entre o normal de orientação para o interior e o normal de orientação para o exterior. Para uma superfície orientada, o normal é normalmente determinado pela regra da direita ou pelo seu análogo em dimensões mais elevadas.
Se o normal é construído como produto cruzado de vectores tangentes (como descrito no texto acima), é um pseudovector.
Transforming normalsEdit
Nota: nesta secção utilizamos apenas a matriz superior 3×3, uma vez que a tradução é irrelevante para o cálculo
Ao aplicar uma transformação a uma superfície é muitas vezes útil derivar normas para a superfície resultante a partir das normas originais.
Especificamente, dada uma matriz de transformação M 3×3, podemos determinar a matriz W que transforma um vector n perpendicular ao plano tangente t num vector n′ perpendicular ao plano tangente M t transformado, através da seguinte lógica:
Escrever n′ como W n. Temos de encontrar W.
W n perpendicular a M t {\mathbb {n} Texto (perpendicular ao Mmathbb) }
⟺ ( W n ) T ( M t ) = 0 {\i1}displaystyle \i (W\mathbb {n} )^{\i1}mathrm {T} }(M\mathbb {t} )=0}(M\mathbb {t} )=0}
⟺ ( n T W T ) ( M t ) = 0 {\mathbb {n} =0}(M\mathbb {n} ^{\mathrm ^W^mathrm ^{T}})(M\mathbb {t} )=0}
⟺ n T ( W T M ) t = 0 {\i1}displaystyle {\i}iff {\i}mathbb {n} ^mathrm ^{T} W^{\mathrm {T}M)^mathbb {t} =0}
p>Escolhendo claramente W tal que W T M = I ^mathrm estilo W^{\i}{T} }M=I}
, ou W = ( M – 1 ) T ^{\i1}{\i1}{\i1}mathrm W=(M^{-1})^{\i} }}
, ou um n′ perpendicular a t′, conforme requerido.
Por conseguinte, deve-se utilizar a transposição inversa da transformação linear ao transformar as normas de superfície. A transposição inversa é igual à matriz original se a matriz for orthonormal, ou seja, puramente rotativa sem escala ou cisalhamento.