respondToCollision(o1, o2) {
        let dirTo = o1.dirTo(o2);
        let distance = o1.distanceTo(o2);
        let moveByAmount = 0.5 * Math.abs(distance);
        o1.moveBy(dirTo, -moveByAmount);
        o2.moveBy(dirTo, moveByAmount);
    }
/**
     * Handles the response to collision between object 1 and 2
     * @param {StateVector} o1 Object 1
     * @param {StateVector} o2 Object 2
     */
Handles the response to collision between object 1 and 2
@param {StateVector} o1 Object 1
@param {StateVector} o2 Object 2
Handles the response to collision between object 1 and 2 @param { StateVector } o1 Object 1 @param { StateVector } o2 Object 2
respondToCollision(o1, o2) {
        let dirTo = o1.dirTo(o2);
        let distance = o1.distanceTo(o2);
        let moveByAmount = 0.5 * Math.abs(distance);
        o1.moveBy(dirTo, -moveByAmount);
        o2.moveBy(dirTo, moveByAmount);
    }
respondToCollision ( o1 , o2 ) { let dirTo = o1 . dirTo ( o2 ) ; let distance = o1 . distanceTo ( o2 ) ; let moveByAmount = 0.5 * Math . abs ( distance ) ; o1 . moveBy ( dirTo , - moveByAmount ) ; o2 . moveBy ( dirTo , moveByAmount ) ; }
Handles the response to collision between object 1 and 2
 @param {StateVector} o1 Object 1
 @param {StateVector} o2 Object 2
Handles the response to collision between object 1 and 2 @param { StateVector } o1 Object 1 @param { StateVector } o2 Object 2