src/physics/collision.js
function flattenPointsOn(points, normal, result) {
        var min = Number.MAX_VALUE;
        var max = -Number.MAX_VALUE;
        var len = points.length;
        for (var i = 0; i < len; i++) {
            // The magnitude of the projection of the point onto the normal
            var dot = points[i].dotProduct(normal);
            if (dot < min) { min = dot; }
            if (dot > max) { max = dot; }
        }
        result[0] = min;
        result[1] = max;
    }
function flattenPointsOn(points, normal, result) {
        var min = Number.MAX_VALUE;
        var max = -Number.MAX_VALUE;
        var len = points.length;
        for (var i = 0; i < len; i++) {
            // The magnitude of the projection of the point onto the normal
            var dot = points[i].dotProduct(normal);
            if (dot < min) { min = dot; }
            if (dot > max) { max = dot; }
        }
        result[0] = min;
        result[1] = max;
    }
function flattenPointsOn ( points , normal , result ) { var min = Number . MAX_VALUE ; var max = - Number . MAX_VALUE ; var len = points . length ; for ( var i = 0 ; i < len ; i ++ ) { // The magnitude of the projection of the point onto the normal var dot = points [ i ] . dotProduct ( normal ) ; if ( dot < min ) { min = dot ; } if ( dot > max ) { max = dot ; } } result [ 0 ] = min ; result [ 1 ] = max ; }
Flattens the specified array of points onto a unit vector axis,
resulting in a one dimensional range of the minimum and
maximum value on that axis.
@param {Array.<Vector>} points The points to flatten.
@param {Vector} normal The unit vector axis to flatten on.
@param {Array.<number>} result An array.  After calling this function,
result[0] will be the minimum value,
result[1] will be the maximum value.
Flattens the specified array of points onto a unit vector axis resulting in a one dimensional range of the minimum and maximum value on that axis .