Reference articles on history, science, culture and more
Encyclopedia

Normal (geometry)

Line or vector perpendicular to a curve or a surface

Image credit is listed at the end of this article.

In geometry, a normal is an object (e.g. a line, ray, or vector) that is perpendicular to a given object. For example, the normal line to a plane curve at a given point is the infinite straight line perpendicular to the tangent line to the curve at the point.

A normal vector is a vector perpendicular to a given object at a particular point. A normal vector of length one is called a unit normal vector or normal direction. A curvature vector is a normal vector whose length is the curvature of the object. Multiplying a normal vector by −1 results in the opposite vector, which may be used for indicating sides (e.g., interior or exterior) or orientation (e.g., clockwise vs. counterclockwise, right handed vs. left handed).

In three-dimensional space, a surface normal, or simply normal, to a surface at point P is a vector perpendicular to the tangent plane of the surface at P. The vector field of normal directions to a surface is known as Gauss map. The word "normal" is also used as an adjective: a line normal to a plane, the normal component of a force, etc. The concept of normality generalizes to orthogonality (right angles).

The concept has been generalized to differentiable manifolds of arbitrary dimension embedded in a Euclidean space. The normal vector space or normal space of a manifold at point P is the set of vectors which are orthogonal to the tangent space at P. Normal vectors are of special interest in the case of smooth curves and smooth surfaces.

The normal is often used in 3D computer graphics (notice the singular, as only one normal will be defined) to determine a surface's orientation toward a light source for flat shading, or the orientation of each of the surface's corners (vertices) to mimic a curved surface with Phong shading.

The foot of a normal at a point of interest Q (analogous to the foot of a perpendicular) can be defined at the point P on the surface where the normal vector contains Q. The normal distance of a point Q to a curve or to a surface is the Euclidean distance between Q and its foot P.

01Normal to space curves

The normal direction to a space curve is:

\mathbf {N} =R{\frac {\mathrm {d} \mathbf {T} }{\mathrm {d} s}}

where R=\kappa ^{-1} is the radius of curvature (reciprocal curvature); \mathbf {T} is the tangent vector, in terms of the curve position \mathbf {r} and arc-length s:

\mathbf {T} ={\frac {\mathrm {d} \mathbf {r} }{\mathrm {d} s}}
A normal to a surface at a point is the same as a normal to the tangent plane to the surface at the same point.
A normal to a surface at a point is the same as a normal to the tangent plane to the surface at the same point.

02Normal to planes and polygons

For a convex polygon (such as a triangle), a surface normal can be calculated as the vector cross product of two (non-parallel) edges of the polygon.

For a plane given by the general form plane equation ax+by+cz+d=0, the vector \mathbf {n} =(a,b,c) is a normal.

For a plane whose equation is given in parametric form \mathbf {r} (s,t)=\mathbf {r} _{0}+s\mathbf {p} +t\mathbf {q} , where \mathbf {r} _{0} is a point on the plane and \mathbf {p} ,\mathbf {q} are non-parallel vectors pointing along the plane, a normal to the plane is a vector normal to both \mathbf {p} and \mathbf {q} , which can be found as the cross product \mathbf {n} =\mathbf {p} \times \mathbf {q} .

Tangent and normal to a curve in a Cartesian coordinate system.
Tangent and normal to a curve in a Cartesian coordinate system.

03Normal to general surfaces in 3D space

If a (possibly non-flat) surface S in 3D space \mathbb {R} ^{3} is parameterized by a system of curvilinear coordinates \mathbf {r} (s,t)=(x(s,t),y(s,t),z(s,t)), with s and t real variables, then a normal to S is by definition a normal to a tangent plane, given by the cross product of the partial derivatives \mathbf {n} ={\frac {\partial \mathbf {r} }{\partial s}}\times {\frac {\partial \mathbf {r} }{\partial t}}.

If a surface S is given implicitly as the set of points (x,y,z) satisfying F(x,y,z)=0, then a normal at a point (x,y,z) on the surface is given by the gradient \mathbf {n} =\nabla F(x,y,z). since the gradient at any point is perpendicular to the level set of S.

For a surface S in \mathbb {R} ^{3} given as the graph of a function z=f(x,y), an upward-pointing normal can be found either from the parametrization \mathbf {r} (x,y)=(x,y,f(x,y)), giving \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); or more simply from its implicit form F(x,y,z)=z-f(x,y)=0, giving \mathbf {n} =\nabla F(x,y,z)=\left(-{\tfrac {\partial f}{\partial x}},-{\tfrac {\partial f}{\partial y}},1\right). Since a surface does not have a tangent plane at a singular point, it has no well-defined normal at that point: for example, the vertex of a cone. In general, it is possible to define a normal almost everywhere for a surface that is Lipschitz continuous.

Orientation

The normal to a (hyper)surface is usually scaled to have unit length, but it does not have a unique direction, since its opposite is also a unit normal. For a surface which is the 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 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

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 \mathbf {M} , we can determine the matrix \mathbf {W} that transforms a vector \mathbf {n} perpendicular to the tangent plane \mathbf {t} into a vector \mathbf {n} ^{\prime } perpendicular to the transformed tangent plane \mathbf {Mt} , by the following logic:

Write n as \mathbf {Wn} . We must find \mathbf {W} . {\begin{alignedat}{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{alignedat}}

Choosing \mathbf {W} such that W^{\mathrm {T} }M=I, or W=(M^{-1})^{\mathrm {T} }, will satisfy the above equation, giving a W\mathbb {n} perpendicular to M\mathbb {t} , or an \mathbf {n} ^{\prime } perpendicular to \mathbf {t} ^{\prime }, 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.

Plane equation in normal form
Plane equation in normal form

04Hypersurfaces in n-dimensional space

For an (n-1)-dimensional hyperplane in n-dimensional space \mathbb {R} ^{n} given by its parametric representation \mathbf {r} \left(t_{1},\ldots ,t_{n-1}\right)=\mathbf {p} _{0}+t_{1}\mathbf {v} _{1}+\cdots +t_{n-1}\mathbf {v} _{n-1}, where \mathbf {p} _{0} is a point on the hyperplane and \mathbf {v} _{i} for i=1,\ldots ,n-1 are linearly independent vectors pointing along the hyperplane, a normal to the hyperplane is any vector \mathbf {n} in the null space of the matrix V={\begin{bmatrix}\mathbf {v} _{1}&\cdots &\mathbf {v} _{n-1}\end{bmatrix}}, meaning V\mathbf {n} =\mathbf {0}. That is, any vector orthogonal to all in-plane vectors is by definition a surface normal. Alternatively, if the hyperplane is defined as the solution set of a single linear equation a_{1}x_{1}+\cdots +a_{n}x_{n}=c, then the vector \mathbf {n} =\left(a_{1},\ldots ,a_{n}\right) is a normal.

The definition of a normal to a surface in three-dimensional space can be extended to (n-1)-dimensional hypersurfaces in \mathbb {R} ^{n}. A hypersurface may be locally defined implicitly as the set of points (x_{1},x_{2},\ldots ,x_{n}) satisfying an equation F(x_{1},x_{2},\ldots ,x_{n})=0, where F is a given scalar function. If F is continuously differentiable then the hypersurface is a differentiable manifold in the neighbourhood of the points where the gradient is not zero. At these points a normal vector is given by the gradient: \mathbb {n} =\nabla F\left(x_{1},x_{2},\ldots ,x_{n}\right)=\left({\tfrac {\partial F}{\partial x_{1}}},{\tfrac {\partial F}{\partial x_{2}}},\ldots ,{\tfrac {\partial F}{\partial x_{n}}}\right)\,.

The normal line is the one-dimensional subspace with basis \{\mathbf {n} \}.

A vector that is normal to the space spanned by the linearly independent vectors v1, ..., vr−1 and falls within the r-dimensional space spanned by the linearly independent vectors v1, ..., vr is given by the r-th column of the matrix Λ = V(VTV)−1, where the matrix V = (v1, ..., vr) is the juxtaposition of the r column vectors. (Proof: Λ is V times a matrix so each column of Λ is a linear combination of the columns of V. Furthermore, VTΛ = I, so each column of V other than the last is perpendicular to the last column of Λ.) This formula works even when r is less than the dimension of the Euclidean space n. The formula simplifies to Λ = (VT)−1 when r = n.

05Varieties defined by implicit equations in n-dimensional space

A differential variety defined by implicit equations in the n-dimensional space \mathbb {R} ^{n} is the set of the common zeros of a finite set of differentiable functions in n variables f_{1}\left(x_{1},\ldots ,x_{n}\right),\ldots ,f_{k}\left(x_{1},\ldots ,x_{n}\right). The Jacobian matrix of the variety is the k\times n matrix whose i-th row is the gradient of f_{i}. By the implicit function theorem, the variety is a manifold in the neighborhood of a point where the Jacobian matrix has rank k. At such a point P, the normal vector space is the vector space generated by the values at P of the gradient vectors of the f_{i}.

In other words, a variety is defined as the intersection of k hypersurfaces, and the normal vector space at a point is the vector space generated by the normal vectors of the hypersurfaces at the point.

The normal (affine) space at a point P of the variety is the affine subspace passing through P and generated by the normal vector space at P.

These definitions may be extended verbatim to the points where the variety is not a manifold.

Example

Let V be the variety defined in the 3-dimensional space by the equations x\,y=0,\quad z=0. This variety is the union of the x-axis and the y-axis.

At a point (a,0,0), where a\neq 0, the rows of the Jacobian matrix are (0,0,1) and (0,a,0). Thus the normal affine space is the plane of equation x=a. Similarly, if b\neq 0, the normal plane at (0,b,0) is the plane of equation y=b.

At the point (0,0,0) the rows of the Jacobian matrix are (0,0,1) and (0,0,0). Thus the normal vector space and the normal affine space have dimension 1 and the normal affine space is the z-axis.

A curved surface showing the unit normal vectors (blue arrows) to the surface
A curved surface showing the unit normal vectors (blue arrows) to the surface

06Uses

A vector field of normals to a surface
A vector field of normals to a surface

07Normal in geometric optics

The normal ray is the outward-pointing ray perpendicular to the surface of an optical medium at a given point. In reflection of light, the angle of incidence and the angle of reflection are respectively the angle between the normal and the incident ray (on the plane of incidence) and the angle between the normal and the reflected ray.

Watch videos about Normal (geometry)Explainers and documentaries on YouTube (opens in a new tab)

Sources and credits

This article is adapted from the Wikipedia article Normal (geometry), written by its contributors and licensed under CC BY-SA 4.0. Fathomly has changed the layout, removed citation markers, navigation and maintenance notices, and adjusted punctuation. This adapted version is shared under the same license. For references, see the original article.

Images, from Wikimedia Commons:

Fathomly is not affiliated with or endorsed by the Wikimedia Foundation. Spotted a problem? Tell us.