Каждому свое
533 / 219 / 81
Регистрация: 05.08.2013
Сообщений: 1,614
1

Пересечение отрезка и окружности

16.07.2015, 22:31. Показов 6288. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть отрезок с координатами x1=-4.4, y1=-3.91; x2=22.12, y2=3.97
Также есть окружность с координатами ее центра x3=14, y3=3
Если начертить рисунок, то очевидно видно, что отрезок пересекает окружность
Как проверить, что отрезок пересекает окружность математически?мне не нужны точки пересечения, мне нужно только проверка-пересекает/не пересекает
Помогите пожалуйста
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.07.2015, 22:31
Ответы с готовыми решениями:

Пересечение луча и отрезка
Помогите, пожалуйста, хотя бы формулой. Дано: точки A, B, C, D, лежащие на одной прямой....

Пересечение эллипса и отрезка
Есть эллипс. Известны его координаты центра, длины большей и малой полуосей и угол наклона. Есть...

пересечение отрезка и параллелепипеда
Есть ли быстрые алгоритмы нахождения точек пересечения?

Круг и два отрезка - пересечение
Доброго времени суток. Встала передо мной задача, которую решить своими силами у меня не...

8
Эксперт по математике/физике
10413 / 6907 / 3757
Регистрация: 14.01.2014
Сообщений: 15,884
16.07.2015, 22:46 2
Вы не указали радиус окружности, если он не задан, то задача не может иметь решения. Если радиус задан, то для начала вычисляете расстояния от концов отрезка до центра окружности. Если одно расстояние получилось больше радиуса, а другое - меньше, то пересечение есть. Но в случае, если они оказались больше, то однозначного ответа нет, так как какая-то точка отрезка может попасть внутрь. в этом случае надо расписать уравнение прямой и рассчитывать расстояние от неё до центра окружности!
0
Каждому свое
533 / 219 / 81
Регистрация: 05.08.2013
Сообщений: 1,614
17.07.2015, 00:04  [ТС] 3
Давайте так, более общую задачу сделаем, без чисел
Есть координаты концов отрезка,есть координаты центра окружности и радиус этой окружности. Нужно проверить на пересечение
0
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
17.07.2015, 00:13 4
Цитата Сообщение от mathidiot Посмотреть сообщение
Но в случае, если они оказались больше, то однозначного ответа нет, так как какая-то точка отрезка может попасть внутрь. в этом случае надо расписать уравнение прямой и рассчитывать расстояние от неё до центра окружности!
Все это совершенно не обязательно и даже излишне в силу трудоемкости, если вспомнить, что уравнение отрезка суть X = t*A + (1-t)*B, 0<=t<=1, т.е. система из уравнения и неравенства, т.е. все точки отрезка описываются системой этих соотношений.
Следует попытаться найти t, при котором прямая X = t*A + (1-t)*B пересекает окружность, а затем просто проверить, попадает ли t в интервал [0,1]

Добавлено через 1 минуту
Цитата Сообщение от Bretbas Посмотреть сообщение
Давайте так, более общую задачу сделаем, без чисел
Я опоздал на минуту. Устраивает?

Добавлено через 5 минут
ЗЫ. уравнение X = t*A + (1-t)*B - векторное. Его надо расписать по координатам. Координаты подставить в уравнение окружности, получится уравнение относительно t (квадратное). У него не всегда есть решения (прямая может проходить мимо окружности). Но если они есть (обычно 2), проверяем на 0<=t<=1
В общем виде это расписывать громоздко, но методика, надеюсь, понятна.
1
2080 / 1238 / 464
Регистрация: 20.12.2014
Сообщений: 3,237
17.07.2015, 00:13 5
Лучший ответ Сообщение было отмечено mik-a-el как решение

Решение

Уравнение прямой, содержащей указанный отрезок:
https://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{x-{x}_{1}}{{x}_{2}-{x}_{1}}=\frac{y-{y}_{1}}{{y}_{2}-{y}_{1}}
При подстановке значений и небольшом округлении величин получаем:
y = 0,3*x - 2,6
Уравнение окружности с радиусом R:
https://www.cyberforum.ru/cgi-bin/latex.cgi?{\left(x-{x}_{3} \right)}^{2}+{\left(y-{y}_{3} \right)}^{2}={R}^{2}
Подставив уравнение прямой в уравнение окружности, получим уравнение:
1,09*x^2 - 31,36*x + 164,64 - R^2 = 0
Дискриминант данного уравнения равен R^2 - 1,8, из чего следует, что при R >= 1,34 прямая, содержащая отрезок, имеет с окружностью хотя бы одну общую точку.
Координаты x точек пересечения прямой с окружностью:
https://www.cyberforum.ru/cgi-bin/latex.cgi?{x}_{4,5}=\frac{31,36\pm \sqrt{{R}^{2}-1,8}}{2,18}
Таким образом, если хотя бы одно из значений х4 или х5 больше значения х1, но меньше значения х2, то отрезок пересекает окружность.
1
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
17.07.2015, 01:25 6
Цитата Сообщение от chumich Посмотреть сообщение
больше значения х1, но меньше значения х2, то отрезок пересекает окружность.
В принципе все правильно. Маленькие детали. Возможно (в общем виде), что x1 > x2. Тогда уж лучше говорить "между"
Кроме того возможна ситуация x1 = x2 (прямая параллельна оси У. Ее при вашем подходе придется рассматривать отдельно.
На мне хотелось бы подчеркнуть полезность сведений (об уравнении отрезка) из поста 4 об уравнении отрезка. Нередко это помогает не жонглировать, а заниматься чистой арифметикой.
1
2080 / 1238 / 464
Регистрация: 20.12.2014
Сообщений: 3,237
17.07.2015, 01:43 7
Цитата Сообщение от Байт Посмотреть сообщение
Возможно (в общем виде), что x1 > x2. Тогда уж лучше говорить "между"
Кроме того возможна ситуация x1 = x2 (прямая параллельна оси У.
Решение дано исключительно для приведенной задачи с готовыми данными, и нисколько не претендует на звание "метода решения" . Хотя, при небольшой доработке его, с учетом ваших ценных замечаний, возможно и могло бы претендовать.
Цитата Сообщение от Байт Посмотреть сообщение
полезность сведений (об уравнении отрезка)
Действительно очень полезная информация . Как-то раньше не довелось сталкиваться с этим уравнением.
0
Эксперт по математике/физике
6358 / 4065 / 1512
Регистрация: 09.10.2009
Сообщений: 7,550
Записей в блоге: 4
17.07.2015, 13:52 8
Цитата Сообщение от Байт Посмотреть сообщение
В общем виде это расписывать громоздко, но методика, надеюсь, понятна.
Вот в общем виде.
Точка пересечения треугольника и окружности
0
Каждому свое
533 / 219 / 81
Регистрация: 05.08.2013
Сообщений: 1,614
19.07.2015, 03:23  [ТС] 9
Мне как раз и надо было в общем виде, потому что я какой раз уже ошибаюсь в расчетах
Но наконец то я спокойно сел за чашечкой кофе с утреца и расписал это все...коффициенты квадратного уравнения получились просто огромные))но зато рабочие.
Кому нужно, могу скинуть
0
19.07.2015, 03:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.07.2015, 03:23
Помогаю со студенческими работами здесь

Найти пересечение луча и отрезка
Здравствуйте. Я не силён в математике, поэтому прошу помощи. Нужно найти пересечение луча и...

Пересечение окружности с несколькими и дополнительными условиями
Пересечение окружности с несколькими и дополнительными условиями. Даны 5 пронумерованных...

Найти два отрезка в окружности
Привет всем! Ребята, помогите пожалуйста найти два отрезка, то есть выразить их через известные...

Поиск точек пересечения окружности и отрезка. Нужна финальная готовая формула :-)
Привет! 2D Space. Есть отрезок, точки его концов: A(x1,y1); B(x2,y2) Есть окружность с центром в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru