Class CardinalSpline


  • public class CardinalSpline
    extends Curve

    The Cardinal-spline passes through the points in the control-path specified by the group-iterator. However, the curve does not pass through the first or the last control-point, it begins at the second control-point and ends at the second last control-point.

    There is a single parameter, alpha, that gives some control over the shape of the curve. When the value of alpha is 0.5 the curve becomes the CatmullRomSpline. Figure 1 shows an example of a CardinalSpline.

    See Also:
    CatmullRomSpline
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void appendTo​(com.macrofocus.high_d.parallelcoordinates.geometry.curve.MultiPath mp)
      The requirements for this curve are the group-iterator must be in-range and have a group size of at least 4.
      protected void eval​(double[] p)
      The eval method evaluates a point on a curve given a parametric value "t".
      double getAlpha()
      Returns the value of alpha.
      int getSampleLimit()
      Returns a value of 1.
      void setAlpha​(double a)
      Sets the value of alpha.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • eval

        protected void eval​(double[] p)
        The eval method evaluates a point on a curve given a parametric value "t". The parametric value "t" is stored in the last index location of the specified double array. This value should not be changed. The dimension of the point to evaluate is p.length - 1. The result of the evaluation is placed in index locations 0 .. p.length - 2 (inclusive).

        The eval method should remain protected except for those curves that do no need any preparation to be done in the appendTo method.

      • getAlpha

        public double getAlpha()
        Returns the value of alpha. The default value is 0.5.
        See Also:
        setAlpha(double)
      • setAlpha

        public void setAlpha​(double a)
        Sets the value of alpha.
        See Also:
        getAlpha()
      • getSampleLimit

        public int getSampleLimit()
        Returns a value of 1.
      • appendTo

        public void appendTo​(com.macrofocus.high_d.parallelcoordinates.geometry.curve.MultiPath mp)
        The requirements for this curve are the group-iterator must be in-range and have a group size of at least 4. If these requirements are not met then this method returns quietly.
        Specified by:
        appendTo in class Curve
        See Also:
        MultiPath, BinaryCurveApproximationAlgorithm