Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Normal (geometry)
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Normal to general surfaces in 3D space== [[File:Normal vectors on a curved surface.svg|thumb|upright=1.4|A curved surface showing the unit normal vectors (blue arrows) to the surface]] If a (possibly non-flat) surface <math>S</math> in 3D space <math>\R^3</math> is [[Coordinate system|parameterized]] by a system of [[curvilinear coordinates]] <math>\mathbf{r}(s, t) = (x(s, t), y(s, t), z(s, t)),</math> with <math>s</math> and <math>t</math> [[real number|real]] variables, then a normal to ''S'' is by definition a normal to a tangent plane, given by the cross product of the [[partial derivative]]s <math display=block>\mathbf{n}=\frac{\partial \mathbf{r}}{\partial s} \times \frac{\partial \mathbf{r}}{\partial t}.</math> If a surface <math>S</math> is given [[Implicit function|implicitly]] as the set of points <math>(x, y, z)</math> satisfying <math>F(x, y, z) = 0,</math> then a normal at a point <math>(x, y, z)</math> on the surface is given by the [[gradient]] <math display=block>\mathbf{n} = \nabla F(x, y, z).</math> since [[Level set#Level sets versus the gradient|the gradient at any point is perpendicular to the level set]] <math>S.</math> For a surface <math>S</math> in <math>\R^3</math> given as the graph of a function <math>z = f(x, y),</math> an upward-pointing normal can be found either from the parametrization <math>\mathbf{r}(x,y)=(x,y,f(x,y)),</math> giving <math display=block>\mathbf{n} = \frac{\partial \mathbf{r}}{\partial x} \times \frac{\partial \mathbf{r}}{\partial y} = \left(1,0,\tfrac{\partial f}{\partial x}\right) \times \left(0,1,\tfrac{\partial f}{\partial y}\right) = \left(-\tfrac{\partial f}{\partial x}, -\tfrac{\partial f}{\partial y},1\right);</math> or more simply from its implicit form <math>F(x, y, z) = z-f(x,y) = 0,</math> giving <math>\mathbf{n} = \nabla F(x, y, z) = \left(-\tfrac{\partial f}{\partial x}, -\tfrac{\partial f}{\partial y}, 1 \right).</math> Since a surface does not have a tangent plane at a [[Singularity (mathematics)|singular point]], it has no well-defined normal at that point: for example, the vertex of a [[Cone (geometry)|cone]]. In general, it is possible to define a normal almost everywhere for a surface that is [[Lipschitz continuous]]. ===Orientation=== [[Image:Surface normals.svg|right|thumb|300px|A vector field of normals to a surface]] The normal to a (hyper)surface is usually scaled to have [[Unit vector|unit length]], but it does not have a unique direction, since its opposite is also a unit normal. For a surface which is the [[Boundary (topology)|topological boundary]] of a set in three dimensions, one can distinguish between two '''normal orientations''', the '''inward-pointing normal''' and '''outer-pointing normal'''. For an [[Orientability|oriented surface]], the normal is usually determined by the [[right-hand rule]] or its analog in higher dimensions. If the normal is constructed as the cross product of tangent vectors (as described in the text above), it is a [[pseudovector]]. ===Transforming normals=== {{hatnote|in this section we only use the upper <math>3 \times 3</math> matrix, as translation is irrelevant to the calculation}} When applying a transform to a surface it is often useful to derive normals for the resulting surface from the original normals. Specifically, given a 3Γ3 transformation matrix <math>\mathbf{M},</math> we can determine the matrix <math>\mathbf{W}</math> that transforms a vector <math>\mathbf{n}</math> perpendicular to the tangent plane <math>\mathbf{t}</math> into a vector <math>\mathbf{n}^{\prime}</math> perpendicular to the transformed tangent plane <math>\mathbf{Mt},</math> by the following logic: Write '''n′''' as <math>\mathbf{Wn}.</math> We must find <math>\mathbf{W}.</math> <math display=block>\begin{alignat}{5} W\mathbb n \text{ is perpendicular to } M\mathbb t \quad \, &\text{ if and only if } \quad 0 = (W \mathbb n) \cdot (M \mathbb t) \\ &\text{ if and only if } \quad 0 = (W \mathbb{n})^\mathrm{T} (M \mathbb{t}) \\ &\text{ if and only if } \quad 0 = \left(\mathbb{n}^\mathrm{T} W^\mathrm{T}\right) (M \mathbb{t}) \\ &\text{ if and only if } \quad 0 = \mathbb{n}^\mathrm{T} \left(W^\mathrm{T} M\right) \mathbb{t} \\ \end{alignat}</math> Choosing <math>\mathbf{W}</math> such that <math>W^\mathrm{T} M = I,</math> or <math>W = (M^{-1})^\mathrm{T},</math> will satisfy the above equation, giving a <math>W \mathbb n</math> perpendicular to <math>M \mathbb t,</math> or an <math>\mathbf{n}^{\prime}</math> perpendicular to <math>\mathbf{t}^{\prime},</math> as required. Therefore, one should use the inverse transpose of the linear transformation when transforming surface normals. The inverse transpose is equal to the original matrix if the matrix is orthonormal, that is, purely rotational with no scaling or shearing.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)