Нужно строить перпендикулярно БД.
Сначала рассчитайте подшипник DB (обратите внимание, что в общем случае он отличается от подшипников AB и BA), используя сечение подшипника на на этой странице
JavaScript: (all angles in radians)
var y = Math.sin(λ2-λ1) * Math.cos(φ2);
var x = Math.cos(φ1)*Math.sin(φ2) -
Math.sin(φ1)*Math.cos(φ2)*Math.cos(λ2-λ1);
var brng = Math.atan2(y, x);
Затем добавьте Pi/ 2 к этому значению DCBrng = brng + Pi/2
и вычислите точку назначения C, используя DCBrng и расстояние "len of shift"
JavaScript: (all angles in radians)
var φ2 = Math.asin( Math.sin(φ1)*Math.cos(d/R) +
Math.cos(φ1)*Math.sin(d/R)*Math.cos(brng) );
var λ2 = λ1 + Math.atan2(Math.sin(brng)*Math.sin(d/R)*Math.cos(φ1),
Math.cos(d/R)-Math.sin(φ1)*Math.sin(φ2));
The longitude can be normalised to −180…+180 using (lon+540)%360-180