И другие программы этой серии
Цвет точек сечений определяется трехмерной интерполяцией в объемной фигуре V.
• slice(X,Y,Z,V,XI,YI,ZI) строит сечения объемной фигуры V по поверхности, определенной массивами XI, YI, ZI.
• slice(V,Sx,Sy,Sz) или slice(V,XI,YI,ZI) – подразумевается X=1:N, Y=1:M, Z=1:P.
• slice(…,\'method\') – при построении задается метод интерполяции, который может быть одним из следующих: \'linear\', \'cubic\' или \'nearest\'. По умолчанию используется линейная интерполяция – \'linear\'.
• H=slice(…) строит сечение и возвращает дескриптор объекта класса surface.
% Программа построения графика функции трех переменных [x,y,z] = meshgrid(-2:.2:2, -2:.25:2, -2:.16:2); v = sin(x) .* exp(-x.^2 – y.^2 – z.^2); slice(x,y,z,v,[-1.2 .8 2],2,[-2 -.2])
График, который строит эта программа, показан на рис. 6.30.
Рис. 6.30. График, показывающий сечения трехмерной поверхности
310 Программные средства обычной графики Улучшенные средства визуализации 3D-графики 311
6.5.6. График трехмерной слоеной поверхности
Иногда бывают полезны графики трехмерных слоеных поверхностей, как бы состоящие из тонких пластинок – слоев. Такие поверхности строит функция waterfall (водопад):
• waterfall(…)строит поверхность как команда mesh(…), но без показа ребер сетки. При ориентации графика относительно столбцов следует использовать запись waterfall(Z’) или waterfall(X\',Y\',Z\'). Пример:
% Программа построения графика слоенной поверхности
[X,Y]=meshgrid([-3:0.1:3]);
Z=sin(X)./(X.^2+Y.^2+0.3);
waterfall(X,Y,Z);
colormap(gray);
shading interp
Соответствующий график показан на рис. 6.31.
6.5.7. Трехмерные контурные графики
Трехмерный контурный график представляет собой расположенные в пространстве линии равного уровня, полученные при расслоении трехмерной фигуры рядом секущих плоскостей, расположенных параллельно опорной плоскости фигу-
ры.
Начало в части 1