На листе бумаги нарисован многоугольник (не обязательно выпуклый). Можно ли так согнуть лист, чтобы этот многоугольник можно было бы вырезать одним разрезом?
Оказывается, всегда ответ - да. Вот ролик иллюстрирующий пару примеров.
Для фигуры, показанной в его заставке схема сгибов будет следующей:
![сгибание и разрезание бумаги](http://cgm.cs.mcgill.ca/~athens/cs507/Projects/2003/EricBiunno/images/swan.gif)
В общем виде последовательность действий для определения необходимых сгибов состоит из трёх шагов:
1. Построить прямолинейный скелет многоугольника. Как он строится иллюстрирует эта анимированная схема:
![сгибание и разрезание бумаги](http://cgm.cs.mcgill.ca/~athens/cs507/Projects/2003/EricBiunno/images/ss.gif)
Все стороны многоугольника мы уменьшаем так, чтобы они оставались параллельны исходным положениям и все расстояния между сторонами и их начальными положениями были равными. В процессе сжатия многоугольник может разбиться на несколько областей - продолжаем уменьшение для них.
Траектории, описанные его вершинами, и будут прямолинейным скелетом.
2. Из узлов скелета опускаем перпендикуляры на те стороны, стяжкой которых эти вершины образовались.
![опускаем перпендикуляры](http://cgm.cs.mcgill.ca/~athens/cs507/Projects/2003/EricBiunno/images/perp.gif)
3.Определение направлений сгиба (вверх или вниз)
![Определение направлений сгиба](http://cgm.cs.mcgill.ca/~athens/cs507/Projects/2003/EricBiunno/images/mv.gif)
Как видите, направление меняется как только линия пересекает границу многоугольника.
Согнув лист по этой схеме, многоугольник можно будет вырезать одним разрезом.
Оказывается, всегда ответ - да. Вот ролик иллюстрирующий пару примеров.
Для фигуры, показанной в его заставке схема сгибов будет следующей:
![сгибание и разрезание бумаги](http://cgm.cs.mcgill.ca/~athens/cs507/Projects/2003/EricBiunno/images/swan.gif)
В общем виде последовательность действий для определения необходимых сгибов состоит из трёх шагов:
1. Построить прямолинейный скелет многоугольника. Как он строится иллюстрирует эта анимированная схема:
![сгибание и разрезание бумаги](http://cgm.cs.mcgill.ca/~athens/cs507/Projects/2003/EricBiunno/images/ss.gif)
Все стороны многоугольника мы уменьшаем так, чтобы они оставались параллельны исходным положениям и все расстояния между сторонами и их начальными положениями были равными. В процессе сжатия многоугольник может разбиться на несколько областей - продолжаем уменьшение для них.
Траектории, описанные его вершинами, и будут прямолинейным скелетом.
2. Из узлов скелета опускаем перпендикуляры на те стороны, стяжкой которых эти вершины образовались.
![опускаем перпендикуляры](http://cgm.cs.mcgill.ca/~athens/cs507/Projects/2003/EricBiunno/images/perp.gif)
3.Определение направлений сгиба (вверх или вниз)
![Определение направлений сгиба](http://cgm.cs.mcgill.ca/~athens/cs507/Projects/2003/EricBiunno/images/mv.gif)
Как видите, направление меняется как только линия пересекает границу многоугольника.
Согнув лист по этой схеме, многоугольник можно будет вырезать одним разрезом.
Кстати, первый пункт(с анимированной схемой) рисуется с помощью построения биссектрис каждого из углов. Причем биссектрисы нужно строить для углов не превышающих 180 градусов. И при каждом пересечении линией(биссектрисы и перепендикуляры) границы фигуры, менять направление сгиба(холм, долина).
ОтветитьУдалить