Građevinski fakultet Sveučilišta u Zagrebu
Osnove inženjerske informatike II (Mathematica)
7. predavanje

2D grafika

Funkcija Graphics - 2DPrimitivi

Funkcija Graphics, između ostalog, omogućuju crtanje 2D primitiva,

●  Sintaksa za crtanje  primitiva je sljedeća:
Graphics[ 2Dprimitiv ]

●  Sintaksa  za crtanje više primitiva je sljedeća:
Graphics[ { 2Dprimitiv 1, 2Dprimitiv 2,..... } ]

●  Opcije za crtanje dodaju se na sljedeći način:
Graphics[ { opcija1,opcija2,....,2Dprimitiv } ]

2D primitivi

Point[{x,y}]

         Točka s koordinatama (x,y).

Line[{{07pred-novo_1.gif,07pred-novo_2.gif},07pred-novo_3.gif,..}]

    Pravac ili više pravaca koji su spojnice točaka  (07pred-novo_4.gif,07pred-novo_5.gif),07pred-novo_6.gif,..

Arrow[{{07pred-novo_7.gif,07pred-novo_8.gif},07pred-novo_9.gif}]

    Strijelica na kraju spojnice točaka  (07pred-novo_10.gif,07pred-novo_11.gif) i 07pred-novo_12.gif.

Polygon[{{07pred-novo_13.gif,07pred-novo_14.gif},07pred-novo_15.gif,07pred-novo_16.gif,....}]

    Poligon čiji su vrhovi redom točke   (07pred-novo_17.gif,07pred-novo_18.gif),07pred-novo_19.gif,07pred-novo_20.gif,....

Rectangle[{{07pred-novo_21.gif,07pred-novo_22.gif},07pred-novo_23.gif}]

    Kvadrat kojem su  točke  (07pred-novo_24.gif,07pred-novo_25.gif) i 07pred-novo_26.gif krajnje  jedne dijagonale.

Circle[{x,y},r]

    Kružnica s koordinatama središta (x,y) i polumjerom r.

Disk[{x,y},r]

    Krug s koordinatama središta (x,y) i polumjerom r.

Text[tekst,{x,y}]

    Ispisuje tekst koji je centriran u točku (x,y).

Primjeri

In[1]:=

07pred-novo_27.gif

Out[1]=

07pred-novo_28.gif

Uz dodatne opcije

In[2]:=

07pred-novo_29.gif

Out[2]=

07pred-novo_30.gif

Funkcija Plot

Ovu funkcija, koja omogućuje crtanje grafa eksplicitno zadane funkcije jedne varijable y=f(x), upoznali ste na 3. predavanju i do sada ju koristili u većem broju primjera. Preko nje ste naučili osnove sintakse Mathematica naredbi za crtanje te neke grafičke opcije (AspectRatio, PlotStyle, AxesLabel, Filling i dr.)
Te ćete opcije, kao i mnoge druge,  moći  koristiti i u gotovo svim ostalim Mathematica funkcijama za crtanje ravninskih krivulja.

Funkcija ParametricPlot

Mathematica funkcija koja omogućuje crtanje parametarski zadanih krivulja je ParametricPlot.
Za crtanje krivulje zadane parametarskim jednadžbama
07pred-novo_31.gif = x(t)
07pred-novo_32.gif = y(t),  t ε I ⊂ R
sintaksa je sljedeća:
ParametricPlot [ {07pred-novo_33.gif,07pred-novo_34.gif} , {t,07pred-novo_35.gif,07pred-novo_36.gif} ]
Za crtanje više parametarski zadanih krivulja na istom crtežu sintaksa je sljedeća:
ParametricPlot [ {{07pred-novo_37.gif,07pred-novo_38.gif},{07pred-novo_39.gif,07pred-novo_40.gif},.....} , {t,07pred-novo_41.gif,07pred-novo_42.gif} ]

Primjeri 1

Jedinična kružnica sa središtem u ishodištu.

In[3]:=

07pred-novo_43.gif

Out[3]=

07pred-novo_44.gif

Elipsa s poluosima a, b i koordinatama središta (p,q).

In[4]:=

07pred-novo_45.gif

Out[4]=

07pred-novo_46.gif

In[5]:=

07pred-novo_47.gif

In[6]:=

07pred-novo_48.gif

Out[6]=

07pred-novo_49.gif

Hiperbola s poluosima a, b i koordinatama središta (p,q).

In[7]:=

07pred-novo_50.gif

In[8]:=

07pred-novo_51.gif

Out[8]=

07pred-novo_52.gif

Upotrijebimo opciju PlotRange

In[9]:=

07pred-novo_53.gif

Out[9]=

07pred-novo_54.gif

In[10]:=

07pred-novo_55.gif

Out[10]=

07pred-novo_56.gif

In[11]:=

07pred-novo_57.gif

In[12]:=

07pred-novo_58.gif

Out[12]=

07pred-novo_59.gif

Primjeri 2

Cikloida

In[13]:=

07pred-novo_60.gif

In[14]:=

07pred-novo_61.gif

Out[14]=

07pred-novo_62.gif

In[15]:=

07pred-novo_63.gif

Out[15]=

07pred-novo_64.gif

ANIMACIJA izvođenja cikloide

In[16]:=

07pred-novo_65.gif

In[27]:=

07pred-novo_66.gif

Out[27]=

07pred-novo_67.gif

Funkcija PolarPlot

Mathematica funkcija koja omogućuje crtanje ravninskih krivulja koje su u polarnom koordinatnom sustavu (r,φ) dane jednadžbama oblika r = r(φ)  je  PolarPlot.
Sintaksa za  korištenje te naredbe je sljedeća:
PolarPlot[
r(φ), {φ,07pred-novo_68.gif,07pred-novo_69.gif}]
Za crtanje više krivulja na istom crtežu sintaksa je sljedeća:
PolarPlot [ {07pred-novo_70.gif(φ),07pred-novo_71.gif,.....} , {φ,07pred-novo_72.gif,07pred-novo_73.gif}]

Primjeri

Kružnica

In[28]:=

07pred-novo_74.gif

Out[28]=

07pred-novo_75.gif

In[29]:=

07pred-novo_76.gif

Out[29]=

07pred-novo_77.gif

Arhimedova spirala

In[30]:=

07pred-novo_78.gif

In[31]:=

07pred-novo_79.gif

Out[31]=

07pred-novo_80.gif

In[32]:=

07pred-novo_81.gif

Out[32]=

07pred-novo_82.gif

In[33]:=

07pred-novo_83.gif

Out[33]=

07pred-novo_84.gif

Logaritamska spirala

In[34]:=

07pred-novo_85.gif

In[35]:=

07pred-novo_86.gif

Out[35]=

07pred-novo_87.gif

In[36]:=

07pred-novo_88.gif

Out[36]=

07pred-novo_89.gif

In[37]:=

07pred-novo_90.gif

Out[37]=

07pred-novo_91.gif

Primjer rotacije

In[38]:=

07pred-novo_92.gif

Out[38]=

07pred-novo_93.gif

In[39]:=

07pred-novo_94.gif

Out[39]=

07pred-novo_95.gif

In[40]:=

07pred-novo_96.gif

Out[40]=

07pred-novo_97.gif

In[41]:=

07pred-novo_98.gif

Out[41]=

07pred-novo_99.gif

In[42]:=

07pred-novo_100.gif

Out[42]=

07pred-novo_101.gif

Funkcija ContourPlot

Mathematica funkcija koja omogućuje crtanje implicitno zadanih ravninskih krivulja, tj. skupova točaka čije Kartezijeve koordinate (x,y)  zadovoljavaju neku jednadžbu f(x,y)=0, je  ContourPlot.
Ova funkcija ima širu namjenu, ali ju možemo koristiti za crtanje implicitno zadanih krivulja na sljedeći način:
    Za crtanje jedne  krivulje koja je zadana  jednadžbom f(x,y)=0, sintaksa je:
ContourPlot[
jednadžba, {x,07pred-novo_102.gif,07pred-novo_103.gif},{y,07pred-novo_104.gif,07pred-novo_105.gif}]
    Za crtanje više implicitno zadanih krivulja na istom crtežu sintaksa je:
ImplicitPlot [ {07pred-novo_106.gif,07pred-novo_107.gif,.....} , {x,07pred-novo_108.gif,07pred-novo_109.gif},{y,07pred-novo_110.gif,07pred-novo_111.gif}]  

Primjeri 1

In[43]:=

07pred-novo_112.gif

Out[43]=

07pred-novo_113.gif

In[44]:=

07pred-novo_114.gif

Out[44]=

07pred-novo_115.gif

In[45]:=

07pred-novo_116.gif

Out[45]=

07pred-novo_117.gif

Primjer 2

Cassinijevi ovali.

In[46]:=

07pred-novo_118.gif

In[47]:=

07pred-novo_119.gif

Out[47]=

07pred-novo_120.gif

In[48]:=

07pred-novo_121.gif

Out[48]=

07pred-novo_122.gif

In[49]:=

07pred-novo_123.gif

Out[49]=

07pred-novo_124.gif

In[50]:=

07pred-novo_125.gif

Out[50]=

07pred-novo_126.gif



Osnovna namjena funkcije ContourPlot je crtanje nivo linija realne funkcije dviju varijabli z = f (x,y).
Nivo linija je krivulja u ravnini XOY dana jednadžbom f (x,y)=C, gdje je C bilo koji broj koji pripada području vrijednosti funkcije f.
Naredbom:
ContourPlot[
07pred-novo_127.gif, {x,07pred-novo_128.gif,07pred-novo_129.gif},{y,07pred-novo_130.gif,07pred-novo_131.gif}]
dobivamo Mathematica prikaz tlocrta plohe z = f (x,y) s istaknutim nivo linijama u području (07pred-novo_132.gif,07pred-novo_133.gif(07pred-novo_134.gif,07pred-novo_135.gif).  

Primjeri

Hiperbolički paraboloid 1 - jednadžba plohe je z = x y

In[51]:=

07pred-novo_136.gif

Out[51]=

07pred-novo_137.gif

In[52]:=

07pred-novo_138.gif

Out[52]=

07pred-novo_139.gif

In[53]:=

07pred-novo_140.gif

Out[53]=

07pred-novo_141.gif

In[54]:=

07pred-novo_142.gif

Out[54]=

07pred-novo_143.gif

In[55]:=

07pred-novo_144.gif

Out[55]=

07pred-novo_145.gif

In[56]:=

07pred-novo_146.gif

Out[56]=

07pred-novo_147.gif

Hiperbolički paraboloid 2 - jednadžba plohe je z = 07pred-novo_148.gif - 07pred-novo_149.gif

In[57]:=

07pred-novo_150.gif

Out[57]=

07pred-novo_151.gif

In[58]:=

07pred-novo_152.gif

Out[58]=

07pred-novo_153.gif

In[59]:=

07pred-novo_154.gif

Out[59]=

07pred-novo_155.gif

In[60]:=

07pred-novo_156.gif

Out[60]=

07pred-novo_157.gif

Polukugla

In[61]:=

07pred-novo_158.gif

Out[61]=

07pred-novo_159.gif

In[62]:=

07pred-novo_160.gif

Out[62]=

07pred-novo_161.gif

In[63]:=

07pred-novo_162.gif

Out[63]=

07pred-novo_163.gif

Primjer nealgebarske plohe - jednadžba plohe je z = sinx cosy

In[64]:=

07pred-novo_164.gif

Out[64]=

07pred-novo_165.gif

In[65]:=

07pred-novo_166.gif

Out[65]=

07pred-novo_167.gif

In[66]:=

07pred-novo_168.gif

Out[66]=

07pred-novo_169.gif

In[67]:=

07pred-novo_170.gif

Out[67]=

07pred-novo_171.gif

In[68]:=

07pred-novo_172.gif

Out[68]=

07pred-novo_173.gif

Funkcija RegionPlot

Za grafički prikaz rješenja nejednadžbi koristimo funkciju   RegionPlot.
Sintaksa je sljedeća:
RegionPlot[ izraz, {x,07pred-novo_174.gif,07pred-novo_175.gif},{y,07pred-novo_176.gif,07pred-novo_177.gif}]
Mathematica prikazuje dio ravnine unutar pravokutnika (07pred-novo_178.gif,07pred-novo_179.gif(07pred-novo_180.gif,07pred-novo_181.gif) za koji vrijedi izraz.
izraz može biti bilo koja nejednadžba od dvije varijable (x i y) ili logička kombinacija takvih nejednadžbi.
Logički operatori:
ili   -   ||
i    -   &&
ne -   !

Primjeri

Krug

In[69]:=

07pred-novo_182.gif

Out[69]=

07pred-novo_183.gif

In[70]:=

07pred-novo_184.gif

Out[70]=

07pred-novo_185.gif

In[71]:=

07pred-novo_186.gif

Out[71]=

07pred-novo_187.gif

In[72]:=

07pred-novo_188.gif

Out[72]=

07pred-novo_189.gif

In[73]:=

07pred-novo_190.gif

Out[73]=

07pred-novo_191.gif

In[74]:=

07pred-novo_192.gif

Out[74]=

07pred-novo_193.gif

In[75]:=

07pred-novo_194.gif

Out[75]=

07pred-novo_195.gif

cosx cosy

In[76]:=

07pred-novo_196.gif

Out[76]=

07pred-novo_197.gif

In[77]:=

07pred-novo_198.gif

Out[77]=

07pred-novo_199.gif

In[78]:=

07pred-novo_200.gif

Out[78]=

07pred-novo_201.gif

In[79]:=

07pred-novo_202.gif

Out[79]=

07pred-novo_203.gif

Cvjetić

In[80]:=

07pred-novo_204.gif

Out[80]=

07pred-novo_205.gif

In[81]:=

07pred-novo_206.gif

Out[81]=

07pred-novo_207.gif

In[82]:=

07pred-novo_208.gif

Out[82]=

07pred-novo_209.gif

In[83]:=

07pred-novo_210.gif

Out[83]=

07pred-novo_211.gif

Funkcija Show

Show je vrlo važna funkcija u Mathematica grafici, kako za 2D grafiku tako i za 3D grafiku.
Ona omogućuje prikaze većeg broja grafika na istom crtežu (outputu).
Sintaksa je sljedeća:
Show[ grafika, opcije]
ili
Show [07pred-novo_212.gif,07pred-novo_213.gif,....., opcije]
Opcije navedene u naredbi Show poništavaju one koje su navedene u grafikama.

Primjer

In[84]:=

07pred-novo_214.gif

Out[84]=

07pred-novo_215.gif

In[85]:=

07pred-novo_216.gif

Out[85]=

07pred-novo_217.gif

In[86]:=

07pred-novo_218.gif

Out[86]=

07pred-novo_219.gif

In[87]:=

07pred-novo_220.gif

Out[87]=

07pred-novo_221.gif

Mathematica  za prikaz koristi opcije prve grafike, tj. na gornjem crtežu AspectRatio i PlotRange su oni koje koristi  naredba Plot u g1.
Promijenimo li redoslijed grafika, neka je prva grafika g3 ili g2, Show će koristiti drukčije opcije.


In[88]:=

07pred-novo_222.gif

Out[88]=

07pred-novo_223.gif

In[89]:=

07pred-novo_224.gif

Out[89]=

07pred-novo_225.gif

In[90]:=

07pred-novo_226.gif

Out[90]=

07pred-novo_227.gif

Zadatak

1.) Nacrtajte graf funkcije  f(x)=x+sin(07pred-novo_228.gif+5) nad intervalom (1,4), crvenom bojom istaknite na njemu točku za koju je x=2.7 te u toj točki nacrtajte tangentu na graf funkcije.
2.) Pomoću funkcije Manipulate prikažite kako se mijenja položaj tangente kada se točka giba po grafu.

In[91]:=

07pred-novo_229.gif

In[92]:=

07pred-novo_230.gif

Out[92]=

07pred-novo_231.gif

In[93]:=

07pred-novo_232.gif

Out[93]=

07pred-novo_233.gif

Notebook izradili: Sonja Gorjanc, Vladimir Benić

Spikey Created with Wolfram Mathematica 7.0