VertexNormals
✖
VertexNormals
is an option for graphics primitives which specifies the normal directions to assign to 3D vertices.
Details

- VertexNormals can be used with Polygon, Line, Point, and GraphicsComplex.
- VertexNormals->{n1,n2,…} specifies that vertex i should have effective normal ni for purposes of shading by simulated lighting.
- The ni are vectors of the form {vx,vy,vz}. Only the directions of these vectors ever matter; the vectors are in effect automatically normalized to unit length.
- VertexNormals->None specifies that no explicit vertex normals are being given, and normal directions should be deduced from the actual coordinates specified for vertices. For point and line-like primitives, no shading based on simulated lighting should be done.
- VertexNormals->Automatic is equivalent to VertexNormals->None, except that vertex normals given in any enclosing GraphicsComplex will be used.
Examples
open allclose allBasic Examples (1)Summary of the most common use cases
A triangle with all normals pointing in the direction :

https://wolfram.com/xid/0pu89ij2cj-cvwg32

Using a different normal for one of the triangle's vertices changes the effects of lighting:

https://wolfram.com/xid/0pu89ij2cj-dxgk6r

Specify vertex normals for 3D lines:

https://wolfram.com/xid/0pu89ij2cj-gff7zx

Specify vertex normals for 3D points:

https://wolfram.com/xid/0pu89ij2cj-ie9mji

Scope (2)Survey of the scope of standard use cases
Define vertices and face indices of a cylindrical model:

https://wolfram.com/xid/0pu89ij2cj-m6rzfb

https://wolfram.com/xid/0pu89ij2cj-fg4xff
Without surface normals, the shading is constant or flat for each polygon face:

https://wolfram.com/xid/0pu89ij2cj-nmhii

With surface normals, the shading is interpolated or smooth across each polygon face:

https://wolfram.com/xid/0pu89ij2cj-fovzwk

Plot functions automatically generate surface normals:

https://wolfram.com/xid/0pu89ij2cj-dzjgj7

Without surface normals, you get flat or faceted shading:

https://wolfram.com/xid/0pu89ij2cj-g4gxq4

Applications (3)Sample problems that can be solved with this function
A function that visualizes the surface normals using lines:

https://wolfram.com/xid/0pu89ij2cj-6hg7b
Visualize the normals for some surfaces:

https://wolfram.com/xid/0pu89ij2cj-cqvo3z


https://wolfram.com/xid/0pu89ij2cj-e7s71c

Vary the effective normals used on the surface:

https://wolfram.com/xid/0pu89ij2cj-bf0msq

A shaded mesh line object with data from ExampleData:

https://wolfram.com/xid/0pu89ij2cj-eay1rk

Wolfram Research (2007), VertexNormals, Wolfram Language function, https://reference.wolfram.com/language/ref/VertexNormals.html (updated 2008).
Text
Wolfram Research (2007), VertexNormals, Wolfram Language function, https://reference.wolfram.com/language/ref/VertexNormals.html (updated 2008).
Wolfram Research (2007), VertexNormals, Wolfram Language function, https://reference.wolfram.com/language/ref/VertexNormals.html (updated 2008).
CMS
Wolfram Language. 2007. "VertexNormals." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2008. https://reference.wolfram.com/language/ref/VertexNormals.html.
Wolfram Language. 2007. "VertexNormals." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2008. https://reference.wolfram.com/language/ref/VertexNormals.html.
APA
Wolfram Language. (2007). VertexNormals. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/VertexNormals.html
Wolfram Language. (2007). VertexNormals. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/VertexNormals.html
BibTeX
@misc{reference.wolfram_2025_vertexnormals, author="Wolfram Research", title="{VertexNormals}", year="2008", howpublished="\url{https://reference.wolfram.com/language/ref/VertexNormals.html}", note=[Accessed: 28-April-2025
]}
BibLaTeX
@online{reference.wolfram_2025_vertexnormals, organization={Wolfram Research}, title={VertexNormals}, year={2008}, url={https://reference.wolfram.com/language/ref/VertexNormals.html}, note=[Accessed: 28-April-2025
]}