Цитата(Virun @ 15.10.2006, 21:44 ) | | На плоскости заданы окружность и прямая. Определить их взаимное расположение- ,пересекаются , касаются, расположены произвольно. |
Это математика. Программированием тут пахнет чуть-чуть, самую малость 
Цитата(Virun @ 15.10.2006, 21:44 ) | | На плоскости заданы окружность и прямая. |
Как они заданы? Точками? Уравнением?
Судя по Цитата(DeadLine @ 16.10.2006, 11:09 ) | | Уравнение прямой k*x+b=y и окружности x^2+y^2=r^2 |
уравнением
Делаем так: подставляем уравнение прямой в уравнение окружности:
Возводим в квадрат и приводим подобные:
| Код | (1+k^2)x^2 + 2kbx + (b^2 - r^2) = 0
|
Так как нам нужно узнать только их взаимное расположение, то считаем дискриминант:
| Код | D = 4k^2*b^2 - 4(1 + k^2)(b^2 - r^2) // можно это упростить, но мне лень :)
|
Теперь, если: 1) D < 0, то корней нет => прямая и окружность не пересекаются, 2) D = 0, то корень 1 => прямая и окружность касаются, 3) D > 0, то корней два => прямая и окружность пересекаются.
Запрограммировать это ничего не стоит 
Добавлено @ 12:45 Кроме того, Цитата(DeadLine @ 16.10.2006, 11:09 ) | | x^2+y^2=r^2 |
-- уравнение окружности с центром в точке (0, 0) Вместо него нужно использовать (x - a)^2 + (y - b)^2 = r^2 --- центр в точке (а, b). Но суть от этого не меняется |