Возможный дубликат:
пересечение линии и круга
Как я найду точку пересечения этой окружности и прямой. Я использовал команду lincirc в Matlab с наклоном и точкой пересечения, но она показывает точку, даже если она точно не пересекает круг. Я хочу получить только пересечение двух точек. Если линия пересекает одну точку, мне нужна именно одна точка пересечения. Я не хочу указывать точку на траектории этой линии. Спасибо
linecirc
вернет две одинаковые точки. - person chaohuang   schedule 16.07.2012[x1, x2]
или[y1,y2]
(когда наклон inf) - person chaohuang   schedule 16.07.2012linecirc
дает вам 2 точки пересечения, но отрезок между (x1,y1) и (x2,y2) может пересекать окружность 0,1,2 раза. Затем вам нужно проверить координаты 2 возвращенных точек пересечения. Если координата x точки пересечения лежит в [x1, x2], то отрезок пересекает окружность в этой точке. В противном случае откажитесь от точки. (проверьте координату y, если наклон линии inf) - person chaohuang   schedule 16.07.2012