Анализ необходимости в инструменте, который позволял бы автоматически генерировать изображение без необходимости ручной отрисовки. Основные концепции и операторы языка Postscript. Использование Postscript для генерации изображения циферблата манометра.
Аннотация к работе
На многих предприятиях есть необходимость в создании похожих изображений, которые отличаются только некоторыми входными данными. И стандартные графические пакеты мало подходят для этих задач, так-как малейшее изменение некоторых входных данных приводит к необходимости полной перерисовки исходного изображения. К примеру, при отрисовке циферблата для манометра необходима исключительная точность, и даже небольшое изменение некоторых данных приводит к необходимости полной перерисовки в стандартном графическом пакете, к примеру в AUTOCAD. В то же время с развитием современных средств автоматизации, компьютеризации и информатизации для предприятий открываются безграничные возможности для усовершенствования своих производственных процессов. По изображению видно, что используя классические графические пакеты трудоемкость формирования изображения очень высока.Язык POSTSCRIPT был разработан в 1984 в компании Adobe Systems. Основные задачи, с которыми сталкивались разработчики языка Джон Уорнок и Чак Гешке - стандартизация и неизменность выводимой информации вне зависимости от используемого оборудования и программных средств. Все изображения и символы на странице задаются с помощью циклов, математических формул и объектов. Данная особенность описания изображения позволяет обеспечить независимость выводимого результата от оборудования и программного обеспечения, выводящего конечное изображение. Язык POSTSCRIPT использует постфиксную нотацию (обратная запись).Арифметические операторы ничего не рисуют, но позволяют рассчитать особенно сложные участки изображения, позволяют производить расчеты сложных траекторий, выстраивать зависимости одной части изображения от другой и множество прочих расчетных операций. add - вынимает два числа из стека, складывает их и возвращает их сумму;Путь, кроме того, можно "закрыть", при этом от текущей точки до первой определенной в пути точки проводится прямая линия. Смещение текущей точки можно произвести двумя способами: - moveto смещает текущую точку в точку с указанными координатами (x,y); Оператор начинающийся с буквы r, означает, что передаваемые ему координаты считаются не от начала координат, а от текущей точки. Построение прямой линии можно произвести двумя способами: - lineto проводит прямую линию от текущей точки в точку с указанными координатами; rlineto проводит прямую линию от текущей точки в точку, отстоящую от нее на указанном расстоянии по горизонтали dxи по вертикали dy (по вектору с указанными координатами).Текстовая строка задается набором символов в круглых скобках.В POSTSCRIPT существует простой цикл, цикл с параметром и цикл по условию. Оператор простого цикла называется repeat, он берет из стека два объекта: процедуру и число повторений, после этого он повторяет процедуру столько раз, какое значение имеет число. Этот оператор называется for, он берет из стека четыре объекта: процедуру, конечное значение параметра, шаг по параметру, начальное значение параметра. Условный оператор if, он берет из стека процедуру, затем логическую переменную, которая получается в результате проверки условия и сели логическая переменная равна true, то выполняет процедуру.В ходе прохождения практики был изучен язык разметки страниц Postscript.
План
Оглавление
Введение
1. Актуальность автоматизации генерации изображения (задачи)
2. Основные концепции языка POSTSCRIPT
3. Операторы языка POSTSCRIPT
3.1 Арифметические операторы
3.2 Графические операторы
3.3 Операторы изображения текстов
3.4 Операторы циклов и условные операторы
Заключение
Список использованных источников
Введение
В современном мире все меньше операций производится вручную. А ту немногую часть операций, что еще не автоматизирована, пытаются облегчить для конечного пользователя. Это же касается и графических изображений. Есть мощные комбайны, такие как ADOBEPHOTOSHOP, CORELDRAW, AUTOCAD. Но эти гиганты хороши для общего использования, но есть некоторые узкоспециализированные задачи, для которых намного удобнее и проще использовать утилиты, предназначенные для конкретной задачи. На многих предприятиях есть необходимость в создании похожих изображений, которые отличаются только некоторыми входными данными. И стандартные графические пакеты мало подходят для этих задач, так-как малейшее изменение некоторых входных данных приводит к необходимости полной перерисовки исходного изображения. К подобной ситуации можно отнести и предприятия, которые занимаются производством измерительных приборов. К примеру, при отрисовке циферблата для манометра необходима исключительная точность, и даже небольшое изменение некоторых данных приводит к необходимости полной перерисовки в стандартном графическом пакете, к примеру в AUTOCAD. Именно поэтому и возникает необходимость в инструменте, который позволял бы автоматически генерировать заданное изображение без необходимости ручной отрисовки.
1. Актуальность автоматизации генерации изображения (задачи)
В современном мире одним из самых главных ресурсов человечества становится время. И много средств и умов направлено на автоматизацию различных процессов, которые в неавтоматизированном состоянии занимали много времени. Особенно этот вопрос актуален для различных промышленных предприятий, для которых каждая сэкономленная единица времени может быть пущена на увеличение производительности и на поднятие прибыли. Для предприятия всегда выгодно автоматизированное исполнение тех операций, на которых оно специализируется.
В то же время с развитием современных средств автоматизации, компьютеризации и информатизации для предприятий открываются безграничные возможности для усовершенствования своих производственных процессов.
В измерительной технике крайне важна точность выводимых данных. Но для достижения подобной точности необходимы множественные расчеты, для того чтобы измерительная шкала манометра соответствовала фактическим показаниям стрелки манометра. Основными потребителями манометров компании ОАО "Манотомь" являются метрологические предприятия (центры стандартизации и метрологии, метрологические отделы крупных предприятий), машиностроительные и энергетические компании, нефтегазодобывающие и нефтеперерабатывающие предприятия, предприятия ЖКХ. И в подобных областях применения продукции предприятия ОАО "Манотомь" крайне важна точность, которая может быть обеспечена либо высококвалифицированным персоналом с большими временными затратами, либо с помощью автоматизации процесса формирования циферблата.
Для примера рассмотрим циферблат манометра. На рисунке 1.1 изображен циферблат манометра. По изображению видно, что используя классические графические пакеты трудоемкость формирования изображения очень высока. Специалисту необходимо вручную обрисовывать все измерительные риски, все цифры и прочие символы, находящиеся на изображении. Также для корректности выводимых манометром показаний необходимы многочисленные расчеты, которые позволят корректно расставить измерительные риски на циферблате.
Рисунок 1.1 - Циферблат манометра
Для поставленной задачи наиболее подходящим способом является генерация изображения в формате POSTSCRIPT. Рассмотрим несколько примеров для аргументации этого утверждения. На рисунке 1.2 изображен вывод программы, приведенной ниже. С помощью цикла программа формирует изображение расставляя заданное слово или символ с заданным углом отступа от предыдущего символа. Задается начальный угол, конечный угол и угол отступа.
72 25.4 div dup
100 100 translate
/Times-Roman findfont
10scalefont setfont
0 60 300 { gsave rotate
15 0 moveto
(Sample) show grestore
} for showpage
Рисунок 1.2 - Вывод изображения
В случае если встанет необходимость в редактировании исходного изображения, выполняя данную операцию в традиционных графических пакетах у специалиста уйдет больше времени, чем редактирую исходный код в формате POSTSCRIPT. Рассмотрим второй пример. К примеру, если будет необходимо изменить угол отступа между словами и само слово, редактируя исходный код мы получим желаемого результата намного проще и быстрее. На рисунке 1.3 изображено отредактированное изображения. Ниже приведен код измененного изображения. В итоге, изменив всего пару строк кода мы получили совершенно другое изображение. Для ручного редактирования исходного изображения у нас бы ушло намного больше времени, нежели при редактировании кода.
72 25.4 div dup
100 100 translate
/Times-Roman findfont
10scalefont setfont
0 30 330 { gsave rotate
15 0 moveto
(Example) show grestore
} for showpage
Рисунок 1.3 - Отредактированное изображение
Вывод
изображение отрисовка postscript автоматический
В ходе прохождения практики был изучен язык разметки страниц Postscript. На примере была доказана целесообразность использования данного языка для автоматизации процесса генерации изображения циферблата манометра.
Список литературы
1. Первоначальное представление языка POSTSCRIPT.[Электронный ресурс]. - Режим доступа: http://tex.anabar.ru/POSTSCRIPT/books/articles/postscript.htm
2. Язык программирования POSTSCRIPT.[Электронный ресурс]. - Режим доступа: http://psdraw.narod.ru/ (дата обращения: 28.04.2017)