Class ParabolicBlendRotation3D


  • public class ParabolicBlendRotation3D
    extends BlendRotation3D
    Implements a parabolic blend

    A parabolic blend is characterized by a constant acceleration through the blend. The current
    implementation only supports blending between linear segments.
    • Constructor Detail

      • ParabolicBlendRotation3D

        public ParabolicBlendRotation3D​(long cPtr,
                                        boolean cMemoryOwn)
      • ParabolicBlendRotation3D

        public ParabolicBlendRotation3D​(LinearInterpolatorRotation3D line1,
                                        LinearInterpolatorRotation3D line2,
                                        double tau)
        Constructs parabolic blend between line1 and line2 with tau
        as blend time
        Parameters:
        line1 - [in] First segment
        line2 - [in] Second segment
        tau - [in] Blend time
      • ParabolicBlendRotation3D

        public ParabolicBlendRotation3D​(LinearInterpolatorRotation3DCPtr line1,
                                        LinearInterpolatorRotation3DCPtr line2,
                                        double tau)
        Constructs parabolic blend between line1 and line2 with tau
        as blend time. The segments is copied for internal storage
        Parameters:
        line1 - [in] First segment
        line2 - [in] Second segment
        tau - [in] Blend time
      • ParabolicBlendRotation3D

        public ParabolicBlendRotation3D​(LinearInterpolatorRotation3DPtr line1,
                                        LinearInterpolatorRotation3DPtr line2,
                                        double tau)
        Constructs parabolic blend between line1 and line2 with tau
        as blend time. The segments is copied for internal storage
        Parameters:
        line1 - [in] First segment
        line2 - [in] Second segment
        tau - [in] Blend time
    • Method Detail

      • x

        public Rotation3D x​(double t)
        Conditional comment:

        End of conditional comment.
        Overrides:
        x in class BlendRotation3D
        Parameters:
        t - [in] t\in[0,\tau_1+\tau_2]
        Returns:
        Position at time t
      • dx

        public Rotation3D dx​(double t)
        Conditional comment:

        End of conditional comment.
        Overrides:
        dx in class BlendRotation3D
        Parameters:
        t - [in] t\in[0,\tau_1+\tau_2]
        Returns:
        Velocity at time t
      • ddx

        public Rotation3D ddx​(double t)
        Conditional comment:

        End of conditional comment.
        Overrides:
        ddx in class BlendRotation3D
        Parameters:
        t - [in] t\in[0,\tau_1+\tau_2]
        Returns:
        Acceleration at time t
      • duration

        public double duration()
        get the duration of the blend
        Returns:
        duration
      • tau1

        public double tau1()
        Conditional comment:

        End of conditional comment.

        Note: For ParabolicBlend tau1()==tau2()
        Overrides:
        tau1 in class BlendRotation3D
        Returns:
        \tau_1
      • tau2

        public double tau2()
        Conditional comment:

        End of conditional comment.

        Note: For ParabolicBlend tau1()==tau2()
        Overrides:
        tau2 in class BlendRotation3D
        Returns:
        \tau_2