code: function(other) {
  		var r0 = this._points();
  		var r1 = other._points();
  		var axes = [
  			toAxis(r0[0], r0[1]),
  			toAxis(r0[0], r0[3])
  		];
  		var i, pr0, pr1;
  
  		if (this._rotation !== other._rotation) {
  			// Only separate with r1 axis if the rotation is different,
  			// else it's enough to separate r0 and r1 with r0 axis only!
  			axes.push(
  				toAxis(r1[0], r1[1]),
  				toAxis(r1[0], r1[3])
  			);
  		}
  
  		for (i = 0; i < axes.length; ++i) {
  			pr0 = projected(r0, axes[i]);
  			pr1 = projected(r1, axes[i]);
  
  			if (pr0.max < pr1.min || pr1.max < pr0.min) {
  				return false;
  			}
  		}
  
  		return true;
  	}
docs: Separating Axis Theorem https://gamedevelopment.tutsplus.com/tutorials/collision-detection-using-the-separating-axis-theorem--gamedev-169