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

Добавлен: 29.10.2018

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

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

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

значение. Многие параметры имеют размерные величины. По умолчанию использу-

ется единицы измерения bp (большие пункты, 1 in=72 bp).

bb

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

бокса (BoundingBox). Значение параметра должно содержать четыре числа,

разделённых пробелами.
Например,

bb=0 0 1in 2in задаёт ограничивающий бокс с координатами ниж-

него левого угла (0,0) и с координатами верхнего правого угла — (72,144).

bbllx, bblly

— x- и y-координаты нижнего левого угла ограничивающего бокса.

bburx, bbury

— x- и y-координаты верхнего правого угла ограничивающего бокса.

Набор ключей

bbllx=a, bblly=b, bburx=c, bbury=d

эквивалентен

bb= a b c

d

.

natwidth, natheight

— естественная ширина и высота рисунка. Эти параметры

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

координаты нижнего левого угла равны нулю.
Набор ключей

natwidth=w, natheight=h

эквивалентны

bb= 0 0 w h

.

hiresbb

— указывает, что L

A

TEX должен считывать размеры ограничивающего бокса

из строки, начинающейся с

%%HIResBoundingBox, а не из строки %%BoundingBox.

hiresbb=true

эквивалентен простому заданию параметра

hiresbb без значе-

ния.
В случае, когда по умолчанию считываются размеры изображения с высоким

разрешением, ключ

hiresbb=false

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

clip

— может принимать значения

true или false. Если в параметрах присутствует

запись

clip=true

(или просто

clip

), то часть рисунка, выходящая за границы

видимой области отсекается.

viewport

— задаёт видимую часть рисунка. Подобно параметру

bb, видимая часть

рисунка определяется двумя парами координат нижнего левого угла и верхнего

правого угла видимой области.
Координаты углов видимой области отсчитываются от левого нижнего угла

ограничивающего бокса.

trim

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

числа соответствуют смещению границы видимой области внутрь ограничива-

ющего бокса, отрицательные числа расширяют видимую область. Например,

trim= 1mm 2mm 3mm 4mm отрезают от рисунка 1 мм слева, 2 мм снизу, 3 мм

справа и 4 мм сверху.

draft

— устанавливает черновой режим импортирования, когда вместо рисунка вы-

водится рамка с размерами ограничивающего бокса, а внутри неё написано

название импортированного файла. Параметр

draft эквивалентен заданию

draft=true.

120


background image

Если включена опция

draft пакета graphicx или класса документа, то параметр

задание

draft=false позволяет реально импортировать отдельный рисунок.

scale

— изменение размера рисунка по заданному масштабу. Ключ

scale=2

увели-

чивает рисунок в два раза относительно его естественного размера. Пропорции

рисунка сохраняются.

width

— требуемая ширина рисунка.

hieght|totalheight

— требуемая высота / полная высота рисунка, соответственно.

Задание одного из параметров

width, height, totalheight приводит к измене-

нию масштаба рисунка с сохранением пропорций.

keepaspectratio

— означает

keepaspectratio=true, задаёт режим масштабирова-

ния рисунка с сохранением пропорций. Рисунок увеличивается настолько, на-

сколько это возможно при сохранении его аспектного отношения без выхода

изображения за заданные размеры видимой области.

angle

— угол поворота рисунка (в градусах), положительное значение задаёт вра-

щение против часовой стрелки.

origin

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

вращается относительно точки привязки.
Значение ключа может состоять из одной или двух букв, фиксирующих поло-

жение центра вращения. Горизонтальная координата центра вращения задаёт-

ся одним из трёх спецификаторов:

l — слева, c — центр, r — справа, в то время

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

t — вверх, c — центр, b — низ, B — базисная линия.
Например,

origin=rb задаёт в качестве точки вращения правый нижний угол

бокса,

origin=lt задаёт левый верхний угол. Комбинация cB задаёт середину

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

lc задаёт сред-

нюю по высоте точку с левой стороны бокса. Точке привязки соответствует

lb. Всего таким способом можно задать 12 точек. Порядок следования спе-

цификаторов не имеет значения:

br эквивалентно rb. Если только задан один

спецификатор, то вторым предполагается

c.

type

— задаёт тип рисунка. Все файлы одного типа обрабатываются при помощи

одних и тех же внутренних команд

\

spesial

(конкретная форма которых за-

висит от выбранного драйвера).
Например, файлы с расширениями

.ps и .eps рассматриваются драйвером

dvips как файлы одного типа векторной графики EPS, а файлы с расширени-

ями

.bmp и .pcx считаются принадлежащими к типу растровой графики BMP.

tl

l

Bl

bl

t

c
B
b

tr

r
Br
br

базисная

линия

r

r

r

r

r

r

r

r

r

r

r

r

121


background image

Поэтому следует задать ключ

type=eps, если рисунок PostScript почему-то за-

писан в файл с расширением, не совпадающим с

.eps и .ps.

ext

— определяет расширение имени графического файла. Например, если задан

ключ

ext=eps, то драйвер выходного устройства попытается загрузить файл с

именем файл

.eps.

read

— определяет расширение имени файла, в котором записаны размеры огра-

ничивающего бокса в виде строки

%%BoundingBox: llx lly urx ury

, который

считывается L

A

TEX’ом при компиляции исходного текста печатного документа.

Для графического файла с расширением

.eps размеры считываются из этого

же файла, поэтому применение ключа

read=.eps повторяет правило, исполь-

зуемое по умолчанию.

command

— задаёт команду, которую программа-драйвер должна применить к гра-

фическому файлу перед его импортированием. С eps-файлом не требуется про-

изводить каких-либо предварительных действий, поэтому этот ключ задавать

не нужно. Обычно его используют при импортировании сжатых файлов.

Запомните: Если параметры пропущены, то рисунок будет вставлен с естествен-

ными размерами, т. е. размерами ограничивающего бокса (в .eps файле размеры запи-
сываются в параметре BoundingBox).

Пример

.63. В этом примере вставлен рисунок, не превысив заданных размеров и

не изменив пропорции.

\includegraphics[keepaspectratio,

width=0.7in, height=4in]{rosette}

Высота рисунка не достигла заказанной величины в 4 дюйма, т. к. ширина рисун-

ка превысила бы заказанное значение в 0,7 дюйма или были бы искажены пропорции

рисунка.

В случаях, когда в печатный документ (используя драйвер

dvips) нужно вста-

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

\

includegraphics

или в специальном текстовом файле. С помощью этих размеров

осуществляется и масштабирование.

3.

Размещение рисунков

Рисунки, вставляемые в текст из внешних файлов и рисунки, созданные сред-

ствами самого L

A

TEX’а образуют бокс заданного размера и обрабатываются как все

боксы.

Часто требуется рисунок отделить от текста, снабдить его подписью и разместить

нужным образом на странице. Для автоматизации этого процесса имеется специаль-

ное окружение, помещающее рисунок (вообще — любое содержимое) в плавающий
бокс

.

122


background image

Плавающий рисунок задаётся, подобно плавающим таблицам, окружениями

figure[положение ]

и

figure*[положение ]

. В двухколоночной печати, первое

окружение всегда размещает рисунок в одной колонке, а второе — в двух (на всю

ширину страницы, как в одноколоночной печати).

Необязательный аргумент положение задаёт расположение бокса на странице,

он может состоять из следующих символов:

h

— (here) расположение на месте, сразу же после заполнения текущей строки (не

допускается в ∗-форме при печати в две колонки);

t

— (top) расположение вверху страницы;

b

— (bottom) расположение внизу страницы;

p

— (page) расположение на отдельной странице, содержащей только плавающие

объекты.

!

— расположение на указанном месте, игнорируя большинство запретов, исполь-

зуется перед дескрипторами

h, t и b (хотя бы с одним);

Подпись создаётся командой

\

caption{подпись }

, которая ставится внутри

окружения figure после самого рисунка, при этом L

A

TEX сформирует соответствую-

щую подпись с номером рисунка, как, например рис.

8.1

.

Пример

.64 (плавающий рисунок).

\begin{figure}[hbtp]

\centering
\includegraphics[width=1.\textwidth,

bb=59 366 507 519,clip]{pic1}

\caption{Результаты классификации}
\label{SamplePic}
\end{figure}

 0

 20

 40

 60

 80

 100

 1

 2

 3

 4

 5

 6

p

O

Fe

PSfrag replacements

Энергетический диапазон

Веро

ятность

правильной

классификации,

%

а)

 0

 20

 40

 60

 80

 100

225

200

175

150

125

100

75

50

25

0

r

, m

p

O

Fe

PSfrag replacements

Энергетический диапазон

Веро

ятность

правильной

классификации,

%

б)

Рис. 8.1. Результаты классификации

Подробнее о плавающих объектах написано в разделе, описывающем таблицы.

Для вставки рисунка, обтекаемого текстом (справа или слева), существуют спе-

циальные пакеты:

123


background image

floatflt

— для плавающих рисунков;

wrapfig

— для неплавающих рисунков.

Текст текст текст текст текст текст текст текст текст

текст текст текст текст текст текст текст текст текст текст

текст текст текст текст текст текст текст текст текст текст

текст текст текст текст текст текст текст текст текст текст

текст текст текст текст текст текст текст текст текст текст

текст текст текст текст текст текст текст текст текст текст

текст текст текст текст.

Пример

.65 (обтекаемый плавающий рисунок).

\begin{floatingfigure}{.25\textwidth}

\includegraphics[width=.25\textwidth,height=.25\textheight,
keepaspectratio]{rosette}
\end{floatingfigure}
Текст текст текст текст текст текст текст текст текст текст текст текст текст текст

4.

Псевдографика

L

A

TEX имеет несколько шрифтов псевдографики (элементарных линий разных

размеров), которые используются исключительно в графической моде.

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

picture(ширина,высота )(x

0

, y

0

)

.

Ширина

и высота задают размеры графического бокса и являются обязательными,

а x

0

и y

0

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

умолчанию x

0

= 0

, y

0

= 0

.

Аргументы окружения picture (как обязательные, так и необязательные) зада-

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

осям X и Y ).

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

мая длиной

\

unitlength

(по умолчанию она равна 1 pt), которая переопределяется

до окружения picture. Такие же правила задания длин и координат действуют для

всех команд в графическом режиме.

Графические элементы могут изображаться линиями разной толщины:

\

thinlines

— тонкие линии

*

(используется по умолчанию);

\

thicklines

— толстые линии

*

.

Команда

\

linethickness{толщина }

служит для произвольного задания

толщины

горизонтальных и вертикальных линий.

4.1. Позиционирование

Любой объект в графике должен быть помещён в определённую точку, задава-

емую парой координат (x, y) (иначе объект будет помещён в точку (0,0)). Команда

124