Interpolation

Parent Previous Next

Flight paths are smoothly interpolated curves between a series of user-defined control points. TerrainView™ flight paths not only interpolate positions, but also orientations. In other words, it is possible to define for an object not only where to move to but also how to rotate.

The vector interpolations in TerrainView™ all use cubic interpolation methods thus guaranteeing that every control point will actually lie on the calculated curve. TerrainView™ offers a choice of three vector interpolation methods:

“Tangent Scale“

(Catmull-Rom)

Also known as the Catmull-Rom method. This is a specialized cubic interpolation method, creating nicely curved paths. The curve is defined by the control points position and tangent scale.

“Tangent Scale & Forward Direction“

(Viewing Direction)

This interpolation method uses the control points orientation vectors as tangents for the cubic interpolation. I.e. the user must set not only the control points position and tangent scale, but their orientation, too.

“Automatic“

(B-Spline)

Creates a B-Spline curve. B-Splines differ slightly from Catmull-Rom interpolations; generally, they create smoother curves.


By using natural parametrization for the calculated curves, TerrainView™ achieves constant speed during motion along the flight paths by default. If variable speed is desired, the “Automatic” interpolation cannot be used and the speed at each control point must be supplied as well.

To interpolate orientations, two different methods are provided:

“Automatic“

(Tangential Direction)

Sets the orientation such that the forward direction of an attached camera or object is tangential to the calculated curve, and the plane spanned by the forward and up vectors is perpendicular to the ground (technically speaking, this is not an interpolation).

“Forward & Up Direction”

(Quaternion Spline)

Uses quaternion splines for smooth interpolation of the orientations given by the control points orientation vectors.


Generally, care should be taken to space control points more or less equally in order to prevent undesired turns: