Описание пользователя
Глава 2. Интерфейс пользователя
§2.10. Редактирование векторной картинки блока
§2.10.3. Рисование отрезков прямых линий и кривых Безье
Рассматривается добавление в векторную картинку блока одиночных отрезков прямых и кривых Безье и окно параметров рисующего их элемента. Цвет отрезка и его проекции на горизонтальную и вертикальную оси могут быть связаны со значениями переменных блока.
Элементом картинки может быть отрезок прямой или кривой Безье, причем на одном или на обоих концах отрезка может рисоваться стрелка. Отрезок прямой со стрелкой на конце, горизонтальная и вертикальная проекция которого связаны с переменными блока, часто используется в качестве анимированного изображения вектора.
Чтобы добавить в картинку отрезок, следует нажать на панели элементов в левой части окна кнопку «» (рис. 127 а, вместо этого можно выбрать пункт меню «»), переместить курсор мыши в точку рабочего поля, где будет располагаться начало отрезка, нажать левую кнопку, а затем, не отпуская кнопки, переместить курсор в точку конца отрезка (в процессе перемещения за курсором мыши будет тянуться линия). После отпускания кнопки на рабочем поле появится отрезок прямой без стрелок, цвет и параметры которого будут взяты из параметров по умолчанию графических элементов, а на панели элементов снова окажется нажатой кнопка «». Добавленный отрезок будет выделен, его начало будет помечено цифрой «1», конец – цифрой «2» (рис. 127 в). После того, как отрезок нарисован, его начальную и конечную точки, обозначенные круглыми маркерами, можно перетаскивать мышью с место на место. Преобразовать отрезок в кривую Безье и добавить стрелки в его начале и конце можно либо через окно его параметров, либо через контекстное меню.

(а)

(б)

(в)
Рис. 127. Рисование отрезка: выбор режима (а), рисование (б), готовый выделенный отрезок (в)
Для вызова окна параметров добавленного отрезка следует либо дважды щелкнуть на нем левой кнопкой мыши, либо выбрать в контекстном меню, открывающемся при щелчке на отрезке правой кнопкой, пункт «». Окно параметров отрезка содержит две вкладки: «» (рис. 128) и «» (рис. 131).
Рис. 128. Окно параметров отрезка – вкладка «»
На вкладке «» можно задать вид отрезка (отрезок прямой или кривой Безье) и ввести координаты его точек. Для отрезка прямой вводятся только координаты начала и конца отрезка, для отрезка кривой Безье – еще и координаты управляющих точек касательных (рис. 129, внешний вид кривой с управляющими точками изображен на рис. 134). Все координаты вводятся в точках экрана для масштаба 100%. В нижней части вкладки на панели «» задаются тип, толщина и цвет линии (аналогично заданию обрамления прямоугольника), а на панели «» можно установкой соответствующих флажков включить и выключить стрелки в начале и конце отрезка (рис. 130), а также задать их размеры (при этом в нижней части панели будет отображаться примерный вид линии со стрелкой, соответствующий текущим установкам).
Рис. 129. Панель координат для кривой Безье
Рис. 130. Панель «»
Вкладка «» окна параметров отрезка совпадает с одноименной вкладкой окна параметров прямоугольника и параметры на ней задаются точно так же.
Рис. 131. Окно параметров отрезка – вкладка «»
Как и у прямоугольника, у отрезка можно связать с переменными ширину, высоту, основной и альтернативный цвета, но нужно принимать во внимание некоторые особенности линии. Во-первых, если у прямоугольника можно связать с переменной цвет заполнения, то есть его внутренней области, то у отрезков нет внутренних областей, поэтому с переменной связывается цвет линии отрезка. Во-вторых, для отрезков понятия «высота» и «ширина» относятся к размерам прямоугольной области, по диагонали которой расположен отрезок. То есть, фактически, ширина и высота отрезка – это его проекции на горизонтальную и вертикальную оси координат. Это удобно при создании анимированных векторов: если, например, включить в картинку отрезок с началом в точке (0,0) и концом в точке (10,10), включить стрелку на его конце и связать его ширину и высоту с переменными блока, в которых хранятся горизонтальная и вертикальная составляющие какого-либо вектора (вертикальную составляющую придется брать с обратным знаком, поскольку вертикальная ось в экранных и оконных координатах направлена сверху вниз), то этот отрезок со стрелкой будет изображением этого вектора в масштабе 10:1 (единица координаты вектора будет соответствовать десяти точкам экрана).
В контекстном меню отрезка (рис. 132), вызываемом по щелчку правой кнопкой мыши, присутствует два дополнительных пункта: «» и «» (для отрезка прямой) или «» (для отрезка кривой Безье). Пункт «» открывает дополнительное окно (рис. 133), в котором можно отразить отрезок по горизонтали или вертикали или повернуть его на заданный угол: в результате поворота или отражения будут пересчитаны координаты обеих точек отрезка, а также управляющих точек касательных, если отрезок – кривая Безье. Пункт «» или «» переключает вид отрезка аналогично флажку на вкладке «» окна параметров. Управляющие точки касательных кривой Безье можно перетаскивать мышью (рис. 134), меняя тем самым форму кривой.
Рис. 132. Контекстное меню отрезка
Рис. 133. Окно отражения и поворота
(одинаковое для отрезка и многоугольника)

(а)

(б)

(в)
Рис. 134. Изменение касательной кривой Безье: выбор маркера (а),
перемещение маркера (б), измененная кривая (в)