Галерея трехмерной графики
Для знакомства с возможностями трехмерной графики и построением пользовательского интерфейса MATLAB имеет галерею (Gallery) в виде профессионально выполненных графических программ. Доступ к ним возможен как из режима демонстрации (команда Examples and Demos в меню Help командного окна MATLAB), так и путем запуска команды из командной строки с указанием имени соответствующего файла.
Галерея представлена фигурами и файлами, список которых приведен в табл. 7.1.
Таблица 7.1. Состав галереи трехмерной графики MATLAB
| 
 
  | 
|||
| 
 
  | 
|||
| 
 
  | 
   Knot   | 
   Knot.m   | 
   Завязанный            узел   | 
| 
 
  | 
   Quiver   | 
   Quivdemo.            m   | 
   Векторное            объемное поле   | 
| 
 
  | 
   Klein            II   | 
   Kleinl.            m   | 
   Объемное            кольцо   | 
| 
 
  | 
   Cruller   | 
   Cruller.m   | 
   Объемное            кольцо Мебиуса   | 
| 
 
  | 
   Hoops   | 
   Tory4.m   | 
   Четыре            объемных обруча   | 
| 
 
  | 
   Slosh   | 
   Spharm2.m   | 
   Построение            фигуры, напоминающей улитку   | 
| 
 
  | 
   Modes   | 
   Modes.            m   | 
   Демонстрация            фаз анимации трехмерной поверхности   | 
| 
 
  | 
   Logo   | 
   Logo.m   | 
   Построение            логотипа системы MATLAB   | 
Обратите внимание на то, что иногда имя файла не совпадает с именем фигуры в галерее. Некоторые из фигур галереи мы уже описывали — это knot (см. рис. 4.4) и logo . Ниже приведено еще несколько примеров, которые дают наглядное представление о возможностях дескрипторной графики системы MATLAB.
Полезно обратить внимание на то, что в этом примере сам по себе график — двумерный. Объемный вид поверхности достигается сочетанием функциональной окраски с изображением графика векторного поля с помощью стрелок.
Команда kleinl строит график объемной ленты Мебиуса с одним перекручиванием. Этот график хорошо иллюстрирует хотя и одноцветную, но функциональную закраску фигуры с имитацией ее освещения источником света, расположенным вверху справа, и реализацией эффектов отражения света.
Команда cruller строит объемное кольцо Мебиуса с двойным перекручиванием. В данном случае используется обычная функциональная окраска с сохранением линий каркаса фигуры.
Команда tory4 строит четыре переплетающихся друг с другом тора (объемных кольца) в пространстве (рис. 7.25). Наглядности этой картины также способствует функциональная окраска торов и видимые линии каркаса. Обратите внимание, что невидимые линии удалены.
Любопытную фигуру, напоминающую раковину улитки, строит команда spharm2. Здесь интересно применение многоцветной функциональной окраски с использованием интерполяции по цвету, а также имитация эффектов отражения при освещении фигуры источником точечного света. Отчетливо видны зеркальные блики на поверхности фигуры.
Еще одна команда — modes — иллюстрирует построение фаз анимации поверхности . Она генерирует 12 фигур, отражающих положение поверхности в пространстве в различные моменты времени.
В целом указанный набор программ дает хорошее представление о возможностях трехмерной графики системы MATLAB. Команда type name, где name — имя соответствующей команды, выводит полный листинг программы, реализующей построение той или иной фигуры.