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

3D grafika

Graphics 3D

Zadatak 1.

Graphics:PlotLabel /. Options[{Nacrtajte sljedeće crteže, , GraphicsBox[{{InsetBox[Graphics3DBox[{{RGBColor[1, 1, 0], CuboidBox[{0, 0, 0}]}, {RGBColor[0, 1, 1], CuboidBox[{{1, 0, 0}, {2, 1, 2}}]}, {RGBColor[1, 0, 1], CuboidBox[{{2, 0, 0}, {3, 1, 3}}]}}, AspectRatio -> 1.5557, Boxed -> False, ImageSize -> {124., 158.274}, ViewPoint -> {-2.48213, -2.0552, 1.03207}, ViewVertical -> {-0.263269, -0.628589, 0.941694}], {192.787, -189.032}, Center, {359.901, 359.911}], InsetBox[Graphics3DBox[{{RGBColor[0, 1, 0], SphereBox[{0, 0, 0}, 1], CylinderBox[{{0, 0, 0}, {1.5, 0, 0}}, 1]}, {RGBColor[1, 0, 0], SphereBox[{3, 0, 0}, 1], CylinderBox[{{1.5, 0, 0}, {3, 0, 0}}, 1]}}, Boxed -> False, ImageSize -> {169., 102.993}, ViewPoint -> {0.744986, -3.22213, 0.716158}, ViewVertical -> {-0.0279661, -1.06551, 2.26049}], {576.683, -188.944}, Center, {360.064, 360.008}]}, {}}, AspectRatio -> Full, ContentSelectable -> True, ImageSize -> {309.8, 111.}, PlotRangePadding -> {6, 5}]}]

"08vj_rijesene_2.gif"

"08vj_rijesene_3.gif"

"08vj_rijesene_4.gif"

"08vj_rijesene_5.gif"

"08vj_rijesene_6.gif"

"08vj_rijesene_7.gif"

Plot3D

Zadatak 1

1.  Nacrtajte graf funkcije f(x,y)= –cosh(x·y) nad područjem "08vj_rijesene_8.gif".

"08vj_rijesene_9.gif"

"08vj_rijesene_10.gif"

2. Pomoću opcija PlotRange i BoxRatios prikažite isti graf u okviru (1,1)×(1,1)×(1.55,1), s odnosom bridova 1:1:1.

"08vj_rijesene_11.gif"

"08vj_rijesene_12.gif"

3. Nacrtajte sljedeći crtež.

"08vj_rijesene_13.gif"
Uputa: Koristite opciju Filling → Bottom.
Na žalost, to opciju ne podržavaju sve ostale funkcije za 3D grafiku.

"08vj_rijesene_14.gif"

"08vj_rijesene_15.gif"

Zadaci za vježbu

Zadatak 1.

Na istoj slici, nad područjem "08vj_rijesene_16.gif", nacrtajte kružni i hiperbolički paraboloid.
Jednadžbe z = "08vj_rijesene_17.gif"+"08vj_rijesene_18.gif"  i  z = "08vj_rijesene_19.gif""08vj_rijesene_20.gif".

"08vj_rijesene_21.gif"

"08vj_rijesene_22.gif"

Iste plohe prikažite tako da kružni paraboloid bude crven, a hiperbolički zelen.
Neka prikazi ploha imaju 30% prozirnosti, a jedinice na osima neka budu jednake.

"08vj_rijesene_23.gif"

"08vj_rijesene_24.gif"

Zadatak 2.

Na istoj slici, nad područjem "08vj_rijesene_25.gif"prikažite plohe zadane eksplicitnim jednadžbama
z = cosx cosy  i  z = sinx siny .
Obojite ih različitim bojama, a jedinice na osima neka budu jednake.

"08vj_rijesene_26.gif"

"08vj_rijesene_27.gif"

ParametricPlot3D

Zadatak 1.

a) Nacrtajte plohu kojoj su parametarske jednadžbe
    x(u,v) = sinu,
    y(u,v) = cosu+sinv,
    z(u,v) = cosv,    (u,v) ε "08vj_rijesene_28.gif".

"08vj_rijesene_29.gif"

"08vj_rijesene_30.gif"

b) Istu plohu prikažite tako da je na njoj iscrtan samo jedan sistem njezinih parametarskih krivulja te da je prozirnost prikaza 30%.

"08vj_rijesene_31.gif"

"08vj_rijesene_32.gif"

Zadatak 2.

a) Pomoću parametarskih jednadžbi nacrtajte kuglu sa središtem u ishodištu i polumjera 2.
Neka Mathematica pri tom ne iscrtava parametarske krivulje.
Pridružite taj crtež varijabli kugla.

"08vj_rijesene_33.gif"

"08vj_rijesene_34.gif"

b) Nacrtajte plašt valjka kojem je dužina MN [M(1,0,-2),N(1,0,2] os, a polumjer osnovice r = 2.
Neka Mathematica pri tom ne iscrtava parametarske linije na plaštu.
Pridružite taj crtež varijabli valjak.

Uputa: Parametarske jednadžbe tog plašta su
    x = cosu +1,
    y = sinu,
    z = z,    (u,z) ε [0,2π]×[-2, 2].

"08vj_rijesene_35.gif"

"08vj_rijesene_36.gif"

c) Nacrtajte krivulju kojoj su parametarske jednadžbe
    x(t) = 1+cost,
    y(t) = sint,
    z(t) = 2sin"08vj_rijesene_37.gif",    tε[–2π,2π].
Obojite ju crveno i podebljajte.
Pridružite taj crtež varijabli viviani (tu krivulju nazivamo Vivianijevom).

"08vj_rijesene_38.gif"

"08vj_rijesene_39.gif"

d) Pomoću fukcije Show pokažite da je Vivianijeva krivulja prodorna krivulja gornjih ploha, tj. prikažite crteže kugla, valjak i viviani na istoj slici.

"08vj_rijesene_40.gif"

"08vj_rijesene_41.gif"

Zadatak 3.

a) Definirajte funkciju jastuk[i_] kao listu sljedećih parametarski jednadžbi:
    x(u,v) = sinu,
    y(u,v) = sinv,
    z(u,v) = i cosu cosv.    

"08vj_rijesene_42.gif"

b) Pomoću funkcije Manipulate prikažite kako se za područje (u,v) ε "08vj_rijesene_43.gif"mijenja gornja ploha, ako parametar i poprima vrijednosti na intervalu  [-1, 1].
Neka je "finoća" plohe određena opcijom PlotPoints→40, a PlotRange→{{-1,1},{-1,1},{-1,1}}.

"08vj_rijesene_44.gif"

"08vj_rijesene_45.gif"

Zadaci za vježbu

Zadatak 1.

Torus je ploha koja nastaje rotacijom kružnice polumjera "08vj_rijesene_46.gif" oko osi koja je od njezinog središta udaljena za "08vj_rijesene_47.gif".
Ako kružnica leži u ravnini xz i rotira oko osi z, parametarske jednadžbe torusa su:
    x(u,v) = ("08vj_rijesene_48.gif"+"08vj_rijesene_49.gif"·cosv) cosu,
    y(u,v) = ("08vj_rijesene_50.gif"+"08vj_rijesene_51.gif"·cosv) sinu,
    z(u,v) = "08vj_rijesene_52.gif"·sinv,    (u,v"08vj_rijesene_53.gif".

a) Definirajte funkciju torus1, koja ovisi o vrijednostima "08vj_rijesene_54.gif" i "08vj_rijesene_55.gif", a jednaka je listi gornjih funkcija {x(u,v), y(u,v), z(u,v)}.

"08vj_rijesene_56.gif"

b) Za "08vj_rijesene_57.gif" = 3 nacrtajte 3 takve plohe ("08vj_rijesene_58.gif" = 5, 3, 1) nad područjem [0,"08vj_rijesene_59.gif"]×[0,2π].

"08vj_rijesene_60.gif"

"08vj_rijesene_61.gif"

"08vj_rijesene_62.gif"

"08vj_rijesene_63.gif"

"08vj_rijesene_64.gif"

"08vj_rijesene_65.gif"

"08vj_rijesene_66.gif"

"08vj_rijesene_67.gif"

Zadatak 2.

Plückerovi konoidi su pravčaste plohe (jedan sistem parametarsih krivulje tih su pravci) koje zadovoljavaju sljedeće parametarske jednadžbe:
    x(u,v) = v cosu,
    y(u,v) = v sinu,
    z(u,v) = 3 sin kv,    k ∈ N,    (u,v) ∈ "08vj_rijesene_68.gif".
    

a) Definirajte funkciju plucker, koja ovisi o prirodnom broju k, a jednaka je listi gornjih funkcija {x(u,v), y(u,v), z(u,v)}.

"08vj_rijesene_69.gif"

b) Nacrtajte 4 Plückerova konoida za k = 2, 3, 4 i 5.

"08vj_rijesene_70.gif"

"08vj_rijesene_71.gif"

c) Nacrtajte Plückerov konoid, za k = 3, i neka Mathematica  iscrta samo one njegove parametarske krivulje koje su pravci.

"08vj_rijesene_72.gif"

"08vj_rijesene_73.gif"

Zadatak 3.

Ako u parametarskim jednadžbama torusa iz zadatka 1 izvršimo zamjenu  zy ( zx ) dobit ćemo parametarske jednažbe torusa kojem  se rotacijska os podudara s osi y (x).

a) Definirajte funkcije torus2 i torus3, koje su jednake listama parametarskih jednadžbi torusa s osima rotacije y, odnosno x.

"08vj_rijesene_74.gif"

"08vj_rijesene_75.gif"

b) Pomoću funkcija torus1, torus2 i torus3, nacrtajte sljedeće crteže.


"08vj_rijesene_76.gif""08vj_rijesene_77.gif"

"08vj_rijesene_78.gif"

"08vj_rijesene_79.gif"

"08vj_rijesene_80.gif"

"08vj_rijesene_81.gif"

ContourPlot3D

Zadatak 1.

Nacrtajte elipsoide zadane jednadžbama
    "08vj_rijesene_82.gif" + "08vj_rijesene_83.gif" + "08vj_rijesene_84.gif" = 1,  
    "08vj_rijesene_85.gif" + "08vj_rijesene_86.gif" + "08vj_rijesene_87.gif" = 1
    "08vj_rijesene_88.gif" + "08vj_rijesene_89.gif" + "08vj_rijesene_90.gif" = 1,
obojite ih redom crveno, zeleno i žuto, a zatim ih, pomoću funkcije Show, prikažite na istoj slici.

Uputa: Upotrijebite opciju BoxRatios→Automatic. Zašto je to potrebno?

"08vj_rijesene_91.gif"

"08vj_rijesene_92.gif"

"08vj_rijesene_93.gif"

"08vj_rijesene_94.gif"

"08vj_rijesene_95.gif"

"08vj_rijesene_96.gif"

"08vj_rijesene_97.gif"

"08vj_rijesene_98.gif"

"08vj_rijesene_99.gif"

"08vj_rijesene_100.gif"

Zadatak 2.

a) Prikažite plohu zadanu jednadžbom "08vj_rijesene_101.gif""08vj_rijesene_102.gif" + "08vj_rijesene_103.gif""08vj_rijesene_104.gif" +"08vj_rijesene_105.gif""08vj_rijesene_106.gif" = 1, unutar kocke "08vj_rijesene_107.gif".

"08vj_rijesene_108.gif"

"08vj_rijesene_109.gif"

b) Istu plohu prikažite unutar kocke "08vj_rijesene_110.gif", obojite ju narandžasto, te na njoj iscrtajte presjeke plohe s koordinatnim ravninama. Pomoću opcije PlotPoints generirajte finiji prikaz nego u slučaju a).

"08vj_rijesene_111.gif"

"08vj_rijesene_112.gif"

c) S prikaza b) uklonite presjeke s koordinatnim ravninama te pomoću funkcije Specularity osvijetlite plohu s bijelim svjetlom.

"08vj_rijesene_113.gif"

"08vj_rijesene_114.gif"

Zadatak za vježbu

Zadatak 1.

Unutar kvadra [-3,3]×[-4,4]×[-4.5,4.5], nacrtajte jednodijelni  i  dvodijelni hiperbolid.
(jednadžbe:   "08vj_rijesene_115.gif" + "08vj_rijesene_116.gif" "08vj_rijesene_117.gif" = 1  i   –"08vj_rijesene_118.gif""08vj_rijesene_119.gif" + "08vj_rijesene_120.gif" = 1)
Neka jedinice na osima budu jednake.

"08vj_rijesene_121.gif"

"08vj_rijesene_122.gif"

Iste plohe obojite crveno i zeleno, pridružite im 30% prozirnosti te uklonite koordinatne krivulje.
Opciji PlotPoints pridružite vrijednost 20.

"08vj_rijesene_123.gif"

"08vj_rijesene_124.gif"

RegionPlot3D

Zadatak 1.

Prikažite dio prostora, unutar kocke "08vj_rijesene_125.gif""08vj_rijesene_126.gif"+"08vj_rijesene_127.gif"+"08vj_rijesene_128.gif">1.5.

"08vj_rijesene_129.gif"

"08vj_rijesene_130.gif"

Granice gornjeg trodimenzionalnog područja prikažite s prozirnošću od 30%, obojite ih narandžasto te s njih uklonite linije.

"08vj_rijesene_131.gif"

"08vj_rijesene_132.gif"

Zadatak 2.

Prikažite trodimenzionalno područje, unutar prizme "08vj_rijesene_133.gif"
"08vj_rijesene_134.gif"+"08vj_rijesene_135.gif""08vj_rijesene_136.gif" < 1   i   "08vj_rijesene_137.gif"+"08vj_rijesene_138.gif""08vj_rijesene_139.gif" > -1.
Granice  područja prikažite s prozirnošću od 30%, obojite ih ljubičasto te s njih uklonite linije.
Upotrijebite opciju PlotPoints→20.

"08vj_rijesene_140.gif"

"08vj_rijesene_141.gif"

Zadaci za vježbu

Zadatak 1.

Prikažite trodimenzionalno područje, unutar kocke "08vj_rijesene_142.gif"
x^2+y^2<z^2+1.
Uklonite linije s granice područja.

"08vj_rijesene_143.gif"

"08vj_rijesene_144.gif"

Zadatak 2.

Prikažite trodimenzionalno područje, unutar kocke "08vj_rijesene_145.gif"
"08vj_rijesene_146.gif".
Granice  područja prikažite s prozirnošću od 30% te s njih uklonite linije.
Upotrijebite opciju PlotPoints→30.

"08vj_rijesene_147.gif"

"08vj_rijesene_148.gif"

Zadatak 3.

Prikažite trodimenzionalno područje, unutar kocke "08vj_rijesene_149.gif"
"08vj_rijesene_150.gif"+"08vj_rijesene_151.gif""08vj_rijesene_152.gif" < 4   i   "08vj_rijesene_153.gif"+"08vj_rijesene_154.gif""08vj_rijesene_155.gif" < 1.

"08vj_rijesene_156.gif"

"08vj_rijesene_157.gif"

Notebook izradili: Vladimir Benić i Sonja Gorjanc


Created by Wolfram Mathematica 6.0  (13 April 2008) Valid XHTML 1.1!