Опубликован: 27.12.2010 | Доступ: свободный | Студентов: 1028 / 278 | Оценка: 5.00 / 5.00 | Длительность: 18:38:00
ISBN: 978-5-9556-0117-5
Специальности: Математик
Лекция 2:

Графика: основные принципы

Трехмерный случай

Трехмерный случай принципиально от двумерного не отличается. Перечислим основные отличия. Прежде всего, добавляется несколько специфических трехмерных примитивов:

\tt
In[55]:=Graphics3D[\{ \\
\phantom{In[55]:=Gr}\{Orange, Opacity[0.4], \\
\phantom{In[55]:=Gra}Cylinder[\{\{-1.5, -1.5, -1.5\}, \{1.5, 1.5, 1.5\}\}, $\sqrt{2}$]\},\\
\phantom{In[55]:=Gr}(* Прямой цилиндр, заданный осью-отрезком и радиусом*)\\
\phantom{In[55]:=Gr}\{Red, Sphere[\{0, 0, 0\}, 2]\}, (* Сфера: центр, радиус*)\\
\phantom{In[55]:=Gr}\{Green, Opacity[.3], Cuboid[\{-2, -2, -2\}, \{2, 2, -1\}]\}\}]\\
\phantom{In[55]:=}(* Прямоугольный параллелепипед, \\
\phantom{In[55]:=}Заданный координатами противоположных вершин*)

К графическим директивам, определяющим вид поверхности, добавляются две: \text{Glow[]} (характеризует цвет, которым поверхность светится) и \text{Specularity[]} (характеризует зеркальные свойства поверхности):

\tt
In[56]:=Table[Graphics3D[{Specularity[Red, s], Black, Sphere[]\}, \\
\phantom{In[56]:=Ta}Boxed $\to$ False, ImageSize $\to$ 150], \{s, \{0, 1, 2, 10, 100\}\}]

\tt
In[57]:=\\
\phantom{In}\{Graphics3D[\{Glow[Red], Black, Cuboid[]\}, Boxed $\to$ False, \\
\phantom{In\{G}ImageSize $\to$ 150], Graphics3D [\{Glow[Red], White, Cuboid[]\}, \\
\phantom{In\{G}Boxed $\to$ False, ImageSize $\to$ 150]\}

Кроме того, с помощью \text{\tt FaceForm} можно теперь задавать разные цвета для разных сторон поверхности:

\tt
In[58]:=\\
\phantom{In}Graphics3D[\{FaceForm[Blue, Orange], Sphere[]\},\\
\phantom{InG}PlotRange $\to$ \{\{-1, 1\}, \{-1/2, 1/2\}, \{-1, 1\}\}, Boxed $\to$ False]

В опциях \text{\tt Frame} заменяется на \text{\tt Boxed}, добавляются возможности управлять источником света \text{\tt Lighting} и опции, характеризующие "точку зрения" наблюдателя и некоторые другие характеристики образа:

\tt
In[59]:=\\
\phantom{In}\{Graphics3D[{FaceForm[Blue, Orange], Sphere[]\},\\
\phantom{In\{G}PlotRange $\to$ \{\{-1, 1\}, \{-1/2, 1/2\}, \{-1, 1\}\}, Boxed $\to$ False,\\
\phantom{In\{G}Lightings $\to$ \{\{"Point"\ \!\!\!\!, White, \{0, 0, 0\}\}\}],\\
\phantom{In\{}Graphics3D[\{FaceForm[Blue, Orange], Sphere[]\},\\
\phantom{In\{G}PlotRange $\to$ \{\{-1, 1\}, \{-1/2, 1/2\}, \{-1, 1\}\}, Boxed $\to$ False,\\
\phantom{In\{G}Lighting $\to$ \{\{"Point"\ \!\!\!\!, White, \{2, 2, 2\}\}\}],\\
\phantom{In\{}Graphics3D[\{FaceForm[Blue, Orange], Sphere[]\},\\
\phantom{In\{G}PlotRange $\to$ \{\{-l, 1\}, \{-1/2, 1/2\}, \{-1, 1\}\}, Boxed $\to$ False,\\
\phantom{In\{G}Lighting  $\to$ \{\{"Ambient"\ \!\!\!\!, White\}\}],\\
\phantom{In\{}Graphics3D[\{FaceForm[Blue, Orange], Sphere[]\},\\
\phantom{In\{G}PlotRange $\to$ \{\{-l, 1\}, \{-1/2, 1/2\}, \{-1, 1\}\}, Boxed $\to$ False,\\
\phantom{In\{G}Lighting $\to$ Automatic]\}

\tt
In[60]:=\\
\phantom{In}Manipulate[Graphics3D[\{FaceForm[Blue, Orange], Sphere[]\}\\
\phantom{In\{Ma}PlotRange $\to$ \{\{-1, 1\}, \{-1/2, 1/2\}, \{-1, 1\}, Boxed $\to$ False,\\
\phantom{In\{Ma}VienPoint $\to$ \{x, y, z\}, Image $\to$ 200], \{x, -3, 3\},\\
\phantom{In\{M}\{y, -3, 3\}, \{z, -3, 3\}]