Объяснение того, как работает программа поиска координат, где линия L касается круга C (написано для CASIO) - PullRequest
0 голосов
/ 27 января 2020

Я хотел бы запрограммировать мой CASIO fx50FH, чтобы найти точки соприкосновения касательных, сгенерированных из P (X, Y), к окружности с центром в Q (–g, –f) с помощью уравнения: C: x ^ 2 + y ^ 2 + 2gx + 2fy + c = 0. [Пробовал латекс, но здесь не принимается. Извините!]

Я могу решить это, используя стандартный подход: -

1) Найдите круг D, используя PQ в качестве диаметра и D: x ^ 2 + y ^ 2 + 2 [(г - X) / 2] x + 2 [(f - Y) / 2] y + [- (gX + fY)] = 0

2) Найти уравнение общего аккорда, которым является L: (g + X) x + (f + Y) y + (c + [gX + fY]) = 0

3) Решите L и C, чтобы получить требуемое.

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

? → D: ? → A: ? → M: ? → X: ? → Y:
4AY + 4Y^2 – D^2 + 4M → B:
4DX + 4X^2 – A^2 + 4M → M:
2AD + 4AX + 4DY + 8XY → D:
If M: Then (D + √( D^2 – 4BM) ) ┘ ( 2M → A) ◢  Y – AX → B ◢  D ┘ M - A → C ◢ Else B ┘ D → C ◢  IfEnd:
Y – AnsX → D:

Где? = подсказка; → = магазин; : = перерыв; Divide = делить; Ans = результат самого последнего вычисления; и p ◢ q = отображение результата, где p и q - программные оценки.

К сожалению, нет комментариев, объясняющих логи c. Кто-нибудь может расшифровать это для меня? Например, какой альтернативный подход он использует? откуда появляются временные результаты?

...