что необходимо сделать перед построением трехмерного графика в системе matlab

Что необходимо сделать перед построением трехмерного графика в системе matlab

что необходимо сделать перед построением трехмерного графика в системе matlab. Смотреть фото что необходимо сделать перед построением трехмерного графика в системе matlab. Смотреть картинку что необходимо сделать перед построением трехмерного графика в системе matlab. Картинка про что необходимо сделать перед построением трехмерного графика в системе matlab. Фото что необходимо сделать перед построением трехмерного графика в системе matlab

3. Трёхмерная графика .

Графики функций двух переменных представляют из себя куски поверхностей, нависающие над областями определения функций. Отсюда ясно, что изображение графиков функций двух переменных требует реализации «трёхмерной графики» на пл оском экране дисплея компьютера.

Высокоуровневая графическая подсистема MATLABа автоматически реализует трёхмерную графику без специальных усилий со стороны пользователя. Пусть в точке с координатами x1,y1 вычислено значение функции z=f(x,y) и оно равно z1. В некоторой другой точке (то есть при другом значении аргументов) x2,y2 вычисляют значение функции z2. Продолжая этот процесс, получают массив (набор) точек (x1,y1,z1), (x2,y2,z2), (xN,yN,zN) в количестве N штук, расположенных в трёхмерном пространстве. Специальные функции системы MATLAB проводят через эти точки гладкие поверхности и отображают их проекции на плоский дисплей компбютера.

Простейшей функцией построения графика функции двух переменных в системе MATLAB является функция

В системе MATLAB имеется специальная функция для получения двумерных массивов X и Y по одномерным массивам x, y.

что необходимо сделать перед построением трехмерного графика в системе matlab. Смотреть фото что необходимо сделать перед построением трехмерного графика в системе matlab. Смотреть картинку что необходимо сделать перед построением трехмерного графика в системе matlab. Картинка про что необходимо сделать перед построением трехмерного графика в системе matlab. Фото что необходимо сделать перед построением трехмерного графика в системе matlab

Пусть по оси x задан диапазон значений в виде вектора

а по оси y этот диапазон есть

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

Как мы видим, эта функция получает на входе два одномерных массива (вектора), представляющие массивы точек на осях координат, и возвращает сразу два искомых двумерных массива. На прямоугольной сетке точек вычисляем значения функции, например функции exp:

Наконец, применяя описанную выше функцию plot3,получаем следующее изображение трёхмерного графика этой функции:

что необходимо сделать перед построением трехмерного графика в системе matlab. Смотреть фото что необходимо сделать перед построением трехмерного графика в системе matlab. Смотреть картинку что необходимо сделать перед построением трехмерного графика в системе matlab. Картинка про что необходимо сделать перед построением трехмерного графика в системе matlab. Фото что необходимо сделать перед построением трехмерного графика в системе matlab

Для построения трёхмерных линий, задаваемых параметрически применяется другая форма вызова функции plot3:

plot3( x, y, z )

где x, y и z являются одномерными массивами координат точек, которые и нужно последовательно соединить отрезками прямых. Например, следующий фрагмент кода

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

x = sin( t );

y = cos( t );

grid on

где применена известная по плоским графикам команда

grid on

для проставления сетки координатных значений в области построения графика (также допустимо использовать команды и функции по оформлению графиков, ранее рассмотренные для «плоского» случая), позволяет построить винтовую линию, изображение которой показано на следующем рисунке:

что необходимо сделать перед построением трехмерного графика в системе matlab. Смотреть фото что необходимо сделать перед построением трехмерного графика в системе matlab. Смотреть картинку что необходимо сделать перед построением трехмерного графика в системе matlab. Картинка про что необходимо сделать перед построением трехмерного графика в системе matlab. Фото что необходимо сделать перед построением трехмерного графика в системе matlab

Помимо этой простейшей функции система MATLAB располагает ещё рядом функций, позволяющих добиваться большей реалистичности в изображении трёхмерных графиков. Это функции mesh, surf и surfl.

Функция mesh соединяет вычисленные соседние точки поверхности графика отрезками прямых и показывает в графическом окне системы MATLAB плоскую проекцию такого объёмного «каркасно-ребристого» ( по-английски зовётся wireframe mesh) тела. Вместо ранее показанного при помощи функции plot3 графика функции

можно получить вот такое изображение

что необходимо сделать перед построением трехмерного графика в системе matlab. Смотреть фото что необходимо сделать перед построением трехмерного графика в системе matlab. Смотреть картинку что необходимо сделать перед построением трехмерного графика в системе matlab. Картинка про что необходимо сделать перед построением трехмерного графика в системе matlab. Фото что необходимо сделать перед построением трехмерного графика в системе matlab

что необходимо сделать перед построением трехмерного графика в системе matlab. Смотреть фото что необходимо сделать перед построением трехмерного графика в системе matlab. Смотреть картинку что необходимо сделать перед построением трехмерного графика в системе matlab. Картинка про что необходимо сделать перед построением трехмерного графика в системе matlab. Фото что необходимо сделать перед построением трехмерного графика в системе matlab

функции mesh применить функцию surf( X, Y, Z ).

В результате получается следующее изображение представляющее плотную (непрозрачную) сетчатую поверхность, причём отдельные ячейки (грани) этой сетчатой поверхности (плоские четырёхугольники) автоматически окрашиваются в разные цвета.

С помощью функции surf получаются хотя и искусственно раскрашенные, но весьма наглядные изображения. Если же мы хотим добиться более естественных и объективных способов окрашивания поверхностей, то следует использовать функцию surfl.

Функция surfl трактует поверхность графика как материальную поверхность с определёнными физическими свойствами по отражению света. По умолчанию задаётся некоторый источник света, освещающий такую материальную поверхность, после чего рассчитываеются траектории отражённых лучей, попадающих в объектив условной камеры. Изображение в такой камере и показывается в графическом окне системы MATLAB.

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

colormap( copper )

surfl( X, Y, Z )

вместо surf(X,Y,Z) приводит к получению очень реалистически выглядящего и очень наглядного графика:

что необходимо сделать перед построением трехмерного графика в системе matlab. Смотреть фото что необходимо сделать перед построением трехмерного графика в системе matlab. Смотреть картинку что необходимо сделать перед построением трехмерного графика в системе matlab. Картинка про что необходимо сделать перед построением трехмерного графика в системе matlab. Фото что необходимо сделать перед построением трехмерного графика в системе matlab

Можно с такого графика убрать чёрные линии, изображающие рёбра, а также добиться ещё более плавного перехода освещения поверхности, если выполнить команду

shading interp

Источник

Построение трехмерных графиков в MATLAB

что необходимо сделать перед построением трехмерного графика в системе matlab. Смотреть фото что необходимо сделать перед построением трехмерного графика в системе matlab. Смотреть картинку что необходимо сделать перед построением трехмерного графика в системе matlab. Картинка про что необходимо сделать перед построением трехмерного графика в системе matlab. Фото что необходимо сделать перед построением трехмерного графика в системе matlab

Построение трехмерных графиков в MATLAB.

График функции двух переменных в MATLAB – это поверхность, расположенная над областями определения функции. Поэтому для прорисовки такого графика требуется использование трехмерного изображения.

Простейшим инструментом, способным отобразить график функции дыух переменных, является

plot3( X, Y, Z )

где X, Y и Z – матрицы со значениями функции (точками z) в наборах (x, y).

В системе MATLAB имеется специальная функция для получения двумерных массивов X и Y по одномерным массивам x, y.

В MATLAB существует функция построения двумерных массивов X и Y по одномерным x, y.

что необходимо сделать перед построением трехмерного графика в системе matlab. Смотреть фото что необходимо сделать перед построением трехмерного графика в системе matlab. Смотреть картинку что необходимо сделать перед построением трехмерного графика в системе matlab. Картинка про что необходимо сделать перед построением трехмерного графика в системе matlab. Фото что необходимо сделать перед построением трехмерного графика в системе matlab

Пусть по оси x задан вектор

а по оси y диапазон

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

[ X, Y ] = meshgrid( u, v )

Вычислим теперь на полученной прямоугольной сетке значение функции exp:

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

что необходимо сделать перед построением трехмерного графика в системе matlab. Смотреть фото что необходимо сделать перед построением трехмерного графика в системе matlab. Смотреть картинку что необходимо сделать перед построением трехмерного графика в системе matlab. Картинка про что необходимо сделать перед построением трехмерного графика в системе matlab. Фото что необходимо сделать перед построением трехмерного графика в системе matlab

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

plot3( x, y, z )

Следующий пример позволяет построить винтовую линию:

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

x = sin( t );

y = cos( t );

plot3( x, y, t );

grid on

что необходимо сделать перед построением трехмерного графика в системе matlab. Смотреть фото что необходимо сделать перед построением трехмерного графика в системе matlab. Смотреть картинку что необходимо сделать перед построением трехмерного графика в системе matlab. Картинка про что необходимо сделать перед построением трехмерного графика в системе matlab. Фото что необходимо сделать перед построением трехмерного графика в системе matlab

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

Кроме этой простейшей функции построения графиков в MATLAB есть набор инструментов, позволяющий сделать отображаемые объекты более наглядными. Это функции mesh, surf и surfl.

Функция mesh соединяет вычисленные соседние точки поверхности графика отрезками прямых и показывает в графическом окне системы MATLAB плоскую проекцию такого объёмного «каркасно-ребристого» ( по-английски зовётся wireframe mesh) тела. Вместо ранее показанного при помощи функции plot3 графика функции

Mesh соединяет соседние вычислительные точки отрезками, причем невидимые линии при отображении скрываются. Если же такие линии для отображения необходимы, нужно воспользоваться командой.

Для примера рассмотрим использование функции mesh в случае построения того же графика функции

что необходимо сделать перед построением трехмерного графика в системе matlab. Смотреть фото что необходимо сделать перед построением трехмерного графика в системе matlab. Смотреть картинку что необходимо сделать перед построением трехмерного графика в системе matlab. Картинка про что необходимо сделать перед построением трехмерного графика в системе matlab. Фото что необходимо сделать перед построением трехмерного графика в системе matlab

позволяет получить следующее изображение, представляющее собой поверхность, а не набор линий.

что необходимо сделать перед построением трехмерного графика в системе matlab. Смотреть фото что необходимо сделать перед построением трехмерного графика в системе matlab. Смотреть картинку что необходимо сделать перед построением трехмерного графика в системе matlab. Картинка про что необходимо сделать перед построением трехмерного графика в системе matlab. Фото что необходимо сделать перед построением трехмерного графика в системе matlab

Раскрашивание отдельных элементов поверхности в этом случае производится автоматически. Если же раскрасить их необходимо по-другому, лучше всего воспользоваться функцией surfl.

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

colormap( copper ) ,

то есть набор цветов (colormap), соответствующий меди (copper), то после вызова функции

surfl( X, Y, Z )

мы получим следующий график:

что необходимо сделать перед построением трехмерного графика в системе matlab. Смотреть фото что необходимо сделать перед построением трехмерного графика в системе matlab. Смотреть картинку что необходимо сделать перед построением трехмерного графика в системе matlab. Картинка про что необходимо сделать перед построением трехмерного графика в системе matlab. Фото что необходимо сделать перед построением трехмерного графика в системе matlab

Убрать черные линии и добиться более лпавного света позволяет команда

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *