Трехмерная графика в Matlab презентация

Содержание

Построение 3D-поверхности Рассмотрим пример: построить поверхность f(x,y)=sin(r)/r, где r=sqrt(x2+y2)

Слайд 1Трехмерная графика в Matlab


Слайд 2


Слайд 3Построение 3D-поверхности
Рассмотрим пример:
построить поверхность f(x,y)=sin(r)/r, где r=sqrt(x2+y2)


Слайд 4Функция meshgrid возвращает две матрицы – X и Y – которые

определяют область построения функции
Собственно поверхность выводится функцией surfl

Слайд 5Функция meshgrid
Функция meshgrid служит для создания массивов данных для трехмерной

графики.

Слайд 6Функция meshgrid записывается в следующих формах:
[X,Y] = meshgrid(x)
аналогична [X,Y] =

meshgrid(x,x)
возвращает трехмерные массивы
[X,Y] = meshgrid(x,y)
преобразует область, заданную
векторами х и у, в массивы X и Y


Слайд 7
Пример:
[X,Y] = meshgrid(1:3,13:17)

X =
1 2

3
1 2 3
1 2 3
1 2 3
1 2 3

Y =
13 13 13
14 14 14
15 15 15
16 16 16
17 17 17



Слайд 8Функции для построения поверхностей


Слайд 9Трехмерная графика.

Для построения простых трехмерных графиков в MATLAB используется функция

plot3(), которая отличается от plot() только количеством получаемых параметров.

Пример.
>> t=0:pi/50:10*pi;
x=sin(t);
y=cos(t);
plot3(x,y,t);
grid on

Слайд 10Команда plot3

plot3(X,Y,Z) – строит поверхность в виде линий, получаемых в сечении

поверхности плоскостями, параллельными плоскости yOz.
X, Y и Z – это матрицы: X,Y – задают узлы сетки, а матрица Z – значения по оси z в этих узлах.


Слайд 11Пример построения командой plot3

[X,Y]=meshgrid([-3:0.15:3]);
Z=X.^2 + Y.^2;
plot3(X,Y,Z);


Слайд 12plot3 (X, Y, Z, S) — обеспечивает построения с учетом спецификации

стиля линий и точек S, соответствующей спецификации команды plot.
plot3 может строить на одном рисунке графики нескольких функций z1(x1,y1), z2(x2, y2) и т. д. со спецификацией линий и маркеров каждой из них.
plot3(x1,y1,z1,s1, х2,у2,z2,s2, хЗ,уЗ,z3,s3,...)


Слайд 13 цвет

стиль точек стиль линий

b синий . точка - сплошная
g зеленый o кружок : пунктирная
r красный x x-крестик -. штрихпунктирная
c циан + плюс -- штрихами
m фиолетовый * звездочка (none) без линий
y желтый s квадрат
k черный d кристалл
w белый v треугольник (вниз)
^ треугольник (вверх)
< треугольник (влево)
> треугольник (вправо)
p пятиугольник
h шестиугольник

Стиль линий и точек команд plot и plot3


Слайд 14График поверхности, построенный кружками

[X,Y]=meshgrid([-3:0.15:3]);
Z=X.^2 + Y.^2;
plot3(X,Y,Z,’o’);


Слайд 15[X,Y]=meshgrid([-3:0.15:3]);
Z=X.^2+Y.^2;
plot3(X,Y,Z,'-r',Y,X,Z,'-b')
В данном случае строятся два графика одной и той же функции

с взаимно перпендикулярными образующими линиями.

Слайд 16Сетчатые 3D-графики с окраской
Наиболее представительными и наглядными являются сетчатые графики

поверхностей с заданной или функциональной окраской. В названии их команд присутствует слово mesh.

Слайд 17Команды mesh
mesh – выводит в графическое окно сетчатую поверхность;
meshc —

помимо графика поверхности дает изображение ее проекции;
meshz — строит поверхность в виде столбиков.

Слайд 18[X,Y]=meshgrid([-3:0.15:3]);
Z=X.^2+Y.^2;
mesh(X,Y,Z);
Функциональная окраска линий поверхности заметно усиливает наглядность ее представления.


Слайд 19Оформление графика поверхности

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

получения плавного перехода цветов на освещенной поверхности, используется команда
shading interp
Для получения информации о всех свойствах графического объекта, создаваемого функцией mesh, используется команда get:

Слайд 20Пример использования команды shading interp.
Вид поверхности без использования shading interp
Вид

поверхности с использованием shading interp

Слайд 21[X,Y]=meshgrid([-3:0.15:3]);
Z=X.^2 + Y.^2;
meshc(X,Y,Z);


Слайд 22Построение поверхности столбцами
Использование суффикса z приводит к построению «графика с

пьедесталом».
Поверхность строится из многочисленных столбцов:
meshz(...)

Слайд 23[X,Y]=meshgrid([-3:0.15:3]);
Z=X.^2 + Y.^2;
meshz(X,Y,Z);


Слайд 24Дополнительные детали оформления 3D графиков

Для оформления трехмерных графиков можно использовать те

же функции, что использовались при оформлении двумерных графиков функций, рассмотренных ранее, такие как:
axis([ xmin, xmax, ymin, ymax, zmin, zmax ]), text, xlabel, ylabel, zlabel, title.
С помощью функции subplot можно разместить в одном графическом окне несколько трехмерных графиков.



Слайд 25Построение поверхности с окраской
Для построения поверхностей в виде сетчатых графиков,

использующих функциональную закраску ячеек используются команды класса surf(…).


Слайд 26Команды surf
surf — строит цветную параметрическую поверхность;
surfc – обеспечивает дополнительное

построение контурного графика проекции фигуры на опорную плоскость;
surfl – строит график цветной поверхности с подсветкой от источника света;

Слайд 27
[X,Y]=meshgrid([-3:0.1:3]);
Z=sin(X)./(X.^2+Y.^2+0.3);
surf(X,Y,Z);
shading interp;
colorbar;
В этом примере команда shading Interp обеспечивает

устранение изображения сетки и задает интерполяцию для оттенков цвета объемной поверхности, а команда colorbar выводит шкалу цветовых оттенков.

Слайд 28Для повышения наглядности представления поверхностей можно использовать дополнительный график линий равного

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

Слайд 29[X,Y]=meshgrid([-3:0.1:3]);
Z=sin(X)./(X.^2+Y.^2+0.3);
surfc(X,Y,Z);


Слайд 30Контурные графики
[X,Y]=meshgrid([-1:0.05:1]);
Z=X.^2+Y.^2;
levels=[0:0.1:0.5];
contour3(X,Y,Z,levels)
colorbar
Параметр levels
может отсутствовать,тогда число линий уровня выбирается автоматически
является просто значением
является

вектором значений

Слайд 31Контурные графики
[X,Y]=meshgrid([-1:0.05:1]);
Z=X.^2+Y.^2;
levels=[0:0.01:0.5];
contour3(X,Y,Z,levels)
colorbar



Слайд 32contour3(peaks,20);


Слайд 33Контурные графики
Разновидность контурного графика contour(X,Y,Z)
На плоскости xoy строятся линии уровня. Сам

график поверхности не строится.
В функции может стоять и 4-ый параметр, который указывает число линий уровня.

Для нанесения разметок на линии уровня используется clabel(CMatr,h)
Cmatr – матрица, содержащая информацию о линиях уровня
h – указатель на график, на который следует нанести разметку


Слайд 34contour
[X,Y]=meshgrid([-1:0.05:1]);
Z=X.^2+Y.^2;
[M,h]=contour(X,Y,Z);
clabel(M,h)


Слайд 35Цветные объемные круговые диаграммы
Для построения объемных круговых диаграмм служит команда pie3:
x

= [1 2.2 0.8 2.5 2];
pie3(x, [0 0 0 1 1])

Слайд 36MATLAB имеет несколько графических функций, возвращающих матричный образ поверхностей
peaks –

поверхность с рядом пиков и впадин
cylinder – цилиндрическая поверхность
ellipsoid – поверхность элипсоида
sphere – сферическая поверхность



Слайд 37[X1,Y1,Z1]=cylinder(10,30);
[X2,Y2,Z2]=sphere(30);
[X3,Y3,Z3]=ellipsoid(0,0,0,3.9,3.9,2.25,30);
subplot(2,2,1),surf(peaks);
subplot(2,2,2),surf(X1,Y1,Z1,X1);
subplot(2,2,3),surf(X2,Y2,Z2,X2);
subplot(2,2,4),surf(X3,Y3,Z3,X3);


Слайд 38Вывод графиков в отдельные окна
figure– окно становится текущим
clf– очистка всего

текущего окна
cla – очистить оси, заголовки и названия осей
In=figure - Создание указателя на графическое окно
figure(In) – переход к нужному окну
clf(In) – очистка нужного окна
cla(In)



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

команду меню File|Save или File|Save as. После чего на экране появится стандартный диалог сохранения.

Сохранение графических изображений

Дальше необходимо вести имя файла и выбрать расширение (тип графического файла).

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


Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

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


Для правообладателей

Яндекс.Метрика