Class Slerp

  • All Implemented Interfaces:
    DoubleFunction<Quaternion>

    public class Slerp
    extends Object
    implements DoubleFunction<Quaternion>
    Perform spherical linear interpolation (Slerp). The Slerp algorithm is designed to interpolate smoothly between two rotations/orientations, producing a constant-speed motion along an arc. The original purpose of this algorithm was to animate 3D rotations. All output quaternions are in positive polar form, meaning a unit quaternion with a positive scalar component.
    • Constructor Detail

      • Slerp

        public Slerp​(Quaternion start,
                     Quaternion end)
        Create an instance.
        Parameters:
        start - Start of the interpolation.
        end - End of the interpolation.
    • Method Detail

      • apply

        public Quaternion apply​(double t)
        Performs the interpolation. The rotation returned by this method is controlled by the interpolation parameter, t. All other values are interpolated (or extrapolated if t is outside of the [0, 1] range). The returned quaternion is in positive polar form, meaning that it is a unit quaternion with a positive scalar component.
        Specified by:
        apply in interface DoubleFunction<Quaternion>
        Parameters:
        t - Interpolation control parameter. When t = 0, a rotation equal to the start instance is returned. When t = 1, a rotation equal to the end instance is returned.
        Returns:
        an interpolated quaternion in positive polar form.