Создание массивов данных для трехмерной графики — КиберПедия 

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

Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...

Создание массивов данных для трехмерной графики

2017-10-01 360
Создание массивов данных для трехмерной графики 0.00 из 5.00 0 оценок
Заказать работу

Трехмерные поверхности описываются функцией двух переменных z = f (x, y). Построение трехмерных графиков требует определение для х и у двухмерных массивов – матриц. Для создания таких массивов служит функция meshgrid, которая записывается следующим образом:

[X, Y] = meshgrid (x, y);

 

В основном она используется совместно с функциями построения графиков трехмерных поверхностей. Функция преобразует область заданную векторами х и у, в массивы X и Y, которые могут быть использованы для вычисления функции двух переменных и построения трехмерных графиков. Строки выходного массива Х являются копиями вектора х, а столбцы Y – копиями вектора у.

Пример:

>> [X Y] = mesh grid (4: 7, 9: 13)
Х =  
    4 5 6 7 4 5 6 7 4 5 6 7 4 5 6 7 4 5 6 7
Y =  
    9 9 9 9 10 10 10 10 11 11 11 11 12 12 12 12 13 13 13 13

 

Приведем еще пример применения функции meshgrid:

>> [X Y] = meshgrid (- 1: 0.1: 1, -1: 0.1: 1);

Такой вызов функции создает опорную плоскость для построения трехмерной поверхности при изменении х и у от – 1 до 1 с шагом 0.1.

 

1.6.4. Построение графиков поверхностей

Для построения графиков функции z = f (x, y) используется команды plot 3 (…), которая является аналогом команды plot (…). Она строит аксонометрическое изображение трехмерной поверхности и имеет следующие формы:

рlot 3 (х, у, z) – строит массив точек, представленных векторами х, у, z и соединяет их отрезками прямых.

рlot 3 (X, Y, Z), где X, Y, Z – три матрицы одинакового размера, строит точки с координатами X(i,:), Y(i,:) и Z(i,:) и соединяет их отрезками прямых. Пример построения графика трехмерной поверхности Z = x2 + y2:

>> [X Y]=meshgrid([-3:0.15:3]);

>> Z=X.^2 + Y.^2;

>> plot3(X,Y,Z)

>> grid on

рlot 3 (X, Y, Z, S) – обеспечивает построение графика поверхности, но со спецификацией стиля линий и точек, соответствующей спецификации команды plot.

 

 

Построение графиков поверхностей

· plot3(X,Y,Z), где X, Y и Z — три матрицы одинакового размера, строит точки с координатами X(i.:), Y(i,:) и Z(i,:) и соединяет их отрезками прямых.

>> x=-3:0.15;3;

>> y=-3:0.15:3;

>> z=x.^2+y.^2;

>> plot3(x,y,z);

>> [x,y]=meshgrid(x,y);

>> plot3(x,y,z);

 

 

MESHGRID

>> [x,y]=meshgrid(-5:0.1:5);

>> z=x.*sin(x+y);

>> meshc(x,y,z);

 

 

 

Here are some examples of surface plots in MATLAB.

Contents

Mesh Plot of Peaks

Surface Plot of Peaks

Surface Plot (with Shading) of Peaks

Contour Plot of Peaks

Quiver

Slice

Mesh Plot of Peaks

z=peaks(25);

mesh(z);

colormap(hsv)

 

 

Surface Plot of Peaks

z=peaks(25);

surf(z);

colormap(jet);

 

 

 

Surface Plot (with Shading) of Peaks

z=peaks(25);

surfl(z);

shading interp;

colormap(pink);

 

 

 

Contour Plot of Peaks

z=peaks(25);

contour(z,16);

colormap(hsv)

 

 

Quiver

x = -2:.2:2;

y = -1:.2:1;

[xx,yy] = meshgrid(x,y);

zz = xx.*exp(-xx.^2-yy.^2);

[px,py] = gradient(zz,.2,.2);

quiver(x,y,px,py,2);

 

 

Slice

[x,y,z] = meshgrid(-2:.2:2,-2:.25:2,-2:.16:2);

v = x.*exp(-x.^2-y.^2-z.^2);

xslice = [-1.2,.8,2]; yslice = 2; zslice = [-2,0];

slice(x,y,z,v,xslice,yslice,zslice)

colormap hsv

 

 

D Surface Plots

 

>>graf3d

 


Поделиться с друзьями:

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.011 с.