Как вычислить (x, y) для фиксированной длины дуги вдали от точки на окружности

Я потратил на это столько часов, что чувствую, как постепенно теряет рассудок. Так что любая помощь будет действительно признательна. Я постараюсь быть максимально лаконичным.

У меня есть круг на 2D-плоскости. Я знаю декартовы координаты его центральной точки (C) и радиуса (R).

Моя путаница возникла из-за этой проблемы. Если имеется точка на плоскости вне круга; Я могу вычислить точку (P) на окружности круга, ближайшую к этой точке.

Я хочу определить координаты (x, y) двух точек на окружности. Назовем их P1 и P2. P1 и P2 - два конца дуги. Дуга имеет фиксированную длину (X). P - это середина между P1 и P2. Таким образом, длина дуги от P до P1 и от P до P2 равна X / 2.

Вкратце: даны C, R, P, X; Мне нужно вычислить P1 и P2.

Я пытаюсь закодировать это на c ++, но любые предложения или псевдокод были бы замечательными.

РЕДАКТИРОВАТЬ: X - длина дуги, а не прямая линия между точками P1 и P2

9
задан JConway 6 November 2010 в 15:14
поделиться