function projectLat(lat, r) {
const sinLat = Math.sin(lat * Math.PI / 180);
return Math.asin(r * sinLat) * 180 / Math.PI;
}
console.log(projectLat(51.507, 1)); // 51.506999999999984
console.log(projectLat(51.507, 0.5)); // 23.038034761382285
console.log(projectLat(51.507, 0)); // 0
console.log(projectLat(90, 1)); // 90
console.log(projectLat(90, 0.5)); // 30
console.log(projectLat(90, 0)); // 0
console.log(projectLat(0, 1)); // 0
console.log(projectLat(0, 0.5)); // 0
console.log(projectLat(0, 0)); // 0