Чтение онлайн

ЖАНРЫ

Maple 9.5/10 в математике, физике и образовании

Дьяконов Владимир Павлович

Шрифт:

Среди этих функций надо отметить, прежде всего, средства построения графиков ряда новых типов (например, графиков в комплексной плоскости, в виде линий равного уровня, векторных полей и т.д.), а также средства объединения различных графиков в один. Особый интерес представляют две первые функции, обеспечивающие анимацию как двумерных (animate), так и трехмерных графиков (animate3d). Этот пакет вполне заслуживает описания в отдельной книге. Но, учитывая ограниченный объем данной книги, мы рассмотрим лишь несколько характерных примеров его применения. Заметим, что для использования приведенных функций нужен вызов пакета, например, командой with(plots)

8.5.2. Построение графиков функций в полярной системе координат

В

пакете plots есть функция для построения двумерных (2D) графиков в полярной системе координат. Она имеет вид polarplot(L,o), где L — объекты для задания функции, график которой строится, и о — необязательные параметры. На рис. 8.23 сверху представлен пример построения графика с помощью функции polarplot.

Рис. 8.23. Графики, построенные с помощью функций polarplot и implicitplot

В первом примере для большей выразительности опущено построение координатных осей, а график выведен линией удвоенной толщины. График очень напоминает лист клена, весьма почитаемого в Канаде и ставшего эмблемой СКМ Maple.

8.5.3. Импликативная графика

В математике часто встречается особый тип задания геометрических фигур, при котором переменные х и у связаны неявной зависимостью. Например, окружность задается выражениемх²+y²=R², где R — радиус окружности. Для задания двумерного графика такого вида служит функция импликативной графики:

implicitplot(eqn,х=а..b,у=с..d,options)

Пример построения окружности с помощью этой функции показан на рис. 8.23 снизу. Ниже мы рассмотрим подобную функцию и для трехмерного графика.

8.5.4. Построение графиков линиями равного уровня

Графики, построенные с помощью линий равного уровня (их также называют контурными графиками) часто используются в картографии. Эти графики получаются, если мысленно провести через трехмерную поверхность ряд равноотстоящих плоскостей, параллельных плоскости, образованной осями X и Y графика. Линии равных высот образуются в результате пересечения этих плоскостей с трехмерной поверхностью.

Для построения таких графиков используется функция contourplot, которая может использоваться в нескольких форматах:

contourplot(expr1, х=а..b, у=с..d)

contourplot(f,a..b,c..d)

contourplot([exprf,exprg,exprh],s=a..b,t=c..d)

contourplot([f,g,h],a..b,c..d)

contourplot3d(expr1,x=a..b,y=c..d)

contourplot3d(f,a..b,c..d)

contcurplot3d([exprf, exprg, exprh], s=a..b, t=c..d)

contourplot3d([f,g,h],a..b,c..d)

Здесь f, g и h — функции; expr1 — выражение, описывающее зависимость высоты поверхности от координат x и y: exprf, exprg и exprh — выражения, зависящие от s и t, описывающие поверхность в параметрической форме; а и b — константы вещественного типа; c и d — константы или выражения вещественного типа; х, у, s и t — имена независимых переменных.

На рис. 8.24 показано построение графика линиями равного уровня для одной функции. Параметр filled=true обеспечивает автоматическую функциональную окраску замкнутых фигур, образованных линиями равного уровня. Порою это придает графику большую выразительность, чем при построении только линии равного

уровня.

Рис. 8.24. Пример построения графика функции линиями равного уровня

К сожалению, в данном варианте окраски сами контурные линии получаются черными и их невозможно отличить. Однако если убрать параметр filled=true, то контурные линии (и линии легенды) будут иметь разный цвет и легко различаться. Оцифровка линий контурного графика, увы, не предусмотрена.

Функция contourplot позволяет строить и графики ряда функции. Пример такого построения показан на рис. 8.25. Множество окружностей на этом рисунке создается четырьмя поверхностями, заданными функциями с1, с2, c3 и с4.

Рис. 8.25. Пример построения графиков многих функций линиями равного уровня

Обратите внимание, что на многих графиках Maple по умолчанию вписывает легенду, то есть список линий с обозначениями. Иногда (как, например, на рис. 8.25), этот список оказывается просто некстати. Легенду можно убрать, расширив заодно место для графика, сняв флажок Show Legend в контекстном меню Legend правой клавиши мыши (это меню видно на рис. 8.25). Заодно запомните, что легенду можно редактировать, выполнив команду Edit Legend.

Следует отметить, что хотя графики в виде линий равного уровня выглядят не так эстетично и естественно, как обычные графики трехмерных поверхностей (ибо требуют осмысления результатов), у них есть один существенный плюс — экстремумы функций на таких графиках выявляются порой более четко, чем на обычных графиках. Например, небольшая возвышенность или впадина за большой «горой» на обычном графике может оказаться невидимой, поскольку заслоняется «горой». На графике линий равного уровня этого эффекта нет. Однако выразительность таких графиков сильно зависит от числа контурных линий.

8.5.5. График плотности

Иногда поверхности отображаются на плоскости как графики плотности — чем выше высота поверхности, тем плотнее (темнее) окраска. Такой вид графиков создается функцией densityplot. Она может записываться в двух форматах:

densityplot(expr1, х=а..b,у=с..d)

densityplot(f,a..b,c..d)

где назначение параметров соответствует указанному выше для функции contourplot.

На рис. 8.26 (верхняя часть) дан пример построения графика такого типа. Нетрудно заметить, что в плоскости XY график разбит на квадраты, плотность окраски которых различна. В нашем случае плотность окраски задается оттенками серого цвета.

Рис. 8.26. Графики плотности и поля векторов

Обычно графики такого типа не очень выразительны, но имеют свои области применения. К примеру, оттенки окраски полупрозрачной жидкости могут указывать на рельеф поверхности дна емкости, в которой находится эта жидкость.

8.5.6. Двумерный график векторного поля

Еще один распространенный способ представления трехмерных поверхностей — графики полей векторов. Они часто применяются для отображения полей, например электрических зарядов. Особенность таких графиков в том, что для их построения используют стрелки, направление которых соответствует направлению изменения градиента поля, а длина — значению градиента. Так что термин «поле векторов» надо понимать в смысле, что поле графика заполнено векторами.

Поделиться с друзьями: