|
Программа polygon версия 0.0.3
Программа polygon версия 0.0.3
Проект начат 2003-10-21; Последние изменения 2004-05-31
1 Загрузка
2 Файл readme.koi
3 Использование и сводка опций
4 Описание
5 Развитие программы
6 Лицензия
1 Загрузка
Исходники: src/polygon-0.0.3.tgz [114 Кб ]
Исполнимый файл для Win9x/2000/XP (кросс-скомпилированный под minGW): mingw/polygon.zip [27 Кб ]
2 Файл readme.koi
polygon --- фильтр для отсеивания точек внутри заданного многоугольника
ПОДДЕРЖИВАЕМЫЕ ОКРУЖЕНИЯ
http://www.gnu.org GNU/Linux
http://www.mingw.org MinGW --- Minimalist GNU For Windows
КОМПИЛЯЦИЯ
Введите make (или gmake) в директории, где находятся исходные тексты
программы.
КРАТКАЯ ИНСТРУКЦИЯ
Опишите свой многоугольник (возможно, с дырками) в следующем формате:
n
m1
x(1) y(1)
...
x(k1) y(k1)
m2
x(k1+1) y(k1+1)
...
x(k2) y(k2)
...
m(n)
x(k(n-1)+1) y(k(n-1)+1)
...
x(k(n)) y(k(n))
Здесь n --- количество контуров. Первый контур --- внешний из m1
вершин, перечисленных против часовой стрелки, остальные контуры ---
внутренние, причём все вершины перечисляются по часовой стрелке.
Например, вот так (пример из файла data_1):
4
4
0.0 0.0
6.0 0.0
6.0 6.0
0.0 6.0
3
0.5 1.0
1.0 2.0
2.0 1.5
3
0.5 4.0
1.0 5.0
2.0 4.5
3
3.0 3.0
5.0 3.5
5.0 2.5
Теперь можно пускать:
$ polygon data_1
В результате --- триангуляция этого многоугольника с дырками:
triangle #0: 1 2 5
triangle #1: 6 13 11
triangle #2: 11 12 8
triangle #3: 6 11 8
triangle #4: 5 6 8
triangle #5: 1 5 8
triangle #6: 8 9 4
triangle #7: 1 8 4
triangle #8: 3 4 9
triangle #9: 3 9 10
triangle #10: 10 8 12
triangle #11: 3 10 12
triangle #12: 3 12 13
triangle #13: 13 6 7
triangle #14: 7 5 2
triangle #15: 13 7 2
triangle #16: 3 13 2
Программа также может работать фильтром:
$ polygon -f data_1
Тогда из стандартного ввода будут отобраны в стандартный вывод только
те строки, которые содержат вначале два действительных числа,
дающих координаты точки внутри многоугольника (остаток строки
игнорируется). Например, на ввод
1 7
3.1 2.1
будет получен вывод
3.1 2.1
Поведение 'polygon -f' подобно программе grep. Например, с
переключателем -v программа 'polygon -f -v' оставляет точки вне
заданного многоугольника. То есть, на ввод
1 7
3.1 2.1
будет получен вывод
1 7
Условия использования описаны в файле LICENSE.koi
3 Использование и сводка опций
user@computer$ ./polygon --help
Usage: polygon [OPTION]... FILE
Output file: FILE.dat
-f, --filter act as a filter for point in polygon
-i<fname>, --input=fname input from fname
-o<fname>, --outpute=fname output to fname
-v, --invert invert matching
-q, --quiet do not send any messages to stderr
-h, --help display this help and exit
-m, --man display complete description
-V, --version display version and exit
4 Описание
user@computer$ ./polygon --man
<Пропущена информация, присутствующая в предыдущем разделе>
5 Развитие программы
Даты изменения файлов программы:
2003-10-21
2004-05-31
6 Лицензия
polygon - фильтр для отсеивания точек внутри заданного многоугольника
Программа доступна с http://www.math.toronto.edu/dkhmelev/PROGS/
Автор:
Дмитрий Викторович Хмелёв
dkhmelev((at))math.toronto.edu
[замените ((at)) на @, чтобы получить настоящий адрес - антиспам]
119 992, Москва, Ленинские горы, МГУ, 1 Гум. корп.,
Филологический факультет,
Лаборатория общей и компьютерной лексикологии и лексикографии.
УСЛОВИЯ ИСПОЛЬЗОВАНИЯ
Эта программа может свободно распространяться на условиях лицензии GNU
версии два или выше (см. прилагаемый файл COPYING с условиями
распространения).
Результаты, полученные с использованием этой программы должны
ссылаться на её использование. Пример ссылки:
Д.В. Хмелёв
http://www.math.toronto.edu/dkhmelev/PROGS/
Более того, Вы должны проинформировать автора о публикации.
Используя эту программу Вы соглашаетесь с условиями
использования.
ОТСУТСТВИЕ ГАРАНТИЙНЫХ ОБЯЗАТЕЛЬСТВ
ПОСКОЛЬКУ НАСТОЯЩАЯ ПРОГРАММА РАСПРОСТРАНЯЕТСЯ БЕСПЛАТНО, ГАРАНТИИ
НА НЕЕ НЕ ПРЕДОСТАВЛЯЮТСЯ В ТОЙ СТЕПЕНИ, В КАКОЙ ЭТО ДОПУСКАЕТСЯ
ПРИМЕНИМЫМ ПРАВОМ. НАСТОЯЩАЯ ПРОГРАММА ПОСТАВЛЯЕТСЯ НА УСЛОВИЯХ "КАК
ЕСТЬ". ЕСЛИ ИНОЕ НЕ УКАЗАНО В ПИСЬМЕННОЙ ФОРМЕ, АВТОР И/ИЛИ ИНОЙ
ПРАВООБЛАДАТЕЛЬ НЕ ПРИНИМАЕТ НА СЕБЯ НИКАКИХ ГАРАНТИЙНЫХ ОБЯЗАТЕЛЬСТВ,
КАК ЯВНО ВЫРАЖЕННЫХ, ТАК И ПОДРАЗУМЕВАЕМЫХ, В ОТНОШЕНИИ ПРОГРАММЫ, В
ТОМ ЧИСЛЕ ПОДРАЗУМЕВАЕМУЮ ГАРАНТИЮ ТОВАРНОГО СОСТОЯНИЯ ПРИ ПРОДАЖЕ И
ПРИГОДНОСТИ ДЛЯ ИСПОЛЬЗОВАНИЯ В КОНКРЕТНЫХ ЦЕЛЯХ, А ТАКЖЕ ЛЮБЫЕ ИНЫЕ
ГАРАНТИИ. ВСЕ РИСКИ, СВЯЗАННЫЕ С КАЧЕСТВОМ И ПРОИЗВОДИТЕЛЬНОСТЬЮ
ПРОГРАММЫ, НЕСЕТ ЛИЦЕНЗИАТ. В СЛУЧАЕ ЕСЛИ В ПРОГРАММЕ БУДУТ ОБНАРУЖЕНЫ
НЕДОСТАТКИ, ВСЕ РАСХОДЫ, СВЯЗАННЫЕ С ТЕХНИЧЕСКИМ ОБСЛУЖИВАНИЕМ,
РЕМОНТОМ ИЛИ ИСПРАВЛЕНИЕМ ПРОГРАММЫ, НЕСЕТ ЛИЦЕНЗИАТ.
ЕСЛИ ИНОЕ НЕ ПРЕДУСМОТРЕНО ПРИМЕНЯЕМЫМ ПРАВОМ ИЛИ НЕ СОГЛАСОВАНО
СТОРОНАМИ В ДОГОВОРЕ В ПИСЬМЕННОЙ ФОРМЕ, АВТОР И/ИЛИ ИНОЙ
ПРАВООБЛАДАТЕЛЬ, КОТОРЫЙ МОДИФИЦИРУЕТ И/ИЛИ РАСПРОСТРАНЯЕТ ПРОГРАММУ
НА УСЛОВИЯХ НАСТОЯЩЕЙ ЛИЦЕНЗИИ, НЕ НЕСЕТ ОТВЕТСТВЕННОСТИ ПЕРЕД
ЛИЦЕНЗИАТОМ ЗА УБЫТКИ, ВКЛЮЧАЯ ОБЩИЕ, РЕАЛЬНЫЕ, ПРЕДВИДИМЫЕ И
КОСВЕННЫЕ УБЫТКИ (В ТОМ ЧИСЛЕ УТРАТУ ИЛИ ИСКАЖЕНИЕ ИНФОРМАЦИИ, УБЫТКИ,
ПОНЕСЕННЫЕ ЛИЦЕНЗИАТОМ ИЛИ ТРЕТЬИМИ ЛИЦАМИ, НЕВОЗМОЖНОСТЬ РАБОТЫ
ПРОГРАММЫ С ЛЮБОЙ ДРУГОЙ ПРОГРАММОЙ И ИНЫЕ УБЫТКИ). АВТОР И/ИЛИ ИНОЙ
ПРАВООБЛАДАТЕЛЬ В СООТВЕТСТВИИ С НАСТОЯЩИМ ПУНКТОМ НЕ НЕСУТ
ОТВЕТСТВЕННОСТИ ДАЖЕ В ТОМ СЛУЧАЕ, ОНИ БЫЛИ ПРЕДУПРЕЖДЕНЫ О
ВОЗМОЖНОСТИ ВОЗНИКНОВЕНИЯ ТАКИХ УБЫТКОВ.
1 Загрузка
2 Файл readme.koi
3 Использование и сводка опций
4 Описание
5 Развитие программы
6 Лицензия
|