Пакет MatLab. Элементы программирования. Функции пакета. Графические возможности пакета, страница 13

Y=cos(phi)*sin(theta);

Z=sin(phi)*ones(tsize(theta));

C=hadamard(2^k); surf(X,Y,Z,C)               %или colormap(hsv); surf(X,Y,C,Z))

sphere                  создание сферы;

cylinder                              создание цилиндра;

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

[X,Y,Z]=cylinder(4*cos(t));

mesh(X,Y,Z)

fill3                      вывод поверхности, заполненной цветом;

zlabel                   открывает z-оси;

clabel                   открывает оси для вывода контура;

view                      установка текущей точки просмотра:

view(-10,80)

view(-90,0)

В графической системе MatLab 4.0 используются также следующие функции и команды:

figure                   открывает новое графическое окно;

ginput                  дает возможность вводить с помощью мыши координаты точек графического окна:

but=1;

[xi,yi,but]=ginput(1);

drawnow             перерисовка графических объектов;

colormap            управляет определением цветов;

axis([xmin xmax ymin ymax zmin zmax]) - установка масштабов.

§4. Графические объекты MatLab для Windows.

Рассмотренные выше функции графики относятся к графической системе MatLab верхнего уровня. Кроме того, пакет позволяет использовать функции графики нижнего уровня. Это система носит название Handle Graphics.

MatLab определяет графические объекты как базовые примитивы графической системы, которые организованы как иерархическая структура с тремя уровнями. Эти объекты включают в себя экран дисплея (root objects), графические окна (figures) - второй уровень иерархии, а также области графического экрана (axes), линии, полигоны (patch), поверхности, картинки, тексты, элементы управления пользовательского интерфейса и элементы пользовательского меню.

Иерархия графических объектов имеет следующий вид:

Root      Figures                Axes (axes)         Line (plot, plot3, contour, contour3);

Patch (fill, fill3);

Surface (pcolor, surf, mesh);

Image (image);

Text

Uicontrol

Uimenu

Экран - основа иерархической структуры. Графические окна (figures) - индивидуальные окна на экране. Области графических окон (axes) представляют следующий уровень иерархии. Все остальные объекты, за исключением uicontrol и uimenu располагаются на графическом экране в зависимости от того к какой области (axes) они принадлежат.

Каждый графический объект имеет индивидуальный идентификатор (handle), который он получает при открытии. Идентификатор экрана (root) всегда 0. Идентификаторы графических окон - целые числа, указываемые в заголовке окна. MatLab имеет функции, которые определяют идентификаторы объектов:

gcf - возвращает идентификатор текущего графического окна figure);

gca - возвращает идентификатор текущей области графического окна (axes).

Идентификаторы могут быть использованы для управления графическими объектами. Например можно стереть область графического экрана со всеми его подчиненными объектами (линиями, текстом и т.п.), используя функцию - delete(gca).

Каждый графический объект имеет определенный набор свойств, которые могут быть установлены (или взяты по умолчанию) при открытии или изменены в дальнейшем. К общим свойствам относятся такие как Children (подчиненные объекты), Parent (объекты - родители), Clipping (реакция на нажатие), Type (тип объекта), Userdata, Visible (условие видимости), CallBack (команды, выполняемые при активизации объекта).

Например, для того чтобы открыть графическое окно белого цвета, определить область с заданном углом просмотра и осями черного цвета, построить точками прозрачную поверхность, использующую в качестве данных peaks, необходимо выполнить следующие команды:

figh=figure(‘Color’,’white’);

axh=axes(‘View’,[-37.5 30],’Xcolor’,’k’, ’Ycolor’,’k’, ’Zcolor’,’k’);

surfh=surface(peaks,’FaceColor’,’none’,’LineStyle’,’.’);

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

set(surfh,’LineStyle’,’-‘);

set(axh,’View’,[-45 45]);

Здесь первым параметром функции используется идентификатор (handle) графического объекта. Функция get определяет свойства объекта. Например: