Исследуйте множество точек P на плоскости, для которых сумма расстояний до трёх данных прямых равна постоянной, опишите геометрический вид множества и приведите метод нахождения в координатах
Ответ: множество точек P=(x,y)P=(x,y)P=(x,y), для которых сумма расстояний до трёх данных прямых постоянна, — это кусочно‑линейный замкнутый выпуклый многоугольник (в общем случае — шестиугольник), причём число сторон зависит от взаимного расположения прямых (параллельность, пересечение в одной точке и т.д.). При малой постоянной множества может не быть, при минимальном значении это одноточечный уровень, при больших — расширяющийся многоугольник. Обоснование и метод в координатах. 1) Пусть прямые заданы уравнениями Li: aix+biy+ci=0,i=1,2,3,
L_i:\; a_i x+b_i y+c_i=0,\qquad i=1,2,3, Li:aix+biy+ci=0,i=1,2,3,
и нормируем векторы нормалей: ni=(ai,bi)/ai2+bi2n_i=(a_i,b_i)/\sqrt{a_i^2+b_i^2}ni=(ai,bi)/ai2+bi2. Расстояние от PPP до LiL_iLi: di(P)=∣aix+biy+ci∣ai2+bi2=∣ni⋅r+hi∣,
d_i(P)=\frac{\lvert a_i x+b_i y+c_i\rvert}{\sqrt{a_i^2+b_i^2}}=\lvert n_i\cdot r+h_i\rvert, di(P)=ai2+bi2∣aix+biy+ci∣=∣ni⋅r+hi∣,
где r=(x,y)r=(x,y)r=(x,y), hi=ci/ai2+bi2h_i=c_i/\sqrt{a_i^2+b_i^2}hi=ci/ai2+bi2. 2) Условие суммы: f(r)=∑i=13di(P)=k.
f(r)=\sum_{i=1}^3 d_i(P)=k. f(r)=i=1∑3di(P)=k.
Функция f(r)f(r)f(r) — сумма модулей линейных функций → выпуклая кусочно‑линейная функция. Разобьём плоскость по прямым LiL_iLi на области, в каждой области знаки выражений aix+biy+cia_i x+b_i y+c_iaix+biy+ci фиксированы: пусть si=±1s_i=\pm1si=±1 — знак в этой области. Тогда на данной области ∑i=13siaix+biy+ciai2+bi2=k,
\sum_{i=1}^3 s_i\frac{a_i x+b_i y+c_i}{\sqrt{a_i^2+b_i^2}}=k, i=1∑3siai2+bi2aix+biy+ci=k,
т.е. в этой области уровень — обычная прямая (или пусто, если решение лежит вне области). Границей множества уровня получается совокупность таких отрезков прямых, которые лежат в соответствующих областях. Соединяясь, они образуют выпуклый многоугольник с не более чем 2⋅3=62\cdot3=62⋅3=6 сторонами (может быть меньше при вырождениях). 3) Практический алгоритм построения/нахождения в координатах: - Нормировать коэффициенты: ввести gi(x,y)=aix+biy+ciai2+bi2g_i(x,y)=\frac{a_i x+b_i y+c_i}{\sqrt{a_i^2+b_i^2}}gi(x,y)=ai2+bi2aix+biy+ci. - Перебрать все комбинации знаков (s1,s2,s3)(s_1,s_2,s_3)(s1,s2,s3) (всего 8). Для каждой записать линейное уравнение s1g1(x,y)+s2g2(x,y)+s3g3(x,y)=k.
s_1 g_1(x,y)+s_2 g_2(x,y)+s_3 g_3(x,y)=k. s1g1(x,y)+s2g2(x,y)+s3g3(x,y)=k.
- Найти пересечения этих прямых попарно; отобрать те точки пересечения, которые действительно лежат в области с соответствующими знаками (проверить sigi(x,y)≥0s_i g_i(x,y)\ge 0sigi(x,y)≥0). - Собрать полученные точки в порядке обхода — это вершины искомого многоугольника. Если не найдено ни одной точки, то множества уровня нет; если найден ровно одна — уровень выродился в точку. 4) Частные случаи: - Если две прямые параллельны, число сторон уменьшается (может получиться полосообразное или параллелограммоподобное множество). - Если все три прямые пересекаются в одной точке, уровень при больших kkk — правильный (вырожденный) шестигранник, при специальном kkk может превратиться в треугольник (грани параллельны исходным прямым). - Минимальное возможное kkk — минимум функции f(r)f(r)f(r) (решается как выпуклая задача); если заданное kkk меньше минимума, множество пусто; при равенстве — одно точка (точка минимума). Краткий пример: для L1:x=0, L2:y=0, L3:x+y=1L_1:x=0,\;L_2:y=0,\;L_3:x+y=1L1:x=0,L2:y=0,L3:x+y=1 записать gig_igi, перебрать знаки и получить полигоны с гранями, параллельными x=0, y=0, x+y=1x=0,\;y=0,\;x+y=1x=0,y=0,x+y=1. Это и есть общий метод: свести задачу к перебору 8 линейных уравнений (внутри соответствующих знаковых областей) и собрать получающиеся отрезки в выпуклый многоугольник (обычно шестиугольник).
Обоснование и метод в координатах.
1) Пусть прямые заданы уравнениями
Li: aix+biy+ci=0,i=1,2,3, L_i:\; a_i x+b_i y+c_i=0,\qquad i=1,2,3,
Li :ai x+bi y+ci =0,i=1,2,3, и нормируем векторы нормалей: ni=(ai,bi)/ai2+bi2n_i=(a_i,b_i)/\sqrt{a_i^2+b_i^2}ni =(ai ,bi )/ai2 +bi2 . Расстояние от PPP до LiL_iLi :
di(P)=∣aix+biy+ci∣ai2+bi2=∣ni⋅r+hi∣, d_i(P)=\frac{\lvert a_i x+b_i y+c_i\rvert}{\sqrt{a_i^2+b_i^2}}=\lvert n_i\cdot r+h_i\rvert,
di (P)=ai2 +bi2 ∣ai x+bi y+ci ∣ =∣ni ⋅r+hi ∣, где r=(x,y)r=(x,y)r=(x,y), hi=ci/ai2+bi2h_i=c_i/\sqrt{a_i^2+b_i^2}hi =ci /ai2 +bi2 .
2) Условие суммы:
f(r)=∑i=13di(P)=k. f(r)=\sum_{i=1}^3 d_i(P)=k.
f(r)=i=1∑3 di (P)=k. Функция f(r)f(r)f(r) — сумма модулей линейных функций → выпуклая кусочно‑линейная функция. Разобьём плоскость по прямым LiL_iLi на области, в каждой области знаки выражений aix+biy+cia_i x+b_i y+c_iai x+bi y+ci фиксированы: пусть si=±1s_i=\pm1si =±1 — знак в этой области. Тогда на данной области
∑i=13siaix+biy+ciai2+bi2=k, \sum_{i=1}^3 s_i\frac{a_i x+b_i y+c_i}{\sqrt{a_i^2+b_i^2}}=k,
i=1∑3 si ai2 +bi2 ai x+bi y+ci =k, т.е. в этой области уровень — обычная прямая (или пусто, если решение лежит вне области). Границей множества уровня получается совокупность таких отрезков прямых, которые лежат в соответствующих областях. Соединяясь, они образуют выпуклый многоугольник с не более чем 2⋅3=62\cdot3=62⋅3=6 сторонами (может быть меньше при вырождениях).
3) Практический алгоритм построения/нахождения в координатах:
- Нормировать коэффициенты: ввести gi(x,y)=aix+biy+ciai2+bi2g_i(x,y)=\frac{a_i x+b_i y+c_i}{\sqrt{a_i^2+b_i^2}}gi (x,y)=ai2 +bi2 ai x+bi y+ci .
- Перебрать все комбинации знаков (s1,s2,s3)(s_1,s_2,s_3)(s1 ,s2 ,s3 ) (всего 8). Для каждой записать линейное уравнение
s1g1(x,y)+s2g2(x,y)+s3g3(x,y)=k. s_1 g_1(x,y)+s_2 g_2(x,y)+s_3 g_3(x,y)=k.
s1 g1 (x,y)+s2 g2 (x,y)+s3 g3 (x,y)=k. - Найти пересечения этих прямых попарно; отобрать те точки пересечения, которые действительно лежат в области с соответствующими знаками (проверить sigi(x,y)≥0s_i g_i(x,y)\ge 0si gi (x,y)≥0).
- Собрать полученные точки в порядке обхода — это вершины искомого многоугольника. Если не найдено ни одной точки, то множества уровня нет; если найден ровно одна — уровень выродился в точку.
4) Частные случаи:
- Если две прямые параллельны, число сторон уменьшается (может получиться полосообразное или параллелограммоподобное множество).
- Если все три прямые пересекаются в одной точке, уровень при больших kkk — правильный (вырожденный) шестигранник, при специальном kkk может превратиться в треугольник (грани параллельны исходным прямым).
- Минимальное возможное kkk — минимум функции f(r)f(r)f(r) (решается как выпуклая задача); если заданное kkk меньше минимума, множество пусто; при равенстве — одно точка (точка минимума).
Краткий пример: для L1:x=0, L2:y=0, L3:x+y=1L_1:x=0,\;L_2:y=0,\;L_3:x+y=1L1 :x=0,L2 :y=0,L3 :x+y=1 записать gig_igi , перебрать знаки и получить полигоны с гранями, параллельными x=0, y=0, x+y=1x=0,\;y=0,\;x+y=1x=0,y=0,x+y=1.
Это и есть общий метод: свести задачу к перебору 8 линейных уравнений (внутри соответствующих знаковых областей) и собрать получающиеся отрезки в выпуклый многоугольник (обычно шестиугольник).