Файл: Лекции Компьютерная графика.pdf

Добавлен: 29.10.2018

Просмотров: 6932

Скачиваний: 24

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

Последний релиз Pbmplus был выпущен 10 декабря 1991 года. Посканзер больше

не развивал свой проект и в 1993 году на смену Pbmplus пришёл Netpbm. Пона-

чалу это было не более, чем переименованный релиз Pbmplus, но он развивался

вплоть до 1995, когда пакет вновь оказался заброшенным. В 1999 году развитие па-

кета Netpbm было подхвачено его нынешним меинтейнером, Брайэном Хендерсоном

(Bryan Henderson).

Название Netpbm пошло от разработчиков, сотрудничавших при помощи сети

Internet, что в то время было примечательно. (Аналогичные имена были даны опе-

рационной системе NetBSD и игре NetHack.)

Первый выпуск — 2000 (1988), последняя версия — 10.35.90 (26 сентября 2013).

Использует свой формат PAM для промежуточного хранения растра, понимает

множество входных и выходных растровых форматов и PS.

Представляет из себя большой набор утилит, несколько динамических библиотек

и скриптов на

shell

и

Perl

.

Пример

.2 (NetPBM: GIF 7−→ EPS). Для конвертации GIF-файла в EPS надо ис-

пользовать утилиты

giftopnm и pnmtops:

giftopnm file.gif | pnmtops > file.eps

Полный синтаксис:

giftopnm [–alphaout=alpha-filename,-] [-verbose] [-comments]

[-image=N,all] [GIFfile]

pnmtops [-scale=s] [-dpi=N[xN]] [-imagewidth=n] [-imageheight=n] [-width=N]

[-height=N] [-equalpixels] [-turn|-noturn] [-rle|-runlength] [-flate] [-ascii85]
[-nocenter] [-nosetpage] [-level=N] [-psfilter] [-noshowpage] [pnmfile]

7.2. ImageMagick

ImageMagick

— свободно распространяемая коллекция утилит для чтения, записи

и редактирования файлов как растровых, так и векторных форматов (более 200

форматов!), от ImageMagick Studio, разработчики — Джон Кристи (John Cristy)

и Глен Рэндерс-Пёрсон (Glenn Randers-Pehrson).

Первый выпуск — 1990, последняя версия — 7.0.7-24 (25 февраля 2018).

Для получения списка поддерживаемых форматов введите в терминале команду

convert -list format

ImageMagick

может использоваться с языками Perl, C, C++, Python, Ruby, PHP,

Node.js, Java, Pascal, Object-Pascal, в скриптах командной оболочки или самостоя-

тельно.

Предыдущий пример:

Пример

.3 (ImageMagick: GIF 7−→ EPS).

convert file.gif file.eps

Пример

.4 (Фрагмент пакетного файла для генерации файлов предпросмотра).

for %%f in (*.jpg) do convert -size 120x120 %%f

-resize 120x120 +profile "*" thumbnail/%%f

Полное описание всех возможностей редактора с большим количеством примеров

можно найти на официальном сайте:

imagemagick.org

.

40


background image

8.

Деловая и научная графика

Деловая и научная графика присутствует во многих статистических, аналитиче-

ских системах, а также средах проектирования и разработки. Например, Deductor,
R/RStudio

, BPwin, CA ERwin Process Modeler (ранее ERwin), ER/Studio (Embarcadero),

Ramus

, BizAgi Process Modeler, IBM WebSphere, IBM Rational Data Architect, IBM Rational

Software Architect

, . . .

Существуют и отдельные графические инструменты, которые находят примене-

ние в различных областях.

• MS Visio

— проприетарный редактор диаграмм и блок-схем для Microsoft

Windows

. В стандартный набор программ MS Office входит только средство

для просмотра и печати диаграмм Microsoft Visio Viewer. Полнофункцио-

нальная версия Microsoft Visio Professional для создания и редактирования

монограмм и диаграмм в пакеты MS Office не входит и распространяется от-

дельно. VDX является хорошо задокументированным XML «DatadiagramML»

форматом. Начиная с версии Visio 2013, сохранение в формате VDX больше

не поддерживается в пользу новых VSDX и VSDM файловых форматов.

Формат DatadiagramML используется многими другими инструментами по

управлению бизнес-процессами, такими как Agilian, ARIS Express, Bonita Open
Solution

, ConceptDraw, OmniGraffle, IBM WebSphere. LibreOffice, начиная с версии

4.0 поддерживает просмотр всего спектра Visio файлов (начиная с Visio 1.0 и

заканчивая Visio 2013, включая VSDX, VSDM и VDX файловые форматы).

• Dia

— свободный кроссплатформенный редактор диаграмм, часть GNOME

Office

, но может быть установлен независимо. Он может быть использован

для создания различных видов диаграмм: блок-схем алгоритмов программ,

древовидных схем, статических структур UML, баз данных, диаграмм

сущность-связь, радиоэлектронных элементов, потоковых диаграмм, сетевых

диаграмм и других. Dia может расширяться новыми наборами объектов, ко-

торые описываются с помощью файлов в формате, основанном на XML, есть

возможность импорта/экспорта библиотек объектов MS Visio. Возможности:

— Поддержка диаграмм потоков, структурных диаграмм и т. д.
— Экспорт в Postscript.
— Загрузка и сохранение в формате XML.
— Возможность описания новых объектов.
— Установка свойств по умолчанию для добавляемых объектов.
— Изменение цвета шрифта и заливки блоков.

Надстройки:

— AutoDia — автоматическое создание UML-схем из программного кода.
— Dia2Code — автоматическое преобразование UML-схем в программный

код.

41


background image

Dia

позволяет экспортировать и сохранять диаграммы в различные форма-

ты: EPS, SVG, DXF (Autocad’s Drawing Interchange format), CGM (Computer

Graphics Metafile), WMF , PNG, JPEG, VDX .

• QtiPlot

— свободное программное обеспечение для анализа и визуализации на-

учных данных. Версии для Windows и Mac OS X платные, демоверсии запреща-

ют сохранение проекта и ограничивают время работы 10 минутами. QtiPlot по

функциональности похожа на Origin и SigmaPlot, и используется для их замены

в институтах, для проведения научно-исследовательских работ и подготовке их

к публикации. QtiPlot может использоваться для создания 2D и 3D графиков

и содержит большое количество функций для анализа данных, таких как ап-

проксимация кривых и т. п. При построении 3D-графиков рендеринг может

производиться с использованием OpenGL (при помощи библиотеки Qwt3D).

Последняя версия 0.9.8.9 (2 ноября 2011).

• GNUplot

.

8.1. Редактор научной графики GNUplot

GNUplot — управляемая командами интерактивная программа состав-
ления графиков (в режиме командной строки).

GNUplot

написан Томасом Вильямсом (Thomas Williams) и Колином Келли

(Colin Kelley).

Эта программа распространяется свободно (“as is”), отличается компактностью

и мобильностью. Она работает на различных платформах: UNIX/Linux, MacOS,
Windows

и др., а созданные в ней макрофайлы (обычно с расширением

.plt)

независимы от платформы.

GNUplot

также используется в качестве системы вывода изображений в различ-

ных математических пакетах: GNU Octave, Maxima, Reduce и других.

Последняя версия 5.2.1 (октябрь 2017).

Синтаксис

Программа чувствительна к регистру, имена команд можно сокращать. В стро-

ке может быть любое количество команд, отделяемых ‘;’. Строки заключаются в

двойные или одинарные кавычки.

Запуск:

gnuplot

После этого можно писать команды.

Запуск в пакетном режиме:

gnuplot макрофайл

Кроме того, GNUplot можно использовать в конвейере (вместе с другими коман-

дами и программами).

Выход:

quit

или

exit

42


background image

Помощь

help

или

?

— вывод содержания;

help команда

— вывод справки о команде;

help тема

— вывод справки по указанной теме.

В описаниях команд необязательные аргументы указываются в квадратных скоб-

ках (‘[. . . ]’).

Редактирование командной строки

GNUplot

поддерживает стиль редактирования EMACS, а в версиях для MS DOS

и WINDOWS — клавиши управления курсором. Клавиша Esc очищает командную

строку. GNUplot также поддерживает историю команд.

Графические устройства

GNUplot

поддерживает все существующие графические (внешние) устройства.

Посмотреть полный список доступных устройств можно с помощью команды

set terminal

.

set terminal устройство [опции ]

— установка в качестве выходного указан-

ное графическое устройство.

show terminal

— выводит установленное графическое устройство.

Макрофайлы

save [functions|variables|set] ’файл ’

— сохраняет в файле определённые

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

Имя файла пишется с произвольным расширением.

Пример

.5 (Сохранение файлов в GNUplot).

save ’work.gnu’

save functions ’func.dat’

save var ’var.dat’

save set ’options.dat’

load ’файл ’

— считывает файл.

cd ’директория ’

— изменяет текущую директорию.

pwd

— выводит текущую директорию.

Внутри файла возможно применение символов ‘

\’ — для продолжения строки

(ставится в конце строки) и ‘

#’ — для комментирования строки.

Построение графиков

Двумерный график:

plot [диапазон] {функция |

{’файл ’ [модификации]}} [axes оси ]

[title ’заголовок ’ | notitle]

[with стиль ], ...

Трёхмерный график:

43


background image

splot [диапазон] {функция |

{’файл ’ [модификации]}} [axes оси ]

[title ’заголовок ’ | notitle]

[with стиль ], ...

Диапазон задаётся в виде интервала

[a:b]

, первый интервал относится к оси X,

второй — к оси Y .

Функция

записывается с использованием арифметических знаков и стандартных

функций, кроме того, можно использовать операторы языка C (для возведения в

степень используется оператор Фортрана ‘**’).

Функции могут быть параметрическими (t,u,v).

Пример

.6 (Функции в GNUplot).

plot sin(x)

f(x)=sin(x)

plot f(x)

plot sin(x),cos(x)

set param

plot sin(t),cos(t+pi/2*3)

Данные для графиков могут быть записаны в файл. Файл состоит из данных,

записанных в столбцы и разделённых пробелами. Данные делятся на блоки 2-мя пу-

стыми строками. Одна пустая строка обозначает разрыв (при использовании линии).

В файле данных также можно комментировать записи символом ‘#’.

Данные могут быть записаны в экспоненциальном формате, с использованием

символов ‘e’, ‘E’ ‘d’, ‘D’, ‘q’ или ‘Q’. Если записан только один столбец, эти данные

принимаются за y, а соответствующие значения x считаются целыми, начиная с 0.

Имя файла может отсутствовать (‘’), тогда берётся ранее считанный файл. Если

задать имя ‘-’, то данные можно вводить в командной строке, закончив ввод симво-

лом ‘e’.

В качестве модификаторов могут использоваться следующие параметры: index,

every

, thru, using, smooth.

Параметр оси используется, чтобы выбрать оси, для которых график должен

масштабироваться; этот параметр может принимать одно из четырёх возможных

значения:

x1y1

— естественный масштаб;

x2y2

— масштабирование по обоим осям;

x1y2

— масштабирование по оси Y;

x2y1

— масштабирование по оси X.

Опция title задаёт заголовок для каждого набора данных, который записывается

в легенде.

Параметр стиль задаёт стиль линии графика и может принимать одно из

следующих значений: lines, points, linespoints, impulses, dots, steps, fsteps, histeps,
errorbars

, xerrorbars, yerrorbars, xyerrorbars, boxes, boxerrorbars, boxxyerrorbars, financebars,

candlesticks

, vector.

В качестве модификации стиля можно изменить тип, стиль, толщину линии, тип

и размер точек.

44