- Surface normal
-
"Normal vector" redirects here. For a normalized vector, or vector of length one, see unit vector.
A surface normal, or simply normal, to a flat surface is a vector that is perpendicular to that surface. A normal to a non-flat surface at a point P on the surface is a vector perpendicular to the tangent plane to that surface at P. The word "normal" is also used as an adjective: a line normal to a plane, the normal component of a force, the normal vector, etc. The concept of normality generalizes to orthogonality.
In the two-dimensional case, a normal line perpendicularly intersects the tangent line to a curve at a given point.
The normal is often used in computer graphics to determine a surface's orientation toward a light source for flat shading, or the orientation of each of the corners (vertices) to mimic a curved surface with Phong shading.
Contents
Calculating a surface normal
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 equation ax + by + cz + d = 0, the vector (a,b,c) is a normal.
For a plane given by the equation
- ,
i.e., a is a point on the plane and b and c are (non-parallel) vectors lying on the plane, the normal to the plane is a vector normal to both b and c which can be found as the cross product .
For a hyperplane in n+1 dimensions, given by the equation
- ,
where a0 is a point on the hyperplane and ai for i = 1, ... , n are non-parallel vectors lying on the hyperplane, a normal to the hyperplane is any vector in the null space of A where A is given by
- .
That is, any vector orthogonal to all in-plane vectors is by definition a surface normal.
If a (possibly non-flat) surface S is parameterized by a system of curvilinear coordinates x(s, t), with s and t real variables, then a normal is given by the cross product of the partial derivatives
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
since the gradient at any point is perpendicular to the level set, and F(x,y,z) = 0 (the surface) is a level set of F.
For a surface S given explicitly as a function f(x,y) of the independent variables x,y (e.g., f(x,y) = a00 + a01y + a10x + a11xy), its normal can be found in at least two equivalent ways. The first one is obtaining its implicit form F(x,y,z) = z − f(x,y) = 0, from which the normal follows readily as the gradient
- .
(Notice that the implicit form could be defined alternatively as
- F(x,y,z) = f(x,y) − z;
these two forms correspond to the interpretation of the surface being oriented upwards or downwards, respectively, as a consequence of the difference in the sign of the partial derivative .) The second way of obtaining the normal follows directly from the gradient of the explicit form,
- ;
- , where is the upward unit vector.
If a surface does not have a tangent plane at a point, it does not have a normal at that point either. For example, a cone does not have a normal at its tip nor does it have a normal along the edge of its base. However, the normal to the cone is defined almost everywhere. In general, it is possible to define a normal almost everywhere for a surface that is Lipschitz continuous.
Hypersurfaces in n-dimensional space
The definition of a normal to a surface in three-dimensional space can be extended to n − 1-dimensional hypersurfaces in a n-dimensional space. A hypersurface may be locally defined implicitly as the set of points satisfying an equation , where F is a given scalar function. If F is continuously differentiable, then the hypersurface obtained is a differentiable manifold, and its hypersurface normal can be obtained from the gradient of F, in the case it is not null, by the following formula
Uniqueness of the normal
A normal to a surface does not have a unique direction; the vector pointing in the opposite direction of a surface normal is also a surface normal. For a surface which is the topological boundary of a set in three dimensions, one can distinguish between the inward-pointing normal and outer-pointing normal, which can help define the normal in a unique way. For an oriented surface, the surface normal is usually determined by the right-hand rule. 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 sometimes convenient to derive normals for the resulting surface from the original normals. All points P on tangent plane are transformed to P′. We want to find n′ perpendicular to P. Let t be a vector on the tangent plane and Ml be the upper 3x3 matrix (translation part of transformation does not apply to normal or tangent vectors).
So use the inverse transpose of the linear transformation (the upper 3x3 matrix) when transforming surface normals.
Uses
- Surface normals are essential in defining surface integrals of vector fields.
- Surface normals are commonly used in 3D computer graphics for lighting calculations; see Lambert's cosine law.
- Surface normals are often adjusted in 3D computer graphics by normal mapping.
- Render layers containing surface normal information may be used in Digital compositing to change the apparent lighting of rendered elements.
Normal in geometric optics
Main article: Specular reflectionThe normal is an imaginary line perpendicular to the surface[1] of an optical medium. The word normal is used here in the mathematical sense, meaning perpendicular. In reflection of light, the angle of incidence is the angle between the normal and the incident ray. The angle of reflection is the angle between the normal and the reflected ray. That Normal force will then Be perpendicular to the surface
See also
References
- ^ "The Law of Reflection". The Physics Classroom Tutorial. http://www.glenbrook.k12.il.us/gbssci/phys/Class/refln/u13l1c.html. Retrieved 2008-03-31.
External links
- An explanation of normal vectors from Microsoft's MSDN
- Clear pseudocode for calculating a surface normal from either a triangle or polygon.
Categories:
Wikimedia Foundation. 2010.