Уравнение пересечения отрезка и окружности

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

Я пытаюсь определить точку, в которой отрезок линии пересекаются окружности. Например, учитывая любую точку между P0 и P3 (а также предполагая, что вы знаете радиус), какой самый простой способ определить P3?

5 ответов

у вас есть система уравнений. Круг определяется: x^2 + y^2 = r^2 . Линии определяется y = y0 + [(y1 — y0) / (x1 — x0)]·(x — x0) . Подставьте вторую в первую, вы получите x^2 + (y0 + [(y1 — y0) / (x1 — x0)]·(x — x0))^2 = r^2 . Решите это, и вы получите значения 0-2 для x. Подключите их обратно в любое уравнение, чтобы получить ваши значения для y.

  • найти угол между P0 и P1
  • нарисуйте линию под этим углом от P0 на расстоянии r, что даст вам P3

из центра круга и радиуса вы можете написать уравнение, описывающее круг. Из двух точек P0 и P1 можно написать уравнение, описывающее линию.

таким образом, у вас есть 2 уравнения в 2 неизвестных, которые вы можете решить путем замены.

и (x1,y1) = координаты точки P1

уравнение для круга:

уравнение для строка:

подключение 2-го уравнения в первое, получим:

аналогично вы можете найти, что

точка (x,y) — это точка пересечения между линией и кругом, (x,y) — ваш ответ.

перейти к этому коду..его сэкономить время

КОД MATLAB

функция [ флаг] = circleLineSegmentIntersection2 (Ax, Ay, Bx, By, Cx, Cy, R)

% A и B — две конечные точки отрезка линии, а C-центр окружность, % R-радиус окружности. Эта вычислительная функция ближайшая точка fron C к сегменту %, если расстояние до ближайшая точка > R возврат 0 else 1

Как найти пересечение окружности и отрезка

Отрезки и прямые, связанные с окружностью. Теорема о бабочке

Отрезки и прямые, связанные с окружностью
Свойства хорд и дуг окружности
Теоремы о длинах хорд, касательных и секущих
Доказательства теорем о длинах хорд, касательных и секущих
Теорема о бабочке

Отрезки и прямые, связанные с окружностью

ФигураРисунокОпределение и свойства
Окружность

Множество точек плоскости, находящихся на одном и том же расстоянии от одной точки — центра окружности

Круг

Конечная часть плоскости, ограниченная окружностью

Радиус

Отрезок, соединяющий центр окружности с любой точкой окружности

Хорда

Отрезок, соединяющий две любые точки окружности

Диаметр

Хорда, проходящая через центр окружности.

Диаметр является самой длинной хордой окружности

Касательная

Прямая, имеющая с окружностью только одну общую точку.

Касательная перпендикулярна к радиусу окружности, проведённому в точку касания

Секущая

Прямая, пересекающая окружность в двух точках

Окружность

Множество точек плоскости, находящихся на одном и том же расстоянии от одной точки — центра окружности

Круг

Конечная часть плоскости, ограниченная окружностью

Радиус

Отрезок, соединяющий центр окружности с любой точкой окружности

Хорда

Отрезок, соединяющий две любые точки окружности

Диаметр

Хорда, проходящая через центр окружности.

Диаметр является самой длинной хордой окружности

Касательная

Прямая, имеющая с окружностью только одну общую точку.

Касательная перпендикулярна к радиусу окружности, проведённому в точку касания

Секущая

Прямая, пересекающая окружность в двух точках

Свойства хорд и дуг окружности

ФигураРисунокСвойство
Диаметр, перпендикулярный к хордеДиаметр, перпендикулярный к хорде, делит эту хорду и стягиваемые ею две дуги пополам.
Диаметр, проходящий через середину хордыДиаметр, проходящий через середину хорды, перпендикулярен к этой хорде и делит стягиваемые ею две дуги пополам.
Равные хордыЕсли хорды равны, то они находятся на одном и том же расстоянии от центра окружности.
Хорды, равноудалённые от центра окружностиЕсли хорды равноудалены (находятся на одном и том же расстоянии) от центра окружности, то они равны.
Две хорды разной длиныБольшая из двух хорд расположена ближе к центру окружности.
Равные дугиУ равных дуг равны и хорды.
Параллельные хордыДуги, заключённые между параллельными хордами, равны.
Диаметр, перпендикулярный к хорде

Диаметр, перпендикулярный к хорде, делит эту хорду и стягиваемые ею две дуги пополам.

Диаметр, проходящий через середину хорды

Диаметр, проходящий через середину хорды, перпендикулярен к этой хорде и делит стягиваемые ею две дуги пополам.

Равные хорды

Если хорды равны, то они находятся на одном и том же расстоянии от центра окружности.

Хорды, равноудалённые от центра окружности

Если хорды равноудалены (находятся на одном и том же расстоянии) от центра окружности, то они равны.

Две хорды разной длины

Большая из двух хорд расположена ближе к центру окружности.

Равные дуги

У равных дуг равны и хорды.

Параллельные хорды

Дуги, заключённые между параллельными хордами, равны.

Теоремы о длинах хорд, касательных и секущих

ФигураРисунокТеорема
Пересекающиеся хорды

Произведения длин отрезков, на которые разбита каждая из хорд, равны:

Касательные, проведённые к окружности из одной точки

Если к окружности из одной точки проведены две касательных, то длины отрезков касательных от этой точки до точек касания с окружностью равны.

Касательная и секущая, проведённые к окружности из одной точки

Секущие, проведённые из одной точки вне круга

Произведения длин отрезков, на которые разбита каждая из хорд, равны:

Если к окружности из одной точки проведены две касательных, то длины отрезков касательных от этой точки до точек касания с окружностью равны.

Пересекающиеся хорды
Касательные, проведённые к окружности из одной точки
Касательная и секущая, проведённые к окружности из одной точки
Секущие, проведённые из одной точки вне круга
Пересекающиеся хорды

Произведения длин отрезков, на которые разбита каждая из хорд, равны:

Касательные, проведённые к окружности из одной точки

Если к окружности из одной точки проведены две касательных, то длины отрезков касательных от этой точки до точек касания с окружностью равны.

Касательная и секущая, проведённые к окружности из одной точки

Секущие, проведённые из одной точки вне круга

Доказательства теорем о длинах хорд, касательных и секущих

Теорема 1 . Предположим, что хорды окружности AB и CD пересекаются в точке E (рис.1).

Тогда справедливо равенство

Доказательство . Заметим, что углы BCD и BAD равны как вписанные углы, опирающиеся на одну и ту же дугу. Углы BEC и AED равны как вертикальные. Поэтому треугольники BEC и AED подобны. Следовательно, справедливо равенство

откуда и вытекает требуемое утверждение.

Теорема 2 . Предположим, что из точки A , лежащей вне круга, к окружности проведены касательная AB и секущая AD (рис.2).

Точка B – точка касания с окружностью, точка C – вторая точка пересечения прямой AD с окружностью. Тогда справедливо равенство

Доказательство . Заметим, что угол ABC образован касательной AB и хордой BC , проходящей через точку касания B . Поэтому величина угла ABC равна половине угловой величины дуги BC . Поскольку угол BDC является вписанным углом, то величина угла BDC также равна половине угловой величины дуги BC . Следовательно, треугольники ABC и ABD подобны (угол A является общим, углы ABC и BDA равны). Поэтому справедливо равенство

откуда и вытекает требуемое утверждение.

Теорема 3 . Предположим, что из точки A , лежащей вне круга, к окружности проведены секущие AD и AF (рис.3).

Точки C и E – вторые точки пересечения секущих с окружностью. Тогда справедливо равенство

Доказательство . Проведём из точки A касательную AB к окружности (рис. 4).

Точка B – точка касания. В силу теоремы 2 справедливы равенства

откуда и вытекает требуемое утверждение.

Теорема о бабочке

Теорема о бабочке . Через середину G хорды EF некоторой окружности проведены две произвольные хорды AB и CD этой окружности. Точки K и L – точки пересечения хорд AC и BD с хордой EF соответственно (рис.5). Тогда отрезки GK и GL равны.

Доказательство . Существует много доказательств этой теоремы. Изложим доказательство, основанное на теореме синусов, которое, на наш взгляд, является наиболее наглядным. Для этого заметим сначала, что вписанные углы A и D равны, поскольку опираются на одну и ту же дугу. По той же причине равны и вписанные углы C и B . Теперь введём следующие обозначения:

Воспользовавшись теоремой синусов, применённой к треугольнику CKG , получим

Воспользовавшись теоремой синусов, применённой к треугольнику AKG , получим

Воспользовавшись теоремой 1, получим

Воспользовавшись равенствами (1) и (2), получим

Проводя совершенно аналогичные рассуждения для треугольников BGL и DGL , получим равенство

откуда вытекает равенство

что и завершает доказательство теоремы о бабочке.

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

Я пытаюсь определить точку, в которой отрезок линии пересекаются окружности. Например, учитывая любую точку между P0 и P3 (а также предполагая, что вы знаете радиус), какой самый простой способ определить P3?

5 ответов

у вас есть система уравнений. Круг определяется: x^2 + y^2 = r^2 . Линии определяется y = y0 + [(y1 — y0) / (x1 — x0)]·(x — x0) . Подставьте вторую в первую, вы получите x^2 + (y0 + [(y1 — y0) / (x1 — x0)]·(x — x0))^2 = r^2 . Решите это, и вы получите значения 0-2 для x. Подключите их обратно в любое уравнение, чтобы получить ваши значения для y.

  • найти угол между P0 и P1
  • нарисуйте линию под этим углом от P0 на расстоянии r, что даст вам P3

из центра круга и радиуса вы можете написать уравнение, описывающее круг. Из двух точек P0 и P1 можно написать уравнение, описывающее линию.

таким образом, у вас есть 2 уравнения в 2 неизвестных, которые вы можете решить путем замены.

и (x1,y1) = координаты точки P1

уравнение для круга:

уравнение для строка:

подключение 2-го уравнения в первое, получим:

аналогично вы можете найти, что

точка (x,y) — это точка пересечения между линией и кругом, (x,y) — ваш ответ.

перейти к этому коду..его сэкономить время

КОД MATLAB

функция [ флаг] = circleLineSegmentIntersection2 (Ax, Ay, Bx, By, Cx, Cy, R)

% A и B — две конечные точки отрезка линии, а C-центр окружность, % R-радиус окружности. Эта вычислительная функция ближайшая точка fron C к сегменту %, если расстояние до ближайшая точка > R возврат 0 else 1

Пересечение окружности и прямой

Дана окружность (координатами своего центра и радиусом) и прямая (своим уравнением). Требуется найти точки их пересечения (одна, две, либо ни одной).

Решение

Вместо формального решения системы двух уравнений подойдём к задаче с геометрической стороны (причём, за счёт этого мы получим более точное решение с точки зрения численной устойчивости).

Предположим, не теряя общности, что центр окружности находится в начале координат (если это не так, то перенесём его туда, исправив соответствующе константу C в уравнении прямой). Т.е. имеем окружность с центром в (0,0) радиуса r и прямую с уравнением Ax + By + C = 0.

Сначала найдём ближайшую к центру точку прямой — точку с некоторыми координатами (x0,y0). Во-первых, эта точка должна находиться на таком расстоянии от начала координат:

Во-вторых, поскольку вектор (A,B) перпендикулярен прямой, то координаты этой точки должны быть пропорциональны координатам этого вектора. Учитывая, что расстояние от начала координат до искомой точки нам известно, нам нужно просто нормировать вектор (A,B) к этой длине, и мы получаем:

(здесь неочевидны только знаки ‘минус’, но эти формулы легко проверить подстановкой в уравнение прямой — должен получиться ноль)

Зная ближайшую к центру окружности точку, мы уже можем определить, сколько точек будет содержать ответ, и даже дать ответ, если этих точек 0 или 1.

Действительно, если расстояние от (x0, y0) до начала координат (а его мы уже выразили формулой — см. выше) больше радиуса, то ответ — ноль точек. Если это расстояние равно радиусу, то ответом будет одна точка — (x0,y0). А вот в оставшемся случае точек будет две, и их координаты нам предстоит найти.

Итак, мы знаем, что точка (x0, y0) лежит внутри круга. Искомые точки (ax,ay) и (bx,by), помимо того что должны принадлежать прямой, должны лежать на одном и том же расстоянии d от точки (x0, y0), причём это расстояние легко найти:

Заметим, что вектор (-B,A) коллинеарен прямой, а потому искомые точки (ax,ay) и (bx,by) можно получить, прибавив к точке (x0,y0) вектор (-B,A), нормированный к длине d (мы получим одну искомую точку), и вычтя этот же вектор (получим вторую искомую точку).

Окончательное решение такое:

Если бы мы решали эту задачу чисто алгебраически, то скорее всего получили бы решение в другом виде, которое даёт бОльшую погрешность. Поэтому «геометрический» метод, описанный здесь, помимо наглядности, ещё и более точен.

Реализация

Как и было указано в начале описания, предполагается, что окружность расположена в начале координат.

Поэтому входные параметры — это радиус окружности и коэффициенты A,B,C уравнения прямой.

Отрезки и прямые, связанные с окружностью. Теорема о бабочке

Отрезки и прямые, связанные с окружностью
Свойства хорд и дуг окружности
Теоремы о длинах хорд, касательных и секущих
Доказательства теорем о длинах хорд, касательных и секущих
Теорема о бабочке

Отрезки и прямые, связанные с окружностью

Множество точек плоскости, находящихся на одном и том же расстоянии от одной точки — центра окружности

Конечная часть плоскости, ограниченная окружностью

Отрезок, соединяющий центр окружности с любой точкой окружности

Отрезок, соединяющий две любые точки окружности

Хорда, проходящая через центр окружности.

Диаметр является самой длинной хордой окружности

Прямая, имеющая с окружностью только одну общую точку.

Касательная перпендикулярна к радиусу окружности, проведённому в точку касания

Прямая, пересекающая окружность в двух точках

ФигураРисунокОпределение и свойства
Окружность
Круг
Радиус
Хорда
Диаметр
Касательная
Секущая
Окружность

Множество точек плоскости, находящихся на одном и том же расстоянии от одной точки — центра окружности

Круг

Конечная часть плоскости, ограниченная окружностью

Радиус

Отрезок, соединяющий центр окружности с любой точкой окружности

Хорда

Отрезок, соединяющий две любые точки окружности

Диаметр

Хорда, проходящая через центр окружности.

Диаметр является самой длинной хордой окружности

Касательная

Прямая, имеющая с окружностью только одну общую точку.

Касательная перпендикулярна к радиусу окружности, проведённому в точку касания

Секущая

Прямая, пересекающая окружность в двух точках

Свойства хорд и дуг окружности

ФигураРисунокСвойство
Диаметр, перпендикулярный к хордеДиаметр, перпендикулярный к хорде, делит эту хорду и стягиваемые ею две дуги пополам.
Диаметр, проходящий через середину хордыДиаметр, проходящий через середину хорды, перпендикулярен к этой хорде и делит стягиваемые ею две дуги пополам.
Равные хордыЕсли хорды равны, то они находятся на одном и том же расстоянии от центра окружности.
Хорды, равноудалённые от центра окружностиЕсли хорды равноудалены (находятся на одном и том же расстоянии) от центра окружности, то они равны.
Две хорды разной длиныБольшая из двух хорд расположена ближе к центру окружности.
Равные дугиУ равных дуг равны и хорды.
Параллельные хордыДуги, заключённые между параллельными хордами, равны.
Диаметр, перпендикулярный к хорде

Диаметр, перпендикулярный к хорде, делит эту хорду и стягиваемые ею две дуги пополам.

Диаметр, проходящий через середину хорды

Диаметр, проходящий через середину хорды, перпендикулярен к этой хорде и делит стягиваемые ею две дуги пополам.

Равные хорды

Если хорды равны, то они находятся на одном и том же расстоянии от центра окружности.

Хорды, равноудалённые от центра окружности

Если хорды равноудалены (находятся на одном и том же расстоянии) от центра окружности, то они равны.

Две хорды разной длины

Большая из двух хорд расположена ближе к центру окружности.

Равные дуги

У равных дуг равны и хорды.

Параллельные хорды

Дуги, заключённые между параллельными хордами, равны.

Теоремы о длинах хорд, касательных и секущих

Произведения длин отрезков, на которые разбита каждая из хорд, равны:

Если к окружности из одной точки проведены две касательных, то длины отрезков касательных от этой точки до точек касания с окружностью равны.

ФигураРисунокТеорема
Пересекающиеся хорды
Касательные, проведённые к окружности из одной точки
Касательная и секущая, проведённые к окружности из одной точки
Секущие, проведённые из одной точки вне круга

Произведения длин отрезков, на которые разбита каждая из хорд, равны:

Если к окружности из одной точки проведены две касательных, то длины отрезков касательных от этой точки до точек касания с окружностью равны.

Пересекающиеся хорды
Касательные, проведённые к окружности из одной точки
Касательная и секущая, проведённые к окружности из одной точки
Секущие, проведённые из одной точки вне круга
Пересекающиеся хорды

Произведения длин отрезков, на которые разбита каждая из хорд, равны:

Касательные, проведённые к окружности из одной точки

Если к окружности из одной точки проведены две касательных, то длины отрезков касательных от этой точки до точек касания с окружностью равны.

Касательная и секущая, проведённые к окружности из одной точки

Секущие, проведённые из одной точки вне круга

Доказательства теорем о длинах хорд, касательных и секущих

Теорема 1 . Предположим, что хорды окружности AB и CD пересекаются в точке E (рис.1).

Тогда справедливо равенство

Доказательство . Заметим, что углы BCD и BAD равны как вписанные углы, опирающиеся на одну и ту же дугу. Углы BEC и AED равны как вертикальные. Поэтому треугольники BEC и AED подобны. Следовательно, справедливо равенство

откуда и вытекает требуемое утверждение.

Теорема 2 . Предположим, что из точки A , лежащей вне круга, к окружности проведены касательная AB и секущая AD (рис.2).

Точка B – точка касания с окружностью, точка C – вторая точка пересечения прямой AD с окружностью. Тогда справедливо равенство

Доказательство . Заметим, что угол ABC образован касательной AB и хордой BC , проходящей через точку касания B . Поэтому величина угла ABC равна половине угловой величины дуги BC . Поскольку угол BDC является вписанным углом, то величина угла BDC также равна половине угловой величины дуги BC . Следовательно, треугольники ABC и ABD подобны (угол A является общим, углы ABC и BDA равны). Поэтому справедливо равенство

откуда и вытекает требуемое утверждение.

Теорема 3 . Предположим, что из точки A , лежащей вне круга, к окружности проведены секущие AD и AF (рис.3).

Точки C и E – вторые точки пересечения секущих с окружностью. Тогда справедливо равенство

Доказательство . Проведём из точки A касательную AB к окружности (рис. 4).

Точка B – точка касания. В силу теоремы 2 справедливы равенства

откуда и вытекает требуемое утверждение.

Теорема о бабочке

Теорема о бабочке . Через середину G хорды EF некоторой окружности проведены две произвольные хорды AB и CD этой окружности. Точки K и L – точки пересечения хорд AC и BD с хордой EF соответственно (рис.5). Тогда отрезки GK и GL равны.

Доказательство . Существует много доказательств этой теоремы. Изложим доказательство, основанное на теореме синусов, которое, на наш взгляд, является наиболее наглядным. Для этого заметим сначала, что вписанные углы A и D равны, поскольку опираются на одну и ту же дугу. По той же причине равны и вписанные углы C и B . Теперь введём следующие обозначения:

Воспользовавшись теоремой синусов, применённой к треугольнику CKG , получим

Воспользовавшись теоремой синусов, применённой к треугольнику AKG , получим

Воспользовавшись теоремой 1, получим

Воспользовавшись равенствами (1) и (2), получим

Проводя совершенно аналогичные рассуждения для треугольников BGL и DGL , получим равенство

откуда вытекает равенство

что и завершает доказательство теоремы о бабочке.


источники:

http://b4.cooksy.ru/articles/kak-nayti-peresechenie-okruzhnosti-i-otrezka

http://www.resolventa.ru/demo/training.htm