Я потратил так много часов на это, что чувствую, как моё здравомыслие медленно ослабевает. Так что любая помощь будет действительно цениться.
Я постараюсь быть кратким, насколько это возможно.
У меня есть круг на 2D плоскости. Я знаю декартовы координаты для его центральной точки (C) и радиуса (R).
Моя путаница проистекает из этой проблемы. Когда предоставляется точка на плоскости за пределами круга; Я могу рассчитать точку (P) на окружности круга, ближайшую к этой точке.
Что я хочу сделать, так это определить координаты (x, y) 2 точек на окружности. Давайте назовем их P1 и P2. P1 и P2 - два конца дуги. Дуга имеет фиксированную длину (X). P - средняя точка между P1 и P2. Таким образом, длина дуги от P до P1 и от P до P2 равны X / 2.
Короче говоря:
дано C, R, P, X; Мне нужно рассчитать P1 и P2.
Я пытаюсь закодировать это на c ++, но любые предложения или псевдокод будут хороши.
EDIT:
X - длина дуги, а не прямая линия между P1 и P2