added Math.PI/180 precalculation to reduce calculations