Вы здесь

4. Специальные типы трехмерных графиков — Graphics3D

 

Специальные типы трехмерных графиков— Graphics3D

 

В подпакете Graphics3D, загружаемом командой


<<Graphics`Graphics 3D`

имеется ряд программ для простого построения трехмерных графиков. Они описаны ниже с примерами:

  • BarChart3D[ {{ zll, z!2,...},{z21, z22 },...} ] — строит трехмерную столбцовую диаграмму по наборам данных высот столбцов z 11 , z п , ... (рис. 14.37);
  • BarChart3D[ {{{zll, stylell}, {z21, style21},...} ] — строит трехмерную столбцовую диаграмму по наборам данных высот столбцов z u , z vl , ... с указанием спецификации стиля для каждого столбца.

Нетрудно заметить, что функция BarChartSD автоматически задает стиль и цвет построения столбцов диаграммы. Эта функция имеет массу опций, с помощью которых можно менять вид диаграммы (рис. 14.38). Как обычно, перечень опций можно вывести с помощью команды Options [BarChart3D].

Рис. 14.37. Построение трехмерной столбцовой диаграммы

Рис. 14.38. Вариант диаграммы с черно-белой раскраской

  • Scatter Plot 3D [{ {x1, yl, zl}, {х2, у2, z2 },...}] — строит точки в пространстве по их заданным координатам. При использовании опции Plot-Joined->True точки соединяются отрезками прямых, и строится линия в пространстве (рис. 14.39).

Рис. 14.39. Построение пространственной кривой по точкам

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

  • ListSurfacePlot3D[{ { {x11, y11, zll}, {x12, y12, z13},...} } }] - строит трехмерную поверхность по координатам ее точек-(рис. 14.40).

Рис. 14.40. Построение трехмерной поверхности по координатам ее точек

Здесь список координат точек также задаются функцией Table. Выбором диапазона изменения значений переменных х, у и z можно добиться различных эффектов, например изображения только части сферы (на рис. 14.40, к примеру, показано построение полусферы).

Следующие функции дают построения с проекциями:

  • ShadowPlot3D [f, {х, xmin, xmax}, {у, ymin, углах} ] — строит график поверхности f(z, y) с ее проекцией на опорную плоскость (рис. 14.41);
  • ListShadowPlot3D[{{ {xll, yll, zll}, {x!2, y!2, z!3},...}} }] -строит график поверхности z(x, у) с ее проекцией на опорную плоскость по координатам точек поверхности.

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

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

Рис. 14.42. Построение фигуры — пика — и ее проекции на верхнюю плоскость

С помощью функции Shadow [go], где до — графический объект, представляющий трехмерную фигуру, можно построить и более сложные рисунки — например, график объемной фигуры и сразу всех трех ее проекций на взаимно перпендикулярные плоскости. Такое построение иллюстрируется документом, показанным на рис. 14.43.

С функцией Shadow можно использовать различные опции. Отметим наиболее существенные — XShadow, YShadow и ZShadow. Например, задав Zshadow-> False, можно удалить одну из проекций, плоскость которой перпендикулярна оси z.

Для получения проекций на заданную плоскость, расположенную в пространстве, служат следующие функции:

  • Project [g,pt] — дает проекцию объекта g на плоскость, нормаль которой задана списком из трех элементов pt. Например, список {1,1,0} даст проекцию на диагональную плоскость;
  • Project[g, {e1,e2},pt] — дает проекцию объекта g в плоскости, определенной векторами {el,e2}, выходящими из точки с координатами pt (рис. 14.44);
  • Project[g, {e1, e2 } ,pt, origin] — то же, но направление проецирования определяется точками pt и origin.

В конце подпакета определена функция StackGraphics [ {gl, g2,...}], которая строит двумерные графические объекты, располагая их каскадно, то есть разнося в пространстве по третьей координате (рис. 14.45).

Рис. 14.43. Построение объемной фигуры и всех трех ее проекций

Рис. 14.44. Пример построения проекции но заданной плоскости

Обратите внимание на то, что здесь каждая синусоида расположена на своей плоскости.

Рис. 14.45. Пример построения трех синусоид, расположенных каскадно

 

Построение графиков неявных функций — ImplicitPlot

Подпакет ImplicitPlot задает три варианта функции для построения графиков неявно заданных функций:

  • ImplicitPlot [eqn, {x, xmin, xmax} ] — построение функции, неявно заданной уравнением eqn, при х, меняющемся от xmin до xmax;
  • ImplicitPlot [eqn, {x, xmin,ml,m2,..., xmax} ] — построение функции, неявно заданной уравнением eqn, при х, меняющемся от xmin до xmax с исключением точек m1, m2, ...;
  • ImplicitPlot [ {eqnl, eqn2,...}, ranges, options] — построение функций, неявно заданных уравнениями eqni, при х, меняющемся в пределах ranges и при задании опций options.

Примером может быть функция х 2 + k у 2 = r 2 , задающая построение эллипса. На рис. 14.46 показано такое построение.

Вторая форма задания функции иллюстрируется рис. 14.47. Здесь строится сразу целое семейство эллипсов.

И, наконец, на рис. 14.48 показано применение третьей формы функции ImplicitPlot с использованием опции PlotStyle и директивы Dashing.

Рис. 14.46. Построение эллипса по неявному выражению

Рис. 14.47. Построение семейства эллипсов по их уравнениям

Рис. 14.48. Пример применения функции ImplicitPlot с опцией PlotStyle

 


Top.Mail.Ru