Simo K. Kivelä / 06.05.2003

Grafiikkaa

In[1]:=

Remove["Global`*"]

•Funktion f(x) kuvaaja

Yhtälön y = f(x) kuvaaja saadaan komennolla Plot, jossa on ilmoitettava se muuttujan väli, joka kuvaajaan halutaan. Lisäksi voidaan antaa erilaisia kuvan ulkoasuun, skaalaukseen yms. vaikuttavia määreitä.

In[2]:=

Plot[24 - 50 x + 35 x^2 - 10 x^3 + x^4, {x, -1, 5}]

[Graphics:HTMLFiles/luento3_5.gif]

Out[2]=

-Graphics -

In[3]:=

Plot[24 - 50 x + 35 x^2 - 10 x^3 + x^4, {x, -1, 5}, PlotRange -> {-1, 1}]

[Graphics:HTMLFiles/luento3_8.gif]

Out[3]=

-Graphics -

In[4]:=

Plot[24 - 50 x + 35 x^2 - 10 x^3 + x^4, {x, -1, 5}, PlotRange -> {-1, 1}, AspectRatio -> Automatic]

[Graphics:HTMLFiles/luento3_11.gif]

Out[4]=

-Graphics -

•Funktion f(x, y) kuvaaja

Vastaavaan tapaan saadaan kahden muuttujan funktion kuvaaja. Tarvittava komento on Plot3D.

In[5]:=

Plot3D[x^2 - y^2, {x, -2, 2}, {y, -2, 2}]

[Graphics:HTMLFiles/luento3_15.gif]

Out[5]=

-SurfaceGraphics -

In[6]:=

Plot3D[x^2 - y^2, {x, -2, 2}, {y, -2, 2}, Shading -> False]

[Graphics:HTMLFiles/luento3_18.gif]

Out[6]=

-SurfaceGraphics -

In[7]:=

Plot3D[x^2 - y^2, {x, -2, 2}, {y, -2, 2}, Mesh -> False]

[Graphics:HTMLFiles/luento3_21.gif]

Out[7]=

-SurfaceGraphics -

In[8]:=

Plot3D[x^2 - y^2, {x, -2, 2}, {y, -2, 2}, Mesh -> False, BoxRatios -> {1, 1, 1}]

[Graphics:HTMLFiles/luento3_24.gif]

Out[8]=

-SurfaceGraphics -

Paitsi kolmiulotteisen objektin kuvana kuvaaja voidaan esittää myös korkeuskäyrien avulla:

In[9]:=

ContourPlot[x^2 - y^2, {x, -2, 2}, {y, -2, 2}]

[Graphics:HTMLFiles/luento3_27.gif]

Out[9]=

-ContourGraphics -

In[10]:=

ContourPlot[x^2 - y^2, {x, -2, 2}, {y, -2, 2}, ContourShading -> False]

[Graphics:HTMLFiles/luento3_30.gif]

Out[10]=

-ContourGraphics -

•Käyrät

Tasokäyrä voidaan esittää ns. parametriesityksen avulla: x(t), y(t). Tässä on siis kaksi funktiota, x ja y, joiden tulkitaan esittävän xy-tason pisteiden koordinaatteja. Jokaista muuttujan t arvoa vastaa siten xy-tason piste (x(t), y(t)). Kun t saa arvot joltakin väliltä, muodostavat vastaavat pisteet xy-tason käyrän.

Vastaavasti voidaan muodostaa avaruuskäyriä: (x(t), y(t), z(t)).

Käyrien piirtämiseen on komennot ParametricPlot ja ParametricPlot3D.

In[11]:=

ParametricPlot[{Sin[2 t], Sin[3 t]}, {t, 0, 2 Pi}]

[Graphics:HTMLFiles/luento3_41.gif]

Out[11]=

-Graphics -

In[12]:=

ParametricPlot3D[{Sin[t]/t, Cos[t]/t, t/25}, {t, 0.01, 50}]

[Graphics:HTMLFiles/luento3_44.gif]

Out[12]=

-Graphics3D -

In[13]:=

ParametricPlot3D[{Sin[t]/t, Cos[t]/t, t/25}, {t, 0.01, 50}, PlotRange -> {{-1, 1}, {-1, 1}, {0, 2}}]

[Graphics:HTMLFiles/luento3_47.gif]

Out[13]=

-Graphics3D -

In[14]:=

ParametricPlot3D[{Sin[t]/t, Cos[t]/t, t/25}, {t, 0.01, 50}, PlotRange -> {{-1, 1}, {-1, 1}, {0, 2}}, PlotPoints -> 500]

[Graphics:HTMLFiles/luento3_50.gif]

Out[14]=

-Graphics3D -

•Pinnat

Pintoja voidaan esittää parametriesityksen avulla samaan tapaan kuin käyriä. Parametreja tarvitaan tällöin kaksi: Kun parametrit u ja v saavat arvonsa joiltakin väleiltä, sijaitsevat pisteet (x(u, v), y(u, v), z(u, v)) yleensä jollakin säännöllisellä pinnalla. Asia ei ole aivan näin yksinkertainen, vaan kahden muuttujan funktioilta x, y ja z vaaditaan tiettyjä säännöllisyysominaisuuksia. (Vastaava koskee myösFormBox[Cell[], TraditionalForm]FormBox[Cell[], TraditionalForm]käyrätapauksen yhden muuttujan funktioita x, y ja z.)

Pinta voidaan piirtää komennolla ParametricPlot3D, joka voi jälleen saada erilaisia lisämääreitä.

In[15]:=

ParametricPlot3D[{u Cos[v], u Sin[v], v/10}, {u, 0, 1}, {v, 0, 8 Pi}]

[Graphics:HTMLFiles/luento3_64.gif]

Out[15]=

-Graphics3D -

In[16]:=

ParametricPlot3D[{u Cos[v], u Sin[v], v/10}, {u, 0, 1}, {v, 0, 8 Pi}, PlotPoints -> {2, 145}]

[Graphics:HTMLFiles/luento3_67.gif]

Out[16]=

-Graphics3D -

In[17]:=

ParametricPlot3D[{u Cos[v], u Sin[v], v/10}, {u, 0, 1}, {v, 0, 8 Pi}, PlotPoints -> {2, 145}, ViewPoint -> {10, 8, 5}]

[Graphics:HTMLFiles/luento3_70.gif]

Out[17]=

-Graphics3D -

In[18]:=

ParametricPlot3D[{u Cos[v], u Sin[v], v/10}, {u, 0, 1}, {v, 0, 8 Pi}, PlotPoints -> {2, 145}, ViewPoint -> {10, 8, 5}, Shading -> False, Boxed -> False, Axes -> False]

[Graphics:HTMLFiles/luento3_73.gif]

Out[18]=

-Graphics3D -

•Muodossa F(x, y) = 0 annetut käyrät

Mathematicaan liittyy melkoinen määrä lisäpaketteja, joissa määritellyt komennot ja funktiot eivät ole suoraan käytettävissä, vaan tarvittava paketti on ensin ladattava. Eräs tällainen funktio on ImplicitPlot, jolla voidaan piirtää muuttujia x ja y sitovan yhtälön avulla annettuja käyriä.FormBox[Cell[], TraditionalForm]FormBox[Cell[], TraditionalForm]Paketti ladataan komennolla

In[19]:=

<< Graphics`ImplicitPlot`

minkä jälkeen funktiota voidaan käyttää. Huomaa, että myös kuvat voidaan tallettaa jollekin nimelle, jolla niihin voidaan myöhemmin viitata.

In[20]:=

ympyra = ImplicitPlot[x^2 + y^2 == 1, {x, -1.5, 1.5}, {y, -1.5, 1.5}]

[Graphics:HTMLFiles/luento3_82.gif]

Out[20]=

-ContourGraphics -

In[21]:=

risti = ImplicitPlot[x^2 + y^2 == x^2 y^2, {x, -5, 5}, {y, -5, 5}]

[Graphics:HTMLFiles/luento3_85.gif]

Out[21]=

-ContourGraphics -

Eri grafiikat (joiden on kuitenkin oltava samaa tyyppiä, tässä ContourGraphics) voidaan myös yhdistää samaan kuvaan:

In[22]:=

Show[ympyra, risti]

[Graphics:HTMLFiles/luento3_88.gif]

Out[22]=

-Graphics -

•Muuta

Erilaisia tapoja erilaisten graafisten esitysten tekemiseen on Mathematicassa paljon. Funktiolla ListPlot voidaan piirtää pisteistöjä. Seuraavissa esimerkeissä käytetään tämän ohella funktiota Prime[k], joka antaa k:nnen alkuluvun, funktiota Random, joka tuottaa satunnaislukuja, ja funktiota Table, jolla muodostetaan ns. listoja.

In[23]:=

alkuluvut = Table[Prime[k], {k, 1, 20}]

Out[23]=

{2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71}

In[24]:=

ListPlot[alkuluvut]

[Graphics:HTMLFiles/luento3_94.gif]

Out[24]=

-Graphics -

In[25]:=

pisteet = Table[{Random[], Random[]}, {k, 1, 20}]

Out[25]=

{{0.5652840804568422`, 0.19640190030107962`}, {0.6918219096112671`, 0.4761173787510049`}, {0.6 ... 428118`}, {0.6901350438337729`, 0.19587265015888175`}, {0.6594412241466578`, 0.8747866738146144`}}

In[26]:=

ListPlot[pisteet, AspectRatio -> Automatic]

[Graphics:HTMLFiles/luento3_99.gif]

Out[26]=

-Graphics -

In[27]:=

ListPlot[pisteet, AspectRatio -> Automatic, PlotJoined -> True]

[Graphics:HTMLFiles/luento3_102.gif]

Out[27]=

-Graphics -


Converted by Mathematica  (May 8, 2003)