на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Основы графической визуализации вычислений
p align="left">- Pos=0 - лучшее место, выбираемое автоматически;

- Pos=1 - верхний правый угол;

- Pos=2 - верхний левый угол;

- Pos=3 - нижний левый угол;

- Pos=4 - нижний правый угол;

- Pos=-1 - справа от графика.

Чтобы перенести легенду, установите на нее курсор, нажмите левую кнопку мыши и перетащите легенду в необходимую позицию.

Команда legend может использоваться с двумерной и трехмерной графикой и со специальной графикой - столбцовыми и круговыми диаграммами и т. д. Двойным щелчком можно вывести легенду на редактирование.

Пример, приведенный ниже, строит график трех функций с легендой, размещенной в поле графика:

>> x=-2*pi:0.1*pi:2*pi;

>> y1=sin(x);

>> y2=sin(x).^2;

>> y3=sin(x).^3;

>> plot(x,y1,'-m',x,y2,'-.+r',x,y3,'--ok')

>> legend('Function 1','Function 2', 'Function 3');

Управление свойствами осей графиков

Обычно графики выводятся в режиме автоматического масштабирования. Следующие команды класса axis меняют эту ситуацию:

· axis([XMIN XMAX YMIN YMAX]) -- установка диапазонов координат по осям x и у для текущего двумерного графика;

· axis([XMIN XMAX YMIN YMAX ZMIN ZMAX]) - установка диапазонов координат по осям x, у и z текущего трехмерного графика;

· axis auto -- установка параметров осей по умолчанию;

· axis manual -- «замораживает» масштабирование в текущем состоянии, чтобы при использовании команды hold on следующие графики использовали те же параметры осей;

· axis tight -- устанавливает диапазоны координат по осям в соответствии с диапазонами изменения данных;

· axis ij -- задает «матричную» прямоугольную систему координат с началом координат в левом верхнем углу, ось i -- вертикальная, размечаемая сверху вниз, ось j -- горизонтальная и размечается слева направо;

· axis xy -- устанавливает декартову систему координат с горизонтальной осью х, размечаемой слева направо, и вертикальной осью у, размечаемой снизу вверх. Начало координат размещается в нижнем левом углу;

· axis equal -- включает масштаб с одинаковым расстоянием между метками по осям х, у и z;

· axis image -- устанавливает масштаб, при котором пиксели изображения становятся квадратами;

· axis square -- устанавливает текущие оси в виде квадрата (или куба в трехмерном случае) с одинаковым расстоянием между метками и одинаковой длиной осей;

· axis normal -- восстанавливает масштаб, отменяя установки axis equal и axis square;

· axis vis3d -- «замораживает» пропорции осей для возможности поворота трехмерных объектов;

· axis off -- убирает с осей их обозначения и маркеры; 0

· axis on -- восстанавливает ранее введенные обозначения осей и маркеры;

· V=axis -- возвращает вектор- строку, содержащую коэффициенты масштабирования для текущего графика. Если текущий график двумерный, то вектор имеет 4 компонента, если трехмерный -- 6 компонентов.

Следующий пример иллюстрирует применение команды axis при построении двумерного графика функции одной переменной:

>> axis([-10 10 -1.5 1.5])

>> x=-5:0.1:5;

>> plot(x, sin(x));

>> axis([-8 8 -1.5 1.5])

Обратите внимание, что теперь масштабы осей заданы командой axis, а не диапазоном изменения значений x и у.

Включение и выключение сетки

В математической, физической и иной литературе при построении графиков в дополнение к разметке осей часто используют масштабную сетку. Команды grid позволяют задавать построение сетки или отменять это построение:

· grid on -- добавляет сетку к текущему графику;

· grid off -- отключает сетку;

· grid -- последовательно производит включение и отключение сетки.

Команды grid устанавливают свойства объектов XGrid, Ygrid и Zgrid для текущих осей. Ниже приведен пример из предшествующего раздела с добавлением в него команды grid:

>> x=-5:0.1:5;

>> plot(x, sin(x));

>> axis([-8 8 -1.5 1.5])

>> grid on

Наложение графиков друг на друга

Во многих случаях желательно построение многих наложенных друг на друга графиков в одном и том же окне. Для этого служит команда продолжения графических построений hold. Она используется в следующих формах:

· hold on -- обеспечивает продолжение вывода графиков в текущее окно, что позволяет добавлять последующие графики к уже существующим;

· hold off -- отменяет режим продолжения графических построений;

· hold -- работает как переключатель, последовательно включая режим продолжения графических построений и отменяя его.

Команда hold on устанавливает значение add для свойства NextPlot объектов figure и axes, a hold off устанавливает для этого свойства значение replace.

Графики синусоиды и трех параметрических функций в одном окне

Приведенный ниже пример показывает, как с помощью команды hold on на график синусоиды накладываются еще три графика параметрически заданных функций:

>> x=-5:0.1:5;

>> plot(x, sin(x));

>> hold on

>> plot(sin(x), cos(x));

>> plot(2*sin(x), cos(x));

>> plot(4*sin(x), cos(x));

>> hold off

В конце приведенного фрагмента программы команда hold off отключает режим добавления графиков к ранее построенным графикам.

Разбиение графического окна

Бывает, что в одном окне надо расположить несколько координатных осей с различными графиками без наложения их друг на друга. Для этого используются команды subplot, применяемые перед построением графиков:

· subplot -- создает новые объекты класса axes (подокна);

· subplot(m,n, p) или subplot(mnp) -- разбивает графическое окно на тхп подокон, при этом m -- число подокон по горизонтали, n -- число подокон по вертикали, а p-- номер подокна, в которое будет выводиться текущий график (подокна отсчитываются последовательно по строкам);

· subplot(H), где Н -- дескриптор для объекта axes, дает альтернативный способ задания подокна для текущего графика;

· subplot( 'position',[left bottom width height]) -- создает подокно с заданными нормализованными координатами (в пределах от 0.0 до 1.0);

· subplot(lll) и clf reset -- удаляют все подокна и возвращают графическое окно в обычное состояние.

Следующий пример иллюстрирует применение команды subplot:

>> x=-5:0.1:5;

>> subplot(2,2,1), plot(sin(x), cos(x))

>> subplot(2,2,2), plot(sin(5*x), cos(2*x+0.2))

>> subplot(2,2,3), plot(sin(4*x), cos(2*x))

>> subplot(2,2,4), plot(cos(2*x))

В этом примере последовательно строятся четыре графика различного типа, размещаемых в разных подокнах.

Для всех графиков возможна индивидуальная установка дополнительных объектов, например титульных надписей, надписей по осям и т. д.

Изменение масштаба графика

Для изменения масштаба двумерных графиков используются команды класса zoom:

· zoom -- переключает состояние режима интерактивного изменения масштаба для текущего графика;

· zoom (FACTOR) устанавливает масштаб в соответствии с коэффициентом FACTOR;

· zoom on -- включает режим интерактивного изменения масштаба для текущего графика;

· zoom off -- выключает режим интерактивного изменения масштаба для текущего графика;

· zoom out -- обеспечивает полный просмотр, т. е. устанавливает стандартный масштаб графика;

· zoom xon или zoom yon -- включает режим изменения масштаба только по оси x или по оси у;

· zoom reset -- запоминает текущий масштаб в качестве масштаба по умолчанию для данного графика;

Команда zoom позволяет управлять масштабированием графика с помощью мыши. Для этого надо подвести курсор мыши к интересующей вас области рисунка. Если команда zoom включена (on), то нажатие левой кнопки увеличивает масштаб вдвое, а правой -- уменьшает вдвое. При нажатой левой кнопке мыши можно выделить пунктирным черным прямоугольником нужный участок графика -- при отпускании кнопки он появится в увеличенном виде и в том масштабе, который соответствует выделяющему прямоугольнику.

Рассмотрим работу команды zoom на следующем примере:

>> x=-5:0.1:5;

>> plot(x, sin(x.^5)./(x.^5+eps))

>> zoom on

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

Команда zoom, таким образом, выполняет функцию «лупы», позволяющей наблюдать в увеличенном виде отдельные фрагменты сложных графиков. Однако следует учитывать, что для наблюдения фрагментов графиков при высоком увеличении они должны быть заданы большим количеством точек. Иначе вид отдельных фрагментов и тем более особых точек (в нашем случае это точка при x вблизи нуля) будет существенно отличаться от истинного.

Установка палитры цветов

Поскольку графика MATLAB обеспечивает получение цветных изображений, в ней есть ряд команд для управления цветом и различными световыми эффектами. Среди них важное место занимает установка палитры цветов. Палитра цветов RGB задается матрицей MAP из трех столбцов, определяющих значения интенсивности красного (red), зеленого (green) и синего (blue) цветов. Их интенсивность задается в относительных единицах от 0.0 до 1.0. Например, [0 0 0] задает черный цвет, [1 1 1] -- белый цвет, [0 0 1] -- синий цвет. При изменении интенсивности цветов в указанных пределах возможно задание любого цвета. Таким образом, цвет соответствует общепринятому формату RGB.

Для установки палитры цветов служит команда colormap, записываемая в следующих формах:

· colormap( 'default') -- устанавливает палитру по умолчанию, при которой распределение цветов соответствует радуге;

· colormap(MAP) -- устанавливает палитру RGB, заданную матрицей MAP;

· C= colormap -- функция возвращает матрицу текущей палитры цветов С.

m-файл с именем colormap устанавливает свойства цветов для текущего графика.

Команда help graph3d наряду с прочим выводит полный список характерных палитр, используемых графической системой MATLAB:

· hsv - цвета радуги;

· hot - чередование черного, красного, желтого и белого цветов;

· gray - линейная палитра в оттенках серого цвета;

· bone - серые цвета с оттенком синего;

· copper - линейная палитра с оттенками меди;

· pink - розовые цвета с оттенками пастели;

· white - палитра белого цвета;

· flag - чередование красного, белого, синего и черного цветов;

· lines - палитра с чередованием цветов линий;

· colorcube - расширенная палитра RGB;

· jet - разновидность палитры HSV;

· prism - призматическая палитра цветов;

· cool - оттенки голубого и фиолетового цветов;

· autumn -оттенки красного и желтого цветов;

· spring - оттенки желтого и фиолетового цветов;

· winter - оттенки синего и зеленого цветов;

· summer - оттенки зеленого и желтого цветов.

Все эти палитры могут служить параметрами команды colormap, например colormap(hsv) фактически устанавливает то же, что и команда colormap( 'default').

Построение сферы

Для расчета массивов X, Y и Z координат точек сферы как трехмерной фигуры используется функция sphere:

· [X,Y,Z]=sphere(N) -- генерирует матрицы X, Y и Z размера (N+1)x (N+1) для последующего построения сферы с помощью команд surfl (X, Y,Z) или surfl(X,Y,,Z);

· [X,Y,Z]=sphere -- аналогична предшествующей функции при N=20.

Пример применения этой функции:

>> [X,Y,Z]=sphere(30);

>> surfl(X,Y,Z)

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

Обратите внимание на то, что именно функциональная окраска сферы придает ей довольно реалистичный вид. В данном случае цвет задается вектором Z.

Страницы: 1, 2, 3



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.