mixed = d3
.geoProjection(function (x, y) {
const mercatorPoint = [x, Math.log(Math.tan(Math.PI / 4 + y / 2))];
const orthoPoint = [Math.cos(y) * Math.sin(x), Math.sin(y)];
return [
mercatorPoint[0] * blend + orthoPoint[0] * (1 - blend),
mercatorPoint[1] * blend + orthoPoint[1] * (1 - blend)
];
})
.scale(250)
.translate([width / 2, 350 + 60 * blend])
.clipAngle(85 + 5 * blend)