Построение 3D-параметрических графиков — ParametricPlot3D
Трехмерные графики с параметрически заданными функциями, описывающими положение их точек, относятся к числу наиболее сложных, но в то же время весьма эффектных. В подпакете ParametricPlotSD определены функции, упрощающие подготовку таких графиков:
Рис. 14.60. Пример построения сферы с вырезом с помощью функции ParametricPlot3D
Обратите внимание на то, что выбором диапазона изменения углов можно получить вырез сферы. Окраска поверхности осуществляется автоматически.
На рис. 14.61 показан пример применения функции PointParametricPlotSD. Здесь сфера построена отдельными точками.
Для построения трехмерных поверхностей в сферической и цилиндрической системах координат служат следующие функции:
На рис. 14.62 показано построение усеченной сверху сферы с помощью функции SphericalPlot3D. Нетрудно заметить, что применение данной функции — самый простой способ построения сферы. Это естественно, поскольку система координат сферическая.
Риc. 14.61. Пример построения сферы точками
Рис. 14.62. Пример построения сферы с помощью функции SphericolPlot3D
Пример построения поверхности, напоминающей по виду «тарелку» спутниковой антенны, в цилиндрической системе координат дан на рис. 14.63.
С помощью опции Viewpoint можно изменять положение точки, с которой рассматривается фигура. Это существенно меняет ее вид (рис. 14.64).
Еще раз напоминаем, что интерфейс Mathematica предусматривает изменение точки просмотра уже построенной фигуры. При этом Mathematica 4 позволяет вращать фигуру мышью. Рекомендуется просмотреть список опций данных функций, позволяющих в широких пределах менять вид и стиль построения графиков.
Рис. 14.63. Пример построения поверхности в цилиндрической системе координат
Рис. 14.64. Пример построения фигуры, видимой из заданной точки просмотра
Представление полей на плоскости — PlotField
В подпакете PlotField имеются функции, позволяющие строить стрелками графики полей:
Рисунок 14.65 показывает применение функции PlotVectorField для построения векторного поля согласно параметрически заданной на плоскости функции.
Риc. 14.65. График векторного поля на плоскости
Еще один пример (рис. 14.66), иллюстрирует построение градиента поля с помощью функции PlotGradientField. Применение функции PlotHamiltonianField демонстрирует рис. 14.67.
Указанные функции имеют множество опций. Отметим основные из них (в качестве значений приведены значения по умолчанию):
Рис. 14.66. График градиента поля
Риc. 14.67. Пример применения функции PlotHamiltonianField
Пример построения сложного графика с применением шестнадцати узловых точек по каждому направлению и использованием опции ScaleFunction показан на рис. 14.68.
Работу функции PlotPolyaField поясняет рис. 14.69. Обратите внимание на то, что функция в данном случае комплексная.
Рис. 14.68. Пример графика поля с применением нескольких опций
Рис. 14.69. Пример графика поля для комплексной функции
Применение опций позволяет строить самые разнообразные графики различных полей — тепловых, гравитационных, электрических и др.
В подпакете PlotField есть еще одна функция, представляемая в двух формах:
Применение этой функции поясняет график, представленный на рис. 14.70.
Рис. 14.70. Пример построения графика векторного поля с помощью функции ListPlotVectorField
Приведенных примеров вполне достаточно, чтобы судить о возможностях подпа-кета PlotField. В справочной базе данных можно найти другие примеры построения графиков векторных полей.
Представление полей в пространстве — PlotField3D
Для представления векторных полей в пространстве служат функции подпакета PlotField3D:
Эти функции подобны описанным в предшествующем разделе, но используются для построения векторных полей не на плоскости, а в пространстве. Рисунок 14.71 показывает пример такого построения.
Как видно из рис. 14.71, векторное поле строится отрезками прямых, а не стрелками. Последнее связано с тем, что по умолчанию задана опция VectorHeads-> False. Изменив ее на VectorHeads->True, можно получить представление векторного поля направленными стрелками. Кроме того, используя опцию Plot-Points->n, можно получить заданное число стрелок п по всем направлениям графика. Все это учтено на графике, представленном на рис. 14.72.
Рис. 14.71. Пример построения графика векторного поля в пространстве отрезками прямых
Рис. 14.72. Пример построения графика градиента поля направленными стрелками
В подпакете PlotFieldSD имеется еще одна функция:
Рисунок 14.73 поясняет применение этой функции.
Рис. 14.73. Пример построения графика векторного поля функцией ListPlotVectorReld3D
Нетрудно заметить, что при большом числе векторов в пространстве графики этого типа теряют наглядность. Рекомендуется тщательно отлаживать их, используя весь набор опций (как его получить, описывалось неоднократно).