Алгебра и пакет Mathematica 5

diffuseurshuilesessentielles.info


Графические примитивы и опции трехмерной графики



Если вместо заголовка Graphics воспользоваться заголовком Graphics3D, то можно получать трехмерные рисунки. При этом примитивы Point, Line, Text и Polygon с учетом третьей координаты переносятся на трехмерный случай.

Рисуем параллелепипед — графический примитив Cuboid

Единственным новым трехмерным примитивом является Cuboid [ {xmin, ymin, zmin], {xmax, ymax, zmax} ], с помощью которого рисуется параллелепипед, противоположные вершины которого имеют координаты (xmin, ymin, yniri) и (xmax, ymax, zmax).

Как и в двухмерном случае, рисунок создается с помощью примитивов. -

Опции трехмерной графики

Многие опции являются общими для функций двухмерной и трехмерной графики. К таким опциям относятся AspectRatio, Axes, AxesLabel, AxesStyle, Background, Color-Output, DefaultColor, DisplayFunction, Epilog, PlotLabel, PlotRange, PlotRegion и Ticks. Опишем теперь те опции, которые присущи именно функциям трехмерной графики.

Координатный параллелепипед, или коробочка, — опция Boxed

Обычно графики трехмерных объектов заключаются в коробочку. Однако от нее иногда лучше отказаться. Для этого укажите опцию Boxed->False.

Закрашивание поверхности — опция Shading

Опция Shading устанавливает или отменяет закрашивание поверхности в серый или иные цвета в зависимости от расположения соответствующего участка поверхности. Если установить Shading->False, то представление о поверхности можно получить по имеющейся на ней криволинейной сетке, образованной линиями пересечения плоскостей х = const и у = const с поверхностью.

В случае Shading->True окраска поверхности определяется высотой точки поверхности или освещением (опция Lighting->True).

Дополнительное освещение (опция Lighting), его тип (опция AmbientLight) и источники света (опция LightSources)

Опция Lighting определяет, будет ли использована искусственная подсветка двухмерной поверхности. Если установлено Lighting->True, то тип подсветки определяется опцией AmbientLight (фоновый цвет), а координаты источников света — опцией LightSources (источники света).

С помощью опции AmbientLight->GrayLevel [уровень освещения] (неотрицательное число уровень освещения не должно превышать 1) осуществляется равномерное окрашивание поверхности в серый цвет, а если установить AmbientLight->Hue [оттенок] (неотрицательное число уровень освещения не должно превышать 1), осуществляется окрашивание в указанный оттенок (цвет Hue-палитры). Можно также указать Пие[оттенок, насыщенность, яркость] (неотрицательные числа оттенок, насыщенность, яркость не должны превышать 1). Hue [h] эквивалентно Hue [h, 1, 1].

В то же время может осуществляться подсветка поверхности источниками света различной окраски, расположенными в точках с заданными координатами (х, у, г}. Вот пример.

По умолчанию сделаны установки AmbientLight->GrayLevel [0] и LightSources->{(U.,0.,1.}, RGBColor[1,0,0]}, {{l.,l.,l.}, RGBColor[0.,1.,0.]}, { {0 . ,1.,1.}, RGBColor[0.,0.,1]}

При установке Lighting->False точки поверхности с меньшими значениями координаты z подкрашиваются в более темные оттенки серого.

Точка зрения — опция ViewPoint

Опция viewEoint определяет точку зрения (называемую также центром перспективы, центром проекций или полюсом), т.е. ту точку, из которой рассматривается сцена. Иными словами, все объекты рисуются так, как они видны из этой точки. Координаты точки зрения задаются в специальной системе координат, центр которой находится в центре коробочки. Иными словами, центр коробочки в этой системе координат имеет координаты {0,0,0}. Длина единичного орта этой системы координат равна наибольшей стороне коробочки. По умолчанию задана опция ViewPoint->{l.3,-2.4,2). Часто выбираются следующие координаты точки зрения: {0, -2,0} — вид спереди (на фасад коробочки), {0, -2,2} - вид сверху спереди, {0, -2, -2} — вид снизу спереди, {-2, -2, 0} — вид из левого угла, {2, -2,0}— вид из правого угла, {0,0,2} — вид сверху. Точка зрения должна находиться вне коробочки. Чем дальше находится центр проекций от сцены, тем меньше искажения вследствие центрального проектирования. Чтобы получить представление, как изменяется рисунок при изменении точки зрения, сравните следующие два графика.



Коробочка, ее размеры (опция BoxRatios) и положение на рисунке (опции ViewCenter и ViewVertical)

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

Положение коробочки в поле, отведенном для рисунка, определяют опции ViewCenter-и ViewVertical. Если установить ViewCenter->{!/2, 1/2, 1/2}, центр коробочки будет помещен в центр рисунка. По умолчанию установлено View-Center->Automatic, при этом центр коробочки находится в центре рисунка. Координаты центра коробочки могут принимать значения от 0 до 1.

Опция viewVertical указывает направление, которое будет считаться вертикальным в окончательном рисунке. Настройка по умолчанию ViewVertical->{0, 0, 1} определяет, что в основной' системе координат вертикальной осью будет ось аппликат (ось z)- Координаты вектора, указывающего вертикальное направление, могут принимать значения от 0 до 1. Ниже одна и та же поверхность изображена в разных положениях.



Сетка — опция Mesh

Иногда криволинейная сетка линий мешает рассмотреть поверхность. Чтобы убрать сетку, установите Mesh->False.

Раскраска гор и впадин — опция ColorFunction

Интенсивность и цвет точки на поверхности зависят от ее координаты z и определяются опцией ColorFunction. По умолчанию ее значение равно Automatic.

Отображение отсекаемых частей — опция ClipFill

Если значение функции в какой-то области выходит за диапазон, указанный в опции PlotRange, часть поверхности отсекается. Опция ClipFill определяет, как будут отображаться плоскости отсечения. Если установить dipFill->Automatic, то плоскости отсечения будут отображаться так же, как и сама поверхность. Иными словами, те части поверхности, которые выходят за диапазон, указанный в опции PlotRange, заменяются частями отсекающих плоскостей. Части отсекающих плоскостей как бы становятся крышей (или дном) над (соответственно под) теми областями, над (под) которыми поверхность отсекается.

Если установить dipFill->None, то плоскости отсечения не будут отображаться вообще. Иными словами, те области, над (или под) которыми поверхность выходит за диапазон, указанный в опции PlotRange, окажутся без крыши (или дна).

Если установить clipFill->цвет, то плоскости отсечения будут окрашены в указанный цвет. Иными словами, дно и крыша окрашиваются в указанный цвет.

Если все же хотите раскрасить потолок и пол (крышу и дно) в разные цвета, их придется указать вот так: ClipFill->{ цвет пола, цвет потолка}.

Отображение скрытых поверхностей — опция HiddenSurface

Объекты, расположенные ближе, могут скрывать те, которые расположены от наблюдателя дальше. Очень часто части поверхности, расположенные ближе, скрывают те, которые расположены дальше. По умолчанию опция HiddenSurface равна True. В этом случае поверхность подсвечивается и подкрашивается так, как если бы она была поверхностью непрозрачного тела. Конечно, при этом с выбранной точки зрения некоторые участки поверхности могут быть невидимы. Убрав раскраску, их можно сделать видимыми. Для этого установите опцию HiddenSurface->False.