Трехмерная графика с треугольными плоскостями
К числу специальных видов графики относится построение объемных фигур с помощью плоских треугольников. Для построения таких фигур в виде каркаса (без окраски и отображения плоскостей) используется команда trimesh:
trimesh(TRI,X,Y,Z,C) — построение объемной каркасной фигуры с треугольниками, специфицированными матрицей поверхности TRI, каждая строка которой содержит три элемента и задает одну треугольную грань путем указания индексов, по которым координаты выбираются из векторов X, Y, Z. Цвета ребер задаются вектором С;
trimesh(TRI.X.Y.Z) — построение, аналогичное предшествующему при C=Z, т. е. с цветом ребер, зависящим от значений высоты;
H=trimesh(...) — строит график и возвращает дескрипторы графических объектов;
trimesh(..., 'param'. 'value'. 'param', 'value'...) — добавляет значения 'value' для параметров 'param'.
Рис. 6.54. Одна из объемных фигур, построенных командой trimesh
Следующий пример иллюстрирует применение команды trimesh для построения случайной объемной фигуры, параметры которой задаются с помощью генератора случайных чисел:
» х = rand(1,40);
» у = rand(1,40);
» z = sin(x.^y);
» tri = delaunay(x,y);
» tnmesh(tri .x.y.z)
Рис. 6.55. Один из рисунков, построенных командой trisurf
Одна из построенных фигур показана на рис. 6.54. Другая, абсолютно аналогичная, по заданию входных параметров команда — tnsurf(...) — отличается только закраской треугольных областей, задающих трехмерную фигуру. Если в приведенном выше примере заменить функцию trimesh на trisurf, то можно получить графики, подобные приведенному на рис. 6.55.
Обратите внимание на то, что рис. 6.55 также принадлежит к множеству случайных графических построений. Поэтому возможность его буквального повторения отсутствует.