13.6.10. Построение анимационных 20-графиков
Визуализация графических построении и результатов моделирования различных объектов и явлении существенно повышается при использовании средств «оживления» (анимации) изображений.
Пакет plots имеет две простые функции для создания анимационных графиков.
Первая из этих функций служит для создания анимации графиков, представляющих функцию одной переменной х — F:
anirnate(F, х, t) или animate(F, х, t,o)
При этом параметр х задает пределы изменения по переменной х, а параметр t — пределы изменения дополнительной переменной t. Суть анимации заключается в построении серии картинок (как в мультфильме), причем каждая картинка (фрейм) связана с изменяемой во времени переменной t. Если надо явно задать число кадров N анимации, то в качестве опции о надо использовать опцию frame=N. Рис. 13.41 показывает применение функции animate.
Рис. 13.41. Первый стоп-кадр анимации.
В документе рис. 13.41 строятся две функции — не создающая анимации функция sin(x) и создающая анимацию функция sin(i*x)/(i*x), причем в качестве переменной t задана переменная i. Именно ее изменение и создает эффект анимации.
При исполнении функции animate и выделении полученного графика появляется панель проигрывания анимационных клипов. Она имеет кнопки управления с обозначениями, принятыми у современных магнитофонов. Пустив кнопку пуска (с треугольником, острием обращенным вправо), можно наблюдать изменение вида кривой для функции sin(i*x)/(i*x).
К сожалению, картинки в книгах всегда неподвижны и воспроизвести эффект анимации трудно. Ограничимся приведением еще одного стоп-кадра (рис. 13.42).
Нетрудно заметить, что на нем показана функция sin(i*x)/(i*x) в иной фазе, чем на рис. 13.41.
Рис. 13.42. Второй стоп-кадр анимации.
Анимация графиков может найти широкое применение при создании учебных материалов. С ее помощью можно акцентировать внимание на отдельных параметрах графиков и образующих их функций.
13.6.11. Построение анимационных ЗО-графиков
Аналогичным образом может осуществляться и анимация трехмерных фигур. Для этого используется функция animate3d:
animate3d(F,x, y,t,o)
Здесь F — описание функции (или функций), х, у и t — диапазоны изменений переменных х, у и t. Для задания числа кадров N надо использовать необязательную опцию о в виде frame=N.
На рис. 13.43 показано построение анимационного графика. После задания функции, график которой строится, необходимо выделить график и запустить анимационный проигрыватель — как это описывалось для анимации двумерной графики.
На рис. 13.43 показано также контекстно-зависимое меню, которое появляется при нажатии правой клавиши мыши в момент, когда курсор ее находится в поле выделенного графика. Нетрудно заметить, что с помощью этого меню (и открываемых им подменю) можно получить доступ к опциям трехмерной графики и выполнить необходимые операции форматирования, такие, как включение цветовой окраски, выбор ориентации фигуры и т.д.
Рис. 13.43. Подготовка анимационного ЗО-графика.
13.6.12. Использование для анимации опции insequence
Еще один путь создания анимационных рисунков — создание ряда графических объектов р1, р2, рЗ и т.д. и их последовательный вывод с помощью функции:
display(pl,p2,p3,...,insequence=true) display3d(pl,p2,p3...,insequence=true)
Здесь основным моментом является применение опции insequence=true. Именно она обеспечивает вывод одного за другим серии графических объектов р1, р2, рЗ и т.д.
13.7. Графика пакета plottools 13.7.1. Состав пакета plottools
Инструментальный пакет графики plottools служит для создания графических примитивов, строящих элементарные геометрические объекты на плоскости и в пространстве: отрезки прямых и дуг, окружности, конусы, кубики и т.д. Его применение позволяет разнообразить графические построения и строить множество графиков специального назначения. В пакет входят следующие графические примитивы:
arc arrow circle cone cuboid curve cutin cutout cylinder disk dodecahedron ellipse ellipticArc hemisphere hexahedron hyperbola icosahedron line octahedron pieslice point polygon rectangle semitorus sphere tetrahedron torus
Вызов примитивов пакета осуществляется после загрузки пакета в память ПК командой with(plottools). Обычно примитивы используются для задания графических объектов, которые затем выводятся функцией display. Возможно, применение этих примитивов совместно с различными графиками.
13.7.2. Примеры применения примитивов пакета plottools
Большинство примитивов пакета plottools имеет довольно очевидный синтаксис. Например, для задания дуги используется примитив
агс(с, г, а..Ь, ...),
где с — список с координатами центра окружности, к которой принадлежит дуга, г — радиус этой окружности, а..Ь — диапазон углов. На месте многоточия могут стоять обычные опции, задающие цвет дуги, толщину ее линии и т.д. Все формы записи графических примитивов и их синтаксис можно найти в справочной системе.
На рис. 13.44 показано применение нескольких примитивов двумерной графики для построения дуги, окружности, закрашенного красным цветом эллипса и отрезка прямой. Кроме того, на графике показано построение синусоиды. Во избежание искажений пропорций фигур надо согласовывать диапазон изменения переменной х.
Рис. 13.44. Примеры применения примитивов 20-графики пакета plottools.
Аналогичным образом используются примитивы построения трехмерных фигур. На рис. 13.45 показано совместное построение двух пересекающихся кубов и сферы в пространстве. Нетрудно заметить, что графика пакета приблизительно (с точностью до сегмента фигур) вычисляет области пересечения фигур. С помощью контекстно-зависимого меню правой клавиши мыши (рис. 13.45) можно устанавливать условия обзора фигур, учитывать перспективу при построении и т.д. В частности, фигуры на рис. 13.45 показаны в перспективе.
Рис. 13.45. Примеры применения примитивов 30-графики пакета plottools.
С другими возможностями этого пакета читатель теперь справится самостоятельно или с помощью данных справочной системы.
13.7.3. Построение графиков из множества фигур
В ряде случаев бывает необходимо строить графики, представляющие собой множество однотипных фигур. Для построения таких графиков полезно использовать функцию повторения seq(f,i=a..b). На рис. 13.46 показано построение фигуры, образованной вращением прямоугольника вокруг одной из вершин.
Рис. 13.46. Построение фигуры, образованной вращением прямоугольника.
В этом примере полезно обратить внимание еще и на функцию поворота фигуры — rotate. Именно сочетание этих двух функций (мультиплицирования и поворота базовой фигуры — прямоугольника) позволяет получить сложную фигуру, показанную на рис. 13.46.
... для работы с графикой. Также на этом же рисунке отображено контекстное меню, появляющееся при щелчке правой кнопкой мыши, когда указатель расположен в области графического вывода. При выделении двумерной графики на рабочем листе меню Insert, Spreadsheet и Options, находящиеся в строке основного меню, заменяются новыми Style, Legend. Axes, Projection, Animation и Export, которые позволяют изменить ...
... Windows будем подразумевать операционные системы Windows 95 и Windows NT, имеющие практически идентичный интерфейс пользователя. С точки зрения работы в них системы MathCAD 7. 0 разницы между этими операционными системами нет. 1. 2. Инсталляция и запуск системы Системы MathCAD 7. 0 PRO поставляются на CD-ROM (возможна поставка минимальных версий и на 3, 5-дюймовых дискетах). При этом полная ...
... размечают в логарифмическом масштабе, где изменение частоты в 10 раз называется декадой, амплитуду откладывают в децибелах и фазу q в градусах. 1.4 Анализ устойчивости непрерывных и дискретных систем Системы стабилизации должны обеспечивать устойчивость и заданную точность регулирования отклонений углов и координат центра масс ЛА от программных значений. При этом могут налагаться ограничения ...
... (5.16) Непосредственное использование оценок погрешности (5.4), (5.8) и (5.12) неудобно, так как при этом требуется вычисление производных функции f(x). В вычислительной практике используются другие оценки. Вычтем из равенства (5.15) равенство (5.16): Ih/2 – Ih » Chk(2k – 1). (5.17) Учитывая приближенное равенство (5.16), получим следующее приближенное ...
0 комментариев