Variable InterpolationConst

Interpolation: {
    Angle: {
        Degrees(v: number[], k: number): number;
        Radians(v: number[], k: number): number;
    };
    Color: {
        HCL(v: number[], k: number): number;
        HSV(v: number[], k: number): number;
        RGB(v: number[], k: number): number;
    };
    Geom: {
        Bezier(v: number[], k: number): number;
        CatmullRom(v: number[], k: number): number;
        CubicBezier(v: number[], k: number): number;
        Linear(v: number[], k: number): number;
        QuadraticBezier(v: number[], k: number): number;
    };
    Utils: {
        Factorial: ((n: number) => number);
        Bernstein(n: number, i: number): number;
        CatmullRom(p0: number, p1: number, p2: number, p3: number, t: number): number;
        HCLJoin(HCL: AHCL): number;
        HCLLinear(color1: number, color2: number, t: number): number;
        HCLSplit(color: number): AHCL;
        HSVJoin(color: AHSV): number;
        HSVLinear(color1: number, color2: number, t: number): number;
        HSVsplit(color: number): AHSV;
        Linear(p0: number, p1: number, t: number): number;
        RGBLinear(color1: number, color2: number, t: number): number;
        RGBsplit(color: number): ARGB;
        WrapLinear(value1: number, value2: number, t: number, maxValue: number): number;
    };
} = ...

Object containing common interpolation functions. These functions can be passed in the interpolation argument and will only affect fields where you gave an array as target value

Type declaration

  • Angle: {
        Degrees(v: number[], k: number): number;
        Radians(v: number[], k: number): number;
    }

    Given the spinny nature of angles, sometimes it's better to go back to get to the right place earlier. This functions help with that.

    • Degrees:function
      • Normalizes angles between 0 and 360 and then rotates the object in the shortest direction.

        Parameters

        • v: number[]
        • k: number

        Returns number

    • Radians:function
      • Normalizes angles between 0 and 2pi and then rotates the object in the shortest direction.

        Parameters

        • v: number[]
        • k: number

        Returns number

  • Color: {
        HCL(v: number[], k: number): number;
        HSV(v: number[], k: number): number;
        RGB(v: number[], k: number): number;
    }

    Even if colors are numbers, interpolating them can be tricky.

    • HCL:function
      • Interpolates the color by their Hue, Chroma, and Lightness.

        Parameters

        • v: number[]
        • k: number

        Returns number

    • HSV:function
      • Interpolates the color by their Hue, Saturation, and Value.

        Parameters

        • v: number[]
        • k: number

        Returns number

    • RGB:function
      • Interpolates the color by their channels Red, Green, and Blue.

        Parameters

        • v: number[]
        • k: number

        Returns number

  • Geom: {
        Bezier(v: number[], k: number): number;
        CatmullRom(v: number[], k: number): number;
        CubicBezier(v: number[], k: number): number;
        Linear(v: number[], k: number): number;
        QuadraticBezier(v: number[], k: number): number;
    }

    Geometric interpolation functions. Good for interpolating positions in space.

    • Bezier:function
      • A Bézier curve is defined by a set of control points P0 through Pn, where n is called its order. The first and last control points are always the end points of the curve; however, the intermediate control points (if any) generally do not lie on the curve.

        https://en.wikipedia.org/wiki/B%C3%A9zier_curve#Explicit_definition

        Parameters

        • v: number[]
        • k: number

        Returns number

    • CatmullRom:function
    • CubicBezier:function
      • Assumes your points are a succession of cubic bezier curves where the endpoint of one is the start point of the next one. for example: [Point in the curve, Control point, Control point, Point in the curve, Control point, Control point, Point in the curve]

        Parameters

        • v: number[]
        • k: number

        Returns number

    • Linear:function
      • Linear interpolation is like drawing straight lines between the points.

        Parameters

        • v: number[]
        • k: number

        Returns number

    • QuadraticBezier:function
      • Assumes your points are a succession of quadratic bezier curves where the endpoint of one is the start point of the next one. for example: [Point in the curve, Control point, Point in the curve, Control point, Point in the curve]

        Parameters

        • v: number[]
        • k: number

        Returns number

  • Utils: {
        Factorial: ((n: number) => number);
        Bernstein(n: number, i: number): number;
        CatmullRom(p0: number, p1: number, p2: number, p3: number, t: number): number;
        HCLJoin(HCL: AHCL): number;
        HCLLinear(color1: number, color2: number, t: number): number;
        HCLSplit(color: number): AHCL;
        HSVJoin(color: AHSV): number;
        HSVLinear(color1: number, color2: number, t: number): number;
        HSVsplit(color: number): AHSV;
        Linear(p0: number, p1: number, t: number): number;
        RGBLinear(color1: number, color2: number, t: number): number;
        RGBsplit(color: number): ARGB;
        WrapLinear(value1: number, value2: number, t: number, maxValue: number): number;
    }

    Helper functions used to calculate the different interpolations

    • Factorial: ((n: number) => number)
        • (n: number): number
        • Parameters

          • n: number

          Returns number

    • Bernstein:function
      • Parameters

        • n: number
        • i: number

        Returns number

    • CatmullRom:function
      • Parameters

        • p0: number
        • p1: number
        • p2: number
        • p3: number
        • t: number

        Returns number

    • HCLJoin:function
    • HCLLinear:function
      • Parameters

        • color1: number
        • color2: number
        • t: number

        Returns number

    • HCLSplit:function
    • HSVJoin:function
    • HSVLinear:function
      • Parameters

        • color1: number
        • color2: number
        • t: number

        Returns number

    • HSVsplit:function
    • Linear:function
      • Parameters

        • p0: number
        • p1: number
        • t: number

        Returns number

    • RGBLinear:function
      • Parameters

        • color1: number
        • color2: number
        • t: number

        Returns number

    • RGBsplit:function
    • WrapLinear:function
      • Parameters

        • value1: number
        • value2: number
        • t: number
        • maxValue: number

        Returns number

Generated using TypeDoc