Украина |
Опубликован: 27.12.2010 | Уровень: специалист | Доступ: платный
Лекция 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]:=}Заданный координатами противоположных вершин*)](/sites/default/files/tex_cache/30552e3676129a0b55cd35e670d3796e.png)
К графическим директивам, определяющим вид поверхности, добавляются две: (характеризует цвет, которым поверхность светится) и
(характеризует зеркальные свойства поверхности):
![\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\}\}]](/sites/default/files/tex_cache/1b25dcdf7dd9bf1ea759ca6f9d1c7431.png)
![\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]\}](/sites/default/files/tex_cache/7e409f99c675d46d5e0114d9025b3184.png)
Кроме того, с помощью можно теперь задавать разные цвета для разных сторон поверхности:
![\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]](/sites/default/files/tex_cache/92cb7bb0693b69184b579f22f6fd2214.png)
В опциях заменяется на
, добавляются возможности управлять источником света
и опции, характеризующие "точку зрения" наблюдателя и некоторые другие характеристики образа:
![\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]\}](/sites/default/files/tex_cache/8820c2c09e1d857968cacef11a2256f5.png)
![\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\}]](/sites/default/files/tex_cache/f03e34f56d8c5b8c06ade7b6cd321f51.png)