Вход


Главная страница >> Учебный процесс >> Задачник >> Олимпиадные задачи (с решениями) >> Учебный процесс >> Задачник >> Олимпиадные задачи (с решениями) >> Геометрия >> Номер 28

[Назад]    [Содержание ]    [Вперед]

  


Номер 28


  Условие: Номер 28


Задача 28. На плоскости задано N точек своими координатами и матрица C(N*N); C(i,j)=C(j,i)=1 в случае, если вершины i и j соединены отрезком и 0 иначе. Известно, что любая вершина соединена по крайней мере с двумя другими, и что отрезки пересекаются только в концевых точках. Таким образом, вся плоскость разбивается на множество многоугольников. Задана точка Z(x,y). Найти минимальный по площади многоугольник, содержащий Z, или выдать сообщение, что такого не существует. Если Z принадлежит какому-то отрезку, то выдать его концевые точки, если Z лежит в многоугольнике, то выдать его вершины в порядке обхода по контуру.

  Решение задачи: Номер 28


Решение задачи 28. Проверяем, лежит ли точка z на каком-либо отрезке. Если нет, то проводим отрезок, концевые точки которого z и, например, вершина 1. Находим ближайшую к z точку пересечения этого отрезка и сторон многоугольников, на которые разбивается плоскость. Пусть эта точка принадлежит стороне ab. Для этой стороны сначала определяем направление обхода (см. задачу 3); затем ищем следующую, смежную с текущей, сторону bc контура, которая образует минимальный по величине угол с отрезком ba (угол отсчитывается от отрезка ab по часовой или против часовой стрелки в зависимости от того, по или против часовой стрелки обход, сравнение углов - см. задачу 1). Находим замкнутый контур и определяем, находится ли точка z внутри него или снаружи. Если снаружи, то удаляем из фигуры все ребра этого контура и повторяем процесс. Пример:

Назад



[Назад]    [Содержание ]    [Вперед]

  


  
За содержание страницы отвечает Гончарова М.Н.
©
Кафедра СПиКБ, 2002-2017