dist/joint.nowrap.js
function(knots) {

            console.warn('deprecated');

            var firstControlPoints = [];
            var secondControlPoints = [];
            var n = knots.length - 1;
            var i;

            // Special case: Bezier curve should be a straight line.
            if (n == 1) {
                // 3P1 = 2P0 + P3
                firstControlPoints[0] = new Point(
                    (2 * knots[0].x + knots[1].x) / 3,
                    (2 * knots[0].y + knots[1].y) / 3
                );

                // P2 = 2P1 – P0
                secondControlPoints[0] = new Point(
                    2 * firstControlPoints[0].x - knots[0].x,
                    2 * firstControlPoints[0].y - knots[0].y
                );

                return [firstControlPoints, secondControlPoints];
            }

            // Calculate first Bezier control points.
            // Right hand side vector.
            var rhs = [];

            // Set right hand side X values.
            for (i = 1; i < n - 1; i++) {
                rhs[i] = 4 * knots[i].x + 2 * knots[i + 1].x;
            }

            rhs[0] = knots[0].x + 2 * knots[1].x;
            rhs[n - 1] = (8 * knots[n - 1].x + knots[n].x) / 2.0;

            // Get first control points X-values.
            var x = this.getFirstControlPoints(rhs);

            // Set right hand side Y values.
            for (i = 1; i < n - 1; ++i) {
                rhs[i] = 4 * knots[i].y + 2 * knots[i + 1].y;
            }

            rhs[0] = knots[0].y + 2 * knots[1].y;
            rhs[n - 1] = (8 * knots[n - 1].y + knots[n].y) / 2.0;

            // Get first control points Y-values.
            var y = this.getFirstControlPoints(rhs);

            // Fill output arrays.
            for (i = 0; i < n; i++) {
                // First control point.
                firstControlPoints.push(new Point(x[i], y[i]));

                // Second control point.
                if (i < n - 1) {
                    secondControlPoints.push(new Point(
                        2 * knots [i + 1].x - x[i + 1],
                        2 * knots[i + 1].y - y[i + 1]
                    ));

                } else {
                    secondControlPoints.push(new Point(
                        (knots[n].x + x[n - 1]) / 2,
                        (knots[n].y + y[n - 1]) / 2)
                    );
                }
            }

            return [firstControlPoints, secondControlPoints];
        }
function(knots) {

            console.warn('deprecated');

            var firstControlPoints = [];
            var secondControlPoints = [];
            var n = knots.length - 1;
            var i;

            // Special case: Bezier curve should be a straight line.
            if (n == 1) {
                // 3P1 = 2P0 + P3
                firstControlPoints[0] = new Point(
                    (2 * knots[0].x + knots[1].x) / 3,
                    (2 * knots[0].y + knots[1].y) / 3
                );

                // P2 = 2P1 – P0
                secondControlPoints[0] = new Point(
                    2 * firstControlPoints[0].x - knots[0].x,
                    2 * firstControlPoints[0].y - knots[0].y
                );

                return [firstControlPoints, secondControlPoints];
            }

            // Calculate first Bezier control points.
            // Right hand side vector.
            var rhs = [];

            // Set right hand side X values.
            for (i = 1; i < n - 1; i++) {
                rhs[i] = 4 * knots[i].x + 2 * knots[i + 1].x;
            }

            rhs[0] = knots[0].x + 2 * knots[1].x;
            rhs[n - 1] = (8 * knots[n - 1].x + knots[n].x) / 2.0;

            // Get first control points X-values.
            var x = this.getFirstControlPoints(rhs);

            // Set right hand side Y values.
            for (i = 1; i < n - 1; ++i) {
                rhs[i] = 4 * knots[i].y + 2 * knots[i + 1].y;
            }

            rhs[0] = knots[0].y + 2 * knots[1].y;
            rhs[n - 1] = (8 * knots[n - 1].y + knots[n].y) / 2.0;

            // Get first control points Y-values.
            var y = this.getFirstControlPoints(rhs);

            // Fill output arrays.
            for (i = 0; i < n; i++) {
                // First control point.
                firstControlPoints.push(new Point(x[i], y[i]));

                // Second control point.
                if (i < n - 1) {
                    secondControlPoints.push(new Point(
                        2 * knots [i + 1].x - x[i + 1],
                        2 * knots[i + 1].y - y[i + 1]
                    ));

                } else {
                    secondControlPoints.push(new Point(
                        (knots[n].x + x[n - 1]) / 2,
                        (knots[n].y + y[n - 1]) / 2)
                    );
                }
            }

            return [firstControlPoints, secondControlPoints];
        }
function ( knots ) { console . warn ( 'deprecated' ) ; var firstControlPoints = [ ] ; var secondControlPoints = [ ] ; var n = knots . length - 1 ; var i ; // Special case: Bezier curve should be a straight line. if ( n == 1 ) { // 3P1 = 2P0 + P3 firstControlPoints [ 0 ] = new Point ( ( 2 * knots [ 0 ] . x + knots [ 1 ] . x ) / 3 , ( 2 * knots [ 0 ] . y + knots [ 1 ] . y ) / 3 ) ; // P2 = 2P1 – P0 secondControlPoints [ 0 ] = new Point ( 2 * firstControlPoints [ 0 ] . x - knots [ 0 ] . x , 2 * firstControlPoints [ 0 ] . y - knots [ 0 ] . y ) ; return [ firstControlPoints , secondControlPoints ] ; } // Calculate first Bezier control points. // Right hand side vector. var rhs = [ ] ; // Set right hand side X values. for ( i = 1 ; i < n - 1 ; i ++ ) { rhs [ i ] = 4 * knots [ i ] . x + 2 * knots [ i + 1 ] . x ; } rhs [ 0 ] = knots [ 0 ] . x + 2 * knots [ 1 ] . x ; rhs [ n - 1 ] = ( 8 * knots [ n - 1 ] . x + knots [ n ] . x ) / 2.0 ; // Get first control points X-values. var x = this . getFirstControlPoints ( rhs ) ; // Set right hand side Y values. for ( i = 1 ; i < n - 1 ; ++ i ) { rhs [ i ] = 4 * knots [ i ] . y + 2 * knots [ i + 1 ] . y ; } rhs [ 0 ] = knots [ 0 ] . y + 2 * knots [ 1 ] . y ; rhs [ n - 1 ] = ( 8 * knots [ n - 1 ] . y + knots [ n ] . y ) / 2.0 ; // Get first control points Y-values. var y = this . getFirstControlPoints ( rhs ) ; // Fill output arrays. for ( i = 0 ; i < n ; i ++ ) { // First control point. firstControlPoints . push ( new Point ( x [ i ] , y [ i ] ) ) ; // Second control point. if ( i < n - 1 ) { secondControlPoints . push ( new Point ( 2 * knots [ i + 1 ] . x - x [ i + 1 ] , 2 * knots [ i + 1 ] . y - y [ i + 1 ] ) ) ; } else { secondControlPoints . push ( new Point ( ( knots [ n ] . x + x [ n - 1 ] ) / 2 , ( knots [ n ] . y + y [ n - 1 ] ) / 2 ) ) ; } } return [ firstControlPoints , secondControlPoints ] ; }
Get open-ended Bezier Spline Control Points. @deprecated @param knots Input Knot Bezier spline points (At least two points!). @param firstControlPoints Output First Control points. Array of knots.length - 1 length. @param secondControlPoints Output Second Control points. Array of knots.length - 1 length.
Get open - ended Bezier Spline Control Points .