Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Приложения с GUI и дескрипторная графика.doc
Скачиваний:
49
Добавлен:
01.05.2014
Размер:
699.39 Кб
Скачать

5.7. Базовые графические объекты.

Базовые (Core) графические объекты занимают нижний уровень в иерархии графических объектов MATLAB, предком базовых графических объектов являются оси. Следовательно, их вывод возможен только при наличии осей, которые при желании можно сделать невидимыми и, кроме того, совпадающими по размеру с графическим окном. Тогда базовые объекты можно размещать в произвольном месте области графического окна. Всего в MATLAB существует семь базовых графических объектов:

  • Рисунок (Image). Создается функцией image, в списке ее входных аргументов надо указать массив, содержащий информацию о цвете каждого пикселя в формате RGB (трехмерный массив) или индексированный цвет (двумерный массив). Для чтения этой информации из графического файла служит функция imread, которая понимает основные графические форматы: bmp, gif, jpeg, pcx, tiff и др.

  • Источник света (Light). Создается функцией light и служит для освещения поверхности (Surface) и полигонального объекта (Patch). На одних осях может быть расположено несколько источников света, каждый со своими свойствами: цвет света, тип лучей. Лучи могут быть параллельные, т.е. идущие от бесконечно удаленного источника, или лучи, исходящие из точечного источника, расположенного в определенной точке пространства.

  • Линия (Line). Ломаная линия создается функцией line и задается координатами вершин. Возможно изменять стиль, цвет и толщину линии, размещать различные маркеры в вершинах и выбирать их размер, цвет границы и внутренности.

  • Полигональный объект (Patch). Создается функцией patch. Служит для создания плоских и трехмерных объектов, в том числе и достаточно сложной формы. Полигональный объект задается либо координатами вершин каждой грани, либо координатами всех вершин и тем, какие грани они образуют. Возможны различные способы закраски граней и ребер полигонального объекта: как постоянным цветом, так и цветами, меняющимися от вершины к вершине, а также указание прозрачности граней и ребер и свойств, отвечающих за освещение полигонального объекта

  • Прямоугольник (Rectangle). Создается функцией rectangle, которая позволяет указать величину скругления углов. Так что можно рисовать не только прямоугольник или квадрат, но и эллипс и круг. Возможно изменять цвет границы и внутренности, а так же стиль линии границы.

  • Поверхность (Surface). Создается функцией surface. Поверхность задается на прямоугольной сетке значениями в каждом ее узле. Обычно, для создания прямоугольной сетки применяется функция meshgrid. Возможно изменение цвета ячеек и их границ, способов их закраски, прозрачности ячеек и границ, свойств линий границ ячеек, указание свойств, отвечающих за освещение поверхности светом, а также размещение маркеров заданного вида, размера и цвета в вершинах ячеек.

  • Текстовый объект (Text). Создается функцией text. Текст может быть отформатирован различными шрифтами и начертанием, цветом, заключен в рамку (свойства линий рамки и цвет ее внутренности можно изменять), повернут на заданный угол. Для набора математических формул доступны возможности TeX и LaTeX.

В справочной системе MATLAB информация о базовых объектах доступна в нескольких разделах:

  • Справочник свойств графических объектов MATLAB: Handles Graphics Property Browser (в правом окне далее надо перейти по гиперссылке Axes, далее в дереве по ссылке Core Objects).

  • MATLAB: Graphics: Handle Graphics Objects: Core Objects.

  • Работа с графическими изображениями (объектами Image) описана в разделе MATLAB: Graphics: Displaying Bit-Mapped Images.

  • Моделирование сложных объектов при помощи полигональных объектов рассмотрено в разделе MATLAB: 3-D Visualization: Creating 3-D Models with Patches.

  • Техника освещения объектов разбирается в разделе MATLAB: 3-D Visualization: Lighting as a Visualization Tool.

  • Свойства графических объектов, отвечающие за их прозрачность и их использование см. в разделе MATLAB: 3-D Visualization: Transparency.

  • Кроме того, для быстрого перехода к свойствам объектов можно посмотреть справку по низкоуровневой функции, которая создает данный объект: image, text, line, rectangle, surface, patch, light, например:

>> doc text

(для отображения окна браузера справочной системы с информацией о функции text и текстовом объекте), или

>> help text

(для вывода краткой информации о функции text в командное окно, выводятся также гиперссылки для перехода к описанию родственных функций).