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

Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

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

2017-10-01 344
Создание массивов данных для трехмерной графики 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.013 с.