Normal (perpendicular) vectors defined for individual points or polygons can change the shading of geometry.
When shaded, the faces on a shape are obvious.
Creating a smooth shape may require a large number of small faces.
An alternative is to instead use smooth shading to create the illusion of a smooth shape, but with a smaller number of faces.
The Normal node lists normal vectors to use for parts of a shape which can change shading.
These are used as the value of the normal field, and normal index values select which normals to use (similar to color index values).
Ordinarily the creaseAngle field controls faceted or smooth shading.
Normals override the normal effect of the creaseAngle value.
The normalPerVertex field selects normal per face/grid square or normal per coordinate.
The NormalInterpolator node converts time values to normal values for animation effects.
These X3D scenes are adapted directly from the
original VRML 2.0 Sourcebook chapter examples.
Introduction to VRML97 SIGGRAPH98 course notes.