Calcular una normal de superficieEditar
Para un polígono convexo (como un triángulo), una normal de superficie puede calcularse como el producto vectorial cruzado de dos aristas (no paralelas) del polígono.
Para un plano dado por la ecuación a x + b y + c z + d = 0 {\displaystyle ax+by+cz+d=0}
, el vector n = ( a , b , c ) {\displaystyle \mathbf {n} =(a,b,c)}
es una normal.
Para un plano cuya ecuación está dada en forma paramétrica
r ( s , t ) = r 0 + s p + t q {\displaystyle \mathbf {r} (s,t)=\Nmathbf {r} 0+ s p +t\mathbf {q} }
Si una superficie S (posiblemente no plana) en el espacio R3 está parametrizada por un sistema de coordenadas curvilíneas r(s, t) = (x(s,t), y(s,t), z(s,t)), con s y t variables reales, entonces una normal a S es por definición una normal a un plano tangente, dada por el producto cruzado de las derivadas parciales
n = ∂ r ∂ s × ∂ r ∂ t . {\displaystyle \mathbf {n} = {\frac {parcial \mathbf {r} {{parcial s}} por tiempo {{frac {{parcial \mathbf {r}}} {{parcial t}} t.
Si una superficie S está dada implícitamente como el conjunto de puntos ( x , y , z ) {\displaystyle (x,y,z)}
que satisface F ( x , y , z ) = 0 {\displaystyle F(x,y,z)=0}
, entonces una normal en un punto ( x , y , z ) {\displaystyle (x,y,z)}
en la superficie viene dada por el gradiente n = ∇ F ( x , y , z ) . {\displaystyle \mathbf {n} =\nabla F(x,y,z).}
ya que el gradiente en cualquier punto es perpendicular al conjunto de niveles S.
Para una superficie S en R3 dada como la gráfica de una función z = f ( x , y ) {{displaystyle z=f(x,y)}
, se puede encontrar una normal hacia arriba a partir de la parametrización 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 {\partial \mathbf {r} {{parcial x}} por {{frac}} {{parcial \mathbf {r}} {{parcial y}} {{parcial y}}=(1,0,{\tfrac {\parcial f}{parcial x}})\times (0,1,{\tfrac {\parcial f}{parcial y}})=(-{tfrac {\parcial f}{parcial x}},-{tfrac {\parcial f}{parcial y},1);}
o más sencillamente de su forma implícita 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 {\parcial f}{parcial x}},-{tfrac {\parcial f}{parcial y},1)}
. Dado que una superficie no tiene un plano tangente en un punto singular, no tiene una normal bien definida en ese punto: por ejemplo, el vértice de un cono. En general, es posible definir una normal en casi todas partes para una superficie que es continua de Lipschitz.
Elección de la normalEditar
La normal a una (hiper)superficie se suele escalar para tener longitud unitaria, pero no tiene una dirección única, ya que su opuesta es también una normal unitaria. Para una superficie que es el límite topológico de un conjunto en tres dimensiones, se puede distinguir entre la normal que apunta hacia adentro y la normal que apunta hacia afuera. Para una superficie orientada, la normal se suele determinar por la regla de la mano derecha o su análoga en dimensiones superiores.
Si la normal se construye como el producto cruzado de vectores tangentes (como se ha descrito en el texto anterior), se trata de un pseudovector.
Transformación de normalesEditar
Nota: en esta sección sólo utilizamos la matriz superior de 3×3, ya que la traslación es irrelevante para el cálculo
Cuando se aplica una transformación a una superficie, a menudo es útil derivar normales para la superficie resultante a partir de las normales originales.
En concreto, dada una matriz de transformación M de 3×3, podemos determinar la matriz W que transforma un vector n perpendicular al plano tangente t en un vector n′ perpendicular al plano tangente transformado M t, mediante la siguiente lógica:
Escribimos n′ como W n. Debemos encontrar W.
W n perpendicular a M t {\displaystyle W\mathbb {n} {\text{ perpendicular a}}M\mathbb {t} }
⟺ ( W n ) ⋅ ( M t ) = 0 {\displaystyle \iff (W\mathbb {n} )\cdot (M\mathbb {t} )=0}
⟺ ( W n ) T ( M t ) = 0 {desde el estilo de visualización \Nde (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}
Eligiendo claramente W tal que W T M = I {\displaystyle W^{mathrm {T}} }M=I}
, o W = ( M – 1 ) T {\displaystyle W=(M^{-1})^{mathrm {T} }} }}
, satisfará la ecuación anterior, dando un W n {\displaystyle W\mathbb {n} }
perpendicular a M t {\displaystyle M\mathbb {t} }
, o una n′ perpendicular a t′, según sea necesario.
Por lo tanto, se debe utilizar la transposición inversa de la transformación lineal cuando se transforman las normales de la superficie. La transposición inversa es igual a la matriz original si la matriz es ortonormal, es decir, puramente rotacional sin escalamiento o cizallamiento.