Другой пример (рис. 8.44) иллюстрирует построение на одном графике двух объемных фигур, одна из которых находится внутри другой фигуры. Этот пример демонстрирует достаточно корректное построение вложенных фигур.
Рис. 8.44. Построение двух объемных фигур
На рис. 8.45 показано совместное построение двух пересекающихся кубов и сферы в пространстве. Нетрудно заметить, что графика пакета приблизительно (с точностью до сегмента) вычисляет области пересечения фигур. С помощью контекстно-зависимого меню правой кнопки мыши (оно показано на рис. 8.45) можно устанавливать условия обзора фигур, учитывать перспективу при построении и т.д. В частности, фигуры на рис. 8.45 показаны в перспективе.
Рис. 8.45. Примеры применения примитивов трехмерной графики пакета plottools
Построение еще одной забавной трехмерной фигуры — «шкурки ежа» — демонстрирует рис. 8.46. В основе построения лежит техника создания полигонов.
Рис. 8.46. Построение трехмерной фигуры — «шкурки ежа»
Построение фигур, очень напоминающих улитки, показано на рис. 8.47. При построении этих фигур используется функция tubeplot. Обратите внимание на то, что строятся две входящие друг в друга «улитки».
Рис. 8.47. Построение фигур — «улитки»
Наконец, на рис. 8.48 показано построение фигуры — бутылки Клейна. Фигура задана рядом своих фрагментов, определенных в процедуре cleinpoints. Эта процедура является еще одним наглядным примеров программирования графических построений с помощью Maple-языка.
Рис. 8.48. Построение фигуры «бутылка Клейна»
С другими возможностями этого пакета читатель теперь справится самостоятельно или с помощью данных справочной системы. Много примеров построения сложных и красочных фигур с применением пакета plottools можно найти в Интернете на сайте фирмы Maple Software, в свободно распространяемой библиотеке пользователей системы Maple и в книгах по этой системе.
8.7.6. Построение графиков из множества фигур
В ряде случаев бывает необходимо строить графики, представляющие собой множество однотипных фигур. Для построения таких графиков полезно использовать функцию повторения seq(f,i=a..b). На рис. 8.49 показано построение фигуры, образованной вращением прямоугольника вокруг одной из вершин.
Рис. 8.49. Построение фигуры, образованной вращением прямоугольника
В этом примере полезно обратить внимание еще и на функцию поворота фигуры — rotate. Именно сочетание этих двух функции (мультиплицирования и поворота базовой фигуры — прямоугольника) позволяет получить сложную фигуру, показанную на рис. 8.49.
8.7.7. Анимация двумерной графики в пакете plottols
Пакет plottools открывает возможности реализации анимационной графики. Мы ограничимся одним примером анимации двумерных графиков. Этот пример представлен на рис. 8.50. В этом примере показана анимационная иллюстрация решения дифференциального уравнения, описывающего незатухающий колебательный процесс. Строится качающийся объект — стрелка с острием вправо, решение дифференциального уравнения в виде синусоиды и большая стрелка с острием влево, которая соединяет текущую точку графика синусоиды с острием стрелки колеблющегося объекта.
Рис. 8.50. Пример анимации двумерной графики
Этот пример наглядно показывает возможности применения анимации для визуализации достаточно сложных физических и математических закономерностей. Перспективы применения системы Maple 9.5 в создании виртуальных физических и иных лабораторий трудно переоценить. Хотя большие возможности в этой области представляет СКМ MATLAB с пакетом расширения Simulink.
Читать дальше
Конец ознакомительного отрывка
Купить книгу