Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
matlab_shpora.doc
Скачиваний:
3
Добавлен:
01.03.2025
Размер:
1.52 Mб
Скачать

7. Графический объект Axes

Графический объект Axes задает область размещения графика в окне объекта Figure . Текущий объект Axes является целью для функций, рисующих графические объекты image, line, patch, surface, text. Все высокоуровневые команды и функции, которые выводят графики (plot, surf, contour, mesh, bar), автоматически создают графический объект Axes, если он не существует. Дескриптор графического объекта Axes может быть определен с помощью команды gca. Пользователь может управлять его свойствами с помощью функций set (gca), get (gca). Пример:

Следующий фрагмент кода создает два объекта Axes в одном графическом окне:

>>axes('position',[.1.1 .8 .6])

mesh(peaks(20));

axes('position',[.1 .7 .8 .2])

pcolor ([1:10;1:10]);

Функция

Назначение

axes

Создание осей координат (команда)

cla

Очистка очей координат

gca

Получение дескриптора графического объекта

Axes

8. Графический объект UI. Объекты Uicontrol являются управляющими элементами пользовательского интерфейса, которые выполняют функции обратного вызова, когда пользователь активизирует объект. Объект Uimenu является выпадающим меню, который выполняет функции обратного вызова, когда пользователь активизирует пункт меню. Система MATLAB размещает Uimenu в Menu Bar окна Figure справа от существующего меню, определенного системой. Объект Uicontextmenu создает контекстное меню, которое появляется, когда пользователь нажимает правую кнопку мыши над графическим объектом.

9. Графический объект Image. Для работы с растровыми изображениями предназначен графический объект image. Команда image создает графический объект, интерпретируя каждый элемент матрицы как индекс цветовой палитры colormap или непосредственно как RGB - значение в зависимости от способа представления данных. Существует три основных типа задания изображения, которые отличаются по способу интерпретации элементов матрицы данных в качестве цветов пикселей (цветовых моделей) – индексный режим (indexed mode), режим, устанавливающий соответственно доли красного, зеленого и синего цветов (truecolor mode), и режим, устанавливающий цветовой тон, насыщенность и интенсивность (intensity).

Функция

Описание

image

Вывод графического образа

iminfo

Информация о графическом образе

imread

Чтение изображения из графического файла

imwrite

Запись изображения в графический файл

10. Графический объект Light. Графический объект Light определяет источник света, который воздействует на все графические объекты класса patch и surface. Нельзя увидеть источники света, но можно установить свойства, управляющие стилем, цветом, позицией и другими свойствами, общими для всех графических объектов. Пример:Следующий фрагмент кода помещает источник света в бесконечность, ориентирует его вдоль вектора [1 0 0], т.е. вдоль оси Ox. Источник света освещает поверхность.

>> h=surf(peaks);

set (h, 'FaceLighting','phong ', ...'FaceColor','interp', 'AmbientStrength',0.5);

light ('Position',[1 0 0],'Style', 'infinite ');

Свойство

Описание

Color

Цвет источника света

Style

Указывает на бесконечную (значение infinite

по умолчанию) или конечную (значение local) удаленность источника света от объекта

Position

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

11. Графический объект Line. Графический объект Line является графическим примитивом для создания двумерных и трехмерных графиков. Высокоуровневые команды plot, plot3, contour создают графические объекты Line. Следующий пример использует функцию line для добавления тени к нарисованному графику функции sin . Сначала при помощи функции plot рисуется линия, и ее дескриптор сохраняется в hline1. Затем добавляется более широкая и более светлая тень смещением покоординате x. Наконец, первая линия помещается поверх второй.

>> t = 0:pi/20:2*pi;

hline1 = plot (t, sin(t), 'k');

hline2 = line (t+.06,sin(t),'LineWidth',4, ... 'Color',[.8 .8 .8]);

set (gca, 'Children', [hline1 hline2])

12. Графический объект Patch. Графический объект Patch представляет собой один или несколько многоугольников, определенных координатами своих вершин, при этом многоугольники могут быть соединены, а могут быть не соединены между собой. Высокоуровневые команды fill, fill3, contour, contour3 создают графические объекты Patch и возвращают его дескриптор. Следующий фрагмент кода строит куб, каждая грань которого раскрашена в свой цвет:

>> vm=[0 0 0; 1 0 0; 11 0; 0 1 0; 0 0 1; … 1 0 1; 1 1 1; 0 1 1];

fm=[1 2 6 5;2 3 7 6;3 4 8 7; 4 1 5 8;...1 2 3 4;5 6 7 8];

clf;

view(3);

axis square

13. Графический объект Rectangle. Графический объект Rectangle представляет двумерную закрашенную область, которая может принимать определенную форму от прямоугольника до эллипса:

>> clf;

set (gca, 'Visible', 'off');

rectangle( 'Position', [ -.9 -.4 1.8 .8], ...'Curvature', [1 1], 'FaceColor', [1 .7 .7]);

rectangle( 'Position', [ -.8 -.3 1.6 .6], ...'Curvature', [.5 .5], 'FaceColor', [.7 1 .7]);

rectangle( 'Position', [ -.7 -.2 1.4 .4], ...'Curvature', [0 0], 'FaceColor', [.7 .7 1]);

14. Графический объект Surface. Графический объект Surface представляет собой результат трехмерной визуализации массива данных, когда элемент массива определяет высоту точки над плоскостью xOy. Таким способом формируется трехмерная поверхность, состоящая из четырехугольников, вершины которых определяются массивом исходных данных. Графические объекты Surface создаются при вызове высокоуровневых функций pcolor, surf, mesh или низкоуровневой функции surface. Следующий фрагмент кода демонстрирует создание графического объекта Surface при помощи функции surface:

>> title('SURFACE - regular surface')

t= 0:pi/10:2*pi;

[X,Y,Z]= cylinder(.7+.3*cos(t)); Т

Z= Z - 0.5;

hs= surface(X,Y,Z);

15. Графический объект Text. Графический объект Text представляет собой текстовый объект, т. е. строки символов, выводимые в графическом окне. Графические объекты Text создаются при использовании высокоуровневых команд title, xlabel, ylabel, zlabel, gtext или низкоуровневой команды text. Следующий фрагмент кода рисует график функции y=sin(x) в диапазоне [0 2*pi] и подписывает график в позиции (pi,0) в виде “←sin(π)”:

>> plot(0:pi/20:2*pi, sin (0:pi/20:2*pi));

text (pi,0,'\leftarrow sin (\pi)','FontSize',18);

16. Управление свойствами объектов. Для получения и установки свойств графических объектов используются функции get и set, которые выполняют действия в зависимости от входных параметров.

Функция

Описание

get (hobj)

Вывод списка текущих значений свойств графического объекта с дескриптором hobj

set (hobj)

Вывод списка возможных значений всех свойств объекта

get (hobj,’PropertyName’)

Вывод текущего значения указанного свойства объекта

set (hobj,’PropertyName’)

Вывод списка возможных значений свойства объекта

set (hobj,’PropertyName’,’PropetyValue’)

Установка нового значения указанного свойства объекта

reset(hobj)

Восстановление стандартных значений свойств по умолчанию объекта

17. Изменение свойств. Кроме этого, можно изменить значения свойств, установленные по умолчанию, на уровне родительских объектов. Например, изменить свойства графического объекта Text , установленные по умолчанию, можно на уровне родительских объектов Axes, Figure и Root:

>> set(0,'DefaultTextProperty',PropertyValue...)

>> set(gcf,'DefaultTextProperty',PropertyValue...)

>> set(gca,'DefaultTextProperty',PropertyValue...)

Тема 8

1.Импорт и экспорт данных

2.Форматы файлов, поддерживаемые Matlab

3.Работа с именем файла

4.Перемещение данных рабочего пространства

5.Низкоуровневый файловый ввод\вывод

6.Управление файлами при организации низкоуровневого файлового ввода\вывода

7.Управление правом доступа к файлу

8.ввод\вывод бинарных файлов 9.ввод\вывод текстовых файлов

10.форматная спецификация текстовых данных

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]