Я хочу нарисовать кривую Безье между двумя точками расположения.Я могу нарисовать некоторую кривую, следуя некоторым ответам на stackoverflow , но точка для контрольных точек Безье в некоторых случаях указывается неправильно, хотя я использую ту же самую простую формулу для кривой Безье.
То, что я делаю, чтобы поместить две контрольные точки Безье в правильную точку, - создать линию, которая всегда должна пересекать линейную линию между двумя точками ортогонально.- создать две контрольные точки Безье (+ и -), которые находятся посередине где-нибудь на ортогональной линии и в каждом из двух местоположений.
Но в некоторых случаях (два местоположения не расположены горизонтально или вертикально),линия не идет ортогонально, как показано ниже, так как контрольная точка не находится на ортогональной линии, и мне интересно, есть ли разница между масштабом latitudeDelta и масштабом longitudeDelta, который вызывает проблему, но не уверен.
и мои расчеты выглядят следующим образом.
const slopeOfLinearLine = (destination.latitude - origin.latitude) / (destination.longitude - origin.longitude)
const slopeOfOrthogonalLine = -1 / slopeOfLinearLine
const x = some x value to move right or left.
const y = slopeOfOrthogonalLine * x
const topOfTriangle = { latitude: midLinearLine.latitude + y, longitude: midLinearLine.longitude + x }
Пожалуйста, дайте мне знать, что у кого-нибудь есть идеи по этому вопросу.Спасибо!