Berekenen van een oppervlaknormaalEdit
Voor een convexe veelhoek (zoals een driehoek), kan een oppervlaktenormaal worden berekend als het vectorkruisproduct van twee (niet-parallelle) randen van de veelhoek.
Voor een vlak gegeven door de vergelijking a x + b y + c z + d = 0 {Displaystyle ax+by+cz+d=0}
, de vector n = ( a , b , c ) {\displaystyle \mathbf {n} =(a,b,c)}
is een normaal.
Voor een vlak waarvan de vergelijking in parametrische vorm
r ( s , t ) = r 0 + s p + t q {\displaystyle \mathbf {r} (s,t)=[mathbf {r} _{0}+s{mathbf {p} +t {mathbf {q} }
,
waarbij r0 een punt op het vlak is en p, q niet-parallelle vectoren zijn die langs het vlak wijzen, een normaal op het vlak is een vector die normaal is op zowel p als q, die kan worden gevonden als het kruisproduct n = p × q {Displaystyle \mathbf {n} =\mathbf {p} \maal \mathbf {q} }
.
Als een (mogelijk niet-vlak) oppervlak S in de 3-ruimte R3 geparametriseerd wordt door een stelsel kromlijnige coördinaten r(s, t) = (x(s,t), y(s,t), z(s,t)), met s en t reële variabelen, dan is een normaal op S per definitie een normaal op een raakvlak, gegeven door het kruisproduct van de partiële afgeleiden
n = ∂ r ∂ s × ∂ r ∂ t . {\displaystyle \mathbf {n} ={\frac {\partiële \mathbf {r}} {\tijdelijk s}} {\partial t}}.}
Als een oppervlak S impliciet gegeven is als de verzameling punten ( x , y , z ) {{\displaystyle (x,y,z)}
waarbij F ( x , y , z ) = 0 {\displaystyle F(x,y,z)=0}
, dan is een normaal in een punt ( x , y , z ) {{\displaystyle (x,y,z)}
op het oppervlak wordt gegeven door de gradiënt n = ∇ F ( x , y , z ) . {\displaystyle \mathbf {n} = F(x,y,z).}
want de gradiënt in elk punt staat loodrecht op de vlakverzameling S.
Voor een oppervlak S in R3 gegeven als de grafiek van een functie z = f ( x , y ) {\displaystyle z=f(x,y)}
, kan een naar boven gerichte normaal worden gevonden uit de parametrizering r ( x , y ) = ( x , y , f ( x , y ) {\displaystyle \mathbf {r} (x,y)=(x,y,f(x,y))}
, waarbij 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}} x}} keer {\frac {\mathbf {r}} y}}=(1,0,{\tfrac {\partieel f}{\partieel x}})=(0,1,{\tfrac {\partieel f}{\partieel y}})=(-{\tfrac {\partieel f}{\partieel x}},-{\tfrac {\partieel f}{\partieel y}},1);}
of eenvoudiger van de impliciete vorm F ( x , y , z ) = z – f ( x , y ) = 0 {\displaystyle F(x,y,z)=z-f(x,y)=0}
, waardoor n = ∇ F ( x , y , z ) = ( – ∂ f ∂ x , – ∂ f ∂ y , 1 ) {\displaystyle \mathbf {n} = ∂ F(x,y,z)=(-{\tfrac {\partiële f}{\partiële x}},-{\tfrac {\partiële f}{\partiële y}},1)}
. Aangezien een oppervlak in een singulier punt geen raakvlak heeft, heeft het in dat punt geen welbepaalde normaal: bijvoorbeeld het hoekpunt van een kegel. In het algemeen is het mogelijk bijna overal een normaal te definiëren voor een oppervlak dat Lipschitz continu is.
Keuze van de normaalEdit
De normaal naar een (hyper)oppervlak wordt meestal geschaald om een eenheid van lengte te hebben, maar heeft geen unieke richting, omdat zijn tegengestelde ook een eenheidsnormaal is. Voor een oppervlak dat de topologische grens is van een verzameling in drie dimensies, kan men onderscheid maken tussen de naar binnen wijzende normaal en de naar buiten wijzende normaal. Voor een georiënteerd oppervlak wordt de normaal gewoonlijk bepaald door de rechterhandregel of zijn analogon in hogere dimensies.
Als de normaal wordt geconstrueerd als het kruisproduct van raakvectoren (zoals beschreven in de tekst hierboven), is het een pseudovector.
Normalen transformerenEdit
Opmerking: in deze sectie gebruiken we alleen de bovenste 3×3 matrix, omdat translatie niet relevant is voor de berekening
Bij het toepassen van een transformatie op een oppervlak is het vaak nuttig om voor het resulterende oppervlak normalen af te leiden uit de oorspronkelijke normalen.
In het bijzonder kunnen we, gegeven een 3×3 transformatiematrix M, de matrix W bepalen die een vector n loodrecht op het raakvlak t transformeert in een vector n′ loodrecht op het getransformeerde raakvlak M t, door de volgende logica:
Wrijf n′ als W n. We moeten W vinden.
W n loodrecht op M t {{{} {text{ loodrecht op}} M\mathbb {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}}} {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}
Het is duidelijk W zo te kiezen dat W T M = I {{\displaystyle W^{\mathrm {T}} }M=I}
, of W = ( M – 1 ) T {Displaystyle W=(M^{-1})^{\mathrm {T}} }}
loodrecht op M t {{\displaystyle M\mathbb {t}} }