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

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

Универсальный инструмент для рисования кривых - это, конечно, команда \text{\tt ParametricPlot}. Он теперь сразу позволяет рисовать однопараметрические семейства или области:

\tt
In[86]:=\\
\phantom{In}\{ParametricPlot[\{Cos[x], Sin[2x]\}, \{x, 0, 2$\pi$\}],\\
\phantom{In\{}ParametricPlot[r\{Cos[x], Sin[2x]\}, \{x, 0, 2$\pi$\}, \{r, 0.5, 1.5\}],\\
\phantom{In\{}ParametricPlot[r\{Cos[x], Sin[2x]\}, \{x, 0, 2$\pi$\},\\
\phantom{In\{P}\{r, 0.5, 1.5\}, Mesh$\to$None]\}

Можно использовать это для рисования, например, координатных линий:

\tt
In[87]:=\\
\phantom{In}\{ParametricPlot[\{х, у\}, \{х, -1, 1\}, \{у, -1, 1\}, Axes$\to$False,\\
\phantom{In\{P}Frame$\to$False], ParametricPlot[\{r Cos[$\varphi$], r Sin[$\varphi$]\},\\
\phantom{In\{P}\{$\varphi$, 0, 2$\pi$\}, \{r, 0, 1\}, Axes$\to$False, Frame$\to$False]\}

или для наглядного изображения отображений из плоскости в плоскость:

\tt
In[88]:=\\
\phantom{In}F[u\_, v\_] := \{Re[(u + iv)$^{1/3}$], Im[(u + iv)$^{1/3}$]\};\\
\phantom{In}\{ParametricPlot[\{u, v\}, \{u, -1, 1\}, \{v, -1, 1\}, Frame $\to$ False,\\
\phantom{In\{P}MeshStyle $\to$ \{Orange, Green\}],\\
\phantom{In\{}ParametricPlot[F[u, v], \{u, -1, 1\}, \{v, -1, 1\}, Frame $\to$ False,\\
\phantom{In\{P}MeshStyle $\to$ \{Orange, Green\}, AxesOrigin $\to$ \{0, 0\}]\}

\tt
In[90]:=\\
\phantom{In}FF[r\_, $\varphi$\_] := \{Re[r$^{1/3}$e$^{i\frac{\varphi}{3}}$], Im[r$^{1/3}$e$^{i\frac{\varphi}{3}$]\};\\
\phantom{In}\{ParametricPlot[\{r Cos[$\varphi$], r Sin[$\varphi$]\}, \{r, 0, 1\}, \{$\varphi$ -$\pi$, $\pi$\},\\
\phantom{In\{P}Frame$\to$False, MeshStyle$\to$\{Orange, Green\}],\\
\phantom{In\{}ParametricPlot[FF[r, $\varphi$], \{r, 0, 1\}, \{$\varphi$, -$\pi$, $\pi$\}, Frame$\to$False,\\
\phantom{In\{P}MeshStyle$\to$\{Orange, Green\}, AxesOrigin$\to$\{0, 0\}]\}

\tt
In[92]:=\\
\phantom{In}DLP[r\_, $\varphi$\_] := Module[\{z, z0, w\},\\
\phantom{InDLP}z=re$^{i\varphi}$;\\
\phantom{InDLP}z0 = 1/2;\\
\phantom{InDLP}w = $\frac{z-z0}{(1-z \text{Conjugate}[z0]}$;\\
\phantom{InDLP}\{Re[w], Im[w]\}\\
\phantom{InDL}];\\
\phantom{In}\{ParametricPlot[\{r Cos[$\varphi$], r Sin[$\varphi$]\}, \{r, 0, 1\}, \{$\varphi$, -$\pi$, $\pi$\},\\
\phantom{InDL}Frame$\to$False, MeshStyle$\to$\{Orange, Green\}],\\
\phantom{InD}ParametricPlot[DLP[r, $\varphi$], \{r, 0, 1\}, \{$\varphi$, -$\pi$, $\pi$\},\\
\phantom{InDL}Frame$\to$False, PlotPoints$\to$50, MeshStyle$\to$\{Orange, Green\},\\
\phantom{InDL}AxesOrigin$\to$\{0, 0\}]\}

Снова можно задавать осмысленные функции для раскраски кривой. Например, кривизну. Напомним, что красный соответствует нулю, и цвет меняется в синюю сторону при возрастании.

\tt
In[94]:=ClearAll[cur, gg, xx, yy,  t];\\
\phantom{In[94]:=}cur[x\_, y\_][t\_] := $\frac{\text{Abs}[D[x[t],t,t] D[y[t],t]-D[y[t],t,t] D[x[t],t]]}{(D[x[t],t]^2+D[y[t]^2)^{3/2}$;\\
\phantom{In[94]:=}xx[t\_] := Log[t] Cos[t]; yy[t\_] := Log[t] Sin[t];\\
\phantom{In[94]:=}gg[t\_] = cur[xx, yy][t];\\ \\
In[98]:=mm = NMaximize[\{gg[t], 0 $\le$ t\}, \{t\}][\!\![l]\!\!]\\ \\
Out[98]=2.65323\\ \\
In[99]:=Plot[gg[t], \{t, 0.1, 2$\pi$\}]

\tt
In[100]:=\\
\phantom{In}ParametricPlot[\{xx[t], yy[t]\}, \{t, 1/2, 7$\pi$\}, PlotStyle$\to$Thick,\\
\phantom{InP}ColorFunction$\to$Function \{x, у, u\}, Hue$\left[\frac{gg[u]}{1.2mm}\right]$],\\
\phantom{InP}ColorFunctionScaling$\to$False

Команды \text{\tt ContourPlot} и \text{\tt DensityPlot} служат для рисования неявно заданных кривых и функций:

\tt
In[101]:=\\
\phantom{In}\{ContourPlot[Cos[x] + Cos[y], \{x, 0, 4Pi\}, \{y, 0, 4Pi\}], \\
\phantom{In\{}ContourPlot[Cos[x] + Cos[y] == 1/2, \{x, 0, 4Pi\}, \{y, 0, 4Pi\}], \\
\phantom{In\{}DensityPlot[Cos[x] + Cos[y], \{x, 0, 4Pi\}, \{y, 0, 4Pi\}]\}

Наконец, \text{\tt RegionPlot} изображает области, заданные неравенствами:

\tt
In[102]:=\\
\phantom{In}RegionPlot[1/4 $\le$ х\^\,\!2 + (2у)\^\,\!2 $\le$ 1 && х + у $\le$ 1/2, \{х, -1, 1\},\\
\phantom{InR}\{у, -1, 1\}, AspectRatio $\to$ Automatic]