Семь уроков по PostScript


Траектория отсечения - часть 12


%%Title: текст

задаёт заголовок документа. текст – строка заголовка.

%%Creator: имя_создателя

содержит имя программиста (или программы), породившего данный текст.

%%CreationDate: дата_и_время_создания

%%For: текст

указывает имя персоны, для которой был создан документ. Если комментарий %%For пропущен, подразумевается автор документа, указанный в %%Creator.

%%Pages: страниц

число страниц в документе (неотрицательное целое число), либо слово (atend).

%%BoundingBox: llx lly urx ury

координаты левого нижнего и правого верхнего угла в системе координат пользователя, либо слово (atend).

%%EndComments

завершает секцию заголовочных комментариев.

Пример.

%!PS-Adobe-2.1

%%Creator: Adobe Illustrator(TM) 3.2

%%For: (Eduard Projdakov) (PC Week/RE)

%%Title: (NewPS)

%%CreationDate: (2/10/97) (4:30 PM)

%%BoundingBox: 429 490 495 565

%%Pages: (atend)

%%DocumentFonts: (atend)

%%EndComments

 

Комментарии тела программы

%%EndProlog

конец секции пролога программы.

%%Page: метка порядковый_номер

где метка – текст с названием страницы, а порядковый_номер – номер страницы в многостраничном документе.

%%PageFonts: шрифт1 шрифт2 ...

задает список шрифтов, используемых для текущей страницы документа.

%%Trailer

отмечает конец тела программы и начало эпилога.

 

Комментарии эпилога

 

Эта секция состоит из комментариев типа %%DocumentFonts, %%Pages и %%BoundingBox.

 

Операторы рисования

 

В языке PostScript в операторах рисования важно знать когда точка считается внутренней по отношению к текущей траектории (отсечению), а когда – внешней. Есть два правила определения внутренней точки: чётный-нечётный

и ненулевого поворота (on-zero winding). Оба правила основываются на подсчете пересечений лучей из проверяемой точки с текущей траекторией.

Метод ненулевого поворота заключается в следующем: из проверяемой точки по всем направлениям рисуются лучи, а затем анализируются места пересечения с сегментом траектории. Начиная со счётчика равного нулю мы добавляем к нему единицу, если луч пересекает траекторию слева направо, вычитаем единицы, если он пересекает её справа налево. Если счётчик равен нулю, точка внешняя, иначе – внутренняя. Правило не определяет, что происходит в случае, если луч проходит по касательной или перпендикулярно к сегменту.




- Начало -  - Назад -  - Вперед -



Книжный магазин