## Hermite Noise

Quintic Hermite Interpolation allows us to interpolate a value with respect to 3 variables.  Its position, velocity and acceleration.  In mathematical terms this translates to the function and its 1st+2nd derivative. More information on Quintic Hermite Interpolation can be found here.

Recall from a previous post that we require an interpolation function to have a 2nd derivative of 0.0 at the start+end points in order to be continuous for bump mapping.  This is where Quintic Hermite Interpolation is useful.  It allows us to explicitly use 0.0 for the start+end acceleration which will generate a C2 continuous curve.  It also allows us to supply whatever we want for velocity giving us control of the gradient at grid lattice points.  If the gradient vectors are normalized we get a look very similar to that of Classic Perlin noise.  Here are some initial observations…

I have uploaded initial 2D+3D implementations of Hermite and ValueHermite Noise to the GitHub repository.  ( like ValuePerlin, ValueHermite is a uniform blend between Value and Hermite noise )

2D+3D sampling of Hermite Noise

2D+3D sampling of ValueHermiteNoise