Смекни!
smekni.com

Основы графической визуализации вычислений (стр. 4 из 4)

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

>> x=-5:0.1:5;

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

>> zoomon

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

Команда 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.