И другие программы этой серии
6.53 показан результат построения цилиндра для данного примера:
6.9.2. Построение сферы
Для расчета массивов X, Y и Z координат точек сферы как трехмерной фигуры используется функция sphere:
• [X,Y,Z]=sphere(N) генерирует матрицы X, Y и Z размера (N+1)×(N+1) для последующего построения сферы с помощью команд surf(X,Y,Z) или surfl(X,Y,Z);
• [X,Y,Z]=sphere аналогична предшествующей функции при N=20. Пример применения этой функции:
>> [X,Y,Z]=sphere(30); surfl(X,Y,Z)
На рис. 6.54 показана построенная в этом примере сфера. Хорошо видны геометрические искажения (сфера приплюснута), связанные с разными масштабами по координатным осям.
Рис. 6.53. Построение цилиндра
Рис.6.54. Построение сферы
Естественность воспроизведения цилиндра существенно зависит от графической команды, используемой для его построения. Команда surf дает возможность задать функциональную окраску с цветом, определяемым вектором X, что делает представление цилиндра достаточно наглядным.
Обратите внимание на то, что именно функциональная окраска сферы придает ей довольно реалистичный вид. В данном случае цвет задается вектором Z.
338
Программные средства обычной графики
Другие возможности графики
339
6.9.3. 3D-графика с треугольными плоскостями
К числу специальных видов графики относится построение объемных фигур с помощью плоских треугольников. Для построения таких фигур в виде каркаса (без окраски и отображения плоскостей) используется команда trimesh:
• trimesh(TRI,X,Y,Z,C) – построение объемной каркасной фигуры с треугольниками, специфицированными матрицей поверхности TRI, каждая строка которой содержит три элемента и задает одну треугольную грань путем указания индексов, по которым координаты выбираются из векторов X, Y, Z. Цвета ребер задаются вектором C;
• trimesh(TRI,X,Y,Z) – построение, аналогичное предшествующему при C=Z, то есть с цветом ребер, зависящим от значений высоты;
• H=trimesh(…) строит график и возвращает дескрипторы графических объектов;
• trimesh(…,\'param\',\'value\',\'param\',\'value\'…) добавляет значения \'value\' для параметров \'param\'.
Следующая программа иллюстрирует применение команды trimesh для построения случайной объемной фигуры, параметры которой задаются с помощью генератора случайных чисел:
% Программа построения случайной объмной фигуры
x = rand(1,40); y = rand(1,40);
z = sin(x.*y); tri = delaunay(x,y);
trimesh(tri,x,y,z)
Одна из построенных фигур показана на рис.
Начало в части 1