И другие программы этой серии
Эта документация в виде файла graphg.pdf с объемом свыше 12 Мб поставляется с системой MATLAB 6.
372
Программные средства специальной графики
Расширенная техника визуализации вычислений
373
Рис. 7.24. Трехмерная фигура с установкой свойства прозрачности
Рис.7.25. Закрашенный многоугольник, построенный командой patch
7.6. Расширенная техника визуализации вычислений
Средства дескрипторной графики позволяют реализовать весьма эффектную визуализацию сложных объектов (прежде всего трехмерных) и многих физических явлений, например таких, как струи газа и жидкости, электрические разряды и т. д. Ниже представлены краткие сведения о подобных возможностях.
7.6.1. Задание Path-объектов
Объект Patch может использоваться для построения закрашенных многоугольников (полигонов). Для этого служит специальная высокоуровневая команда Patch(xc,yc,[zc,]colordata)
В ней xc, yc и zc – массивы координат. Она может быть также задана на низком уровне, например как patch(\'XData\',sin(t),\'YData\',cos(t))
Следующая программа строит закрашенный десятиугольник с интерполяцией закраски, дающей плавные переходы цвета (рис. 7.25):
% Программа построения закрашенного 10-угольника
t = 0:pi/5:2*pi;
a = t(1:length(t)-1);
patch(sin(a),cos(a),1:length(a),\'FaceColor\',\'interp\')
colormap cool; axis equal
7.6.2. Построение среза черепной коробки человека
В MATLAB c помощью массивов могут быть заданы достаточно сложные объекты. Например, файл mri содержит массив графических данных черепной коробки человека вместе с ее «внутренностями». Название файла происходит от сокращения слов Magnetic Resonance Imaging. Таким образом, этот файл содержит пример задания изображения от медицинских приборов на основе применения магнитного резонанса – томографов.
Приведенный ниже пример показывает загрузку этого массива и выделение одного слоя из разрезанной горизонтальными плоскостями черепной коробки (рис. 7.26):
% Программа построения среза черепной коробки человека
load mri;
D = squeeze(D);
image_num = 8;
image(D(:,:,image_num))
axis image;
colormap(map)
В другом примере строятся уже несколько срезов черепной коробки (рис.
Начало в части 1