Loading [MathJax]/extensions/TeX/newcommand.js

MPZI_vj04_s_izradom

2457 days ago by fresl

Crtanje ploha 


Crtanje eksplicitno zadanih ploha


1. zadatak

Nacrtajte plohu zadanu jednadžbom  f(x,y)=sin(x2+y2)x2+y2+0,001  za  (x,y)[3,3]2.

       


2. zadatak

Nacrtajte istu plohu kao i u 1. zadatku tako da je svaka točka obojana bojom proporcionalnoj svojoj visini, to jest vrijednosti svoje z–koordinate  (opcija adaptive = True).

Neka budu prikazane i koordinatne osi duljine 4 i radijusa 2. Za kvalitetan prikaz osi treba naredbom

from sage.plot.plot3d.plot3d import axes

omogućiti pristup funkciji axes() koja omogućava definiranje duljine i debljine osi. Ta funkcija ima oblik

axes (scale = 1, radius = None, **kwds) 

pri čemu su 

  • scale — duljine osî (sve tri osi su iste duljine);
  • radius — radijusi osî.

Za crtanje plohe s osima koordinatnoga sustava treba

  1. definirati varijablu koja sadrži sliku osi, npr.  p1 = axes (scale = 3, radius = 1, color = 'red'),
  2. definirati varijablu koja sadrži sliku plohe, npr.  p2 = plot3d ( ... ),
  3. prikazati zajedničku sliku naredbom p1 + p2 ili show (p1 + p2) ili (p1 + p2).show().

Funkciji show() dodajte još dvije opcije:

  1. nije prikazan okvir (kvadar) u kojem se ploha nalazi  (opcija frame = False),
  2. duljine jediničnih dužina na osima neka se odnose u omjeru 2:2:1,5  (opcija aspect_ratio = [2, 2, 1.5]).
       

Može se zadati lista boja koje će biti upotrijebljene za bojanje, od najnižih točaka do najviših  (posljednja boja u listi se ne upotrebljava):

       

Ako lista sadrži samo dvije boje, točke se ne bojaju proporcionalno visini:

       


3. zadatak

Na istoj slici, nad područjem [1,1]2, nacrtajte kružni i hiperbolički paraboloid (njihove su jednadžbe  z=x2+y2  i  z=x2y2).

Pomoću odgovarajućih opcija učinite da:

  1. kružni paraboloid bude crven, a hiperbolički zelen  (opcija color = 'red' ili 'green'),
  2. prikazi ploha imaju 30% prozirnosti  (opcija opacity = 0.7),
  3. jedinice na osima budu jednake duljine  (opcija aspect_ratio = (1, 1, 1)),
  4. kvaliteta crteža bude povećana povećanjem upotrijebljenih točaka pri crtanju na 200 u svakom od smjerova  (opcija plot_points = 200 ili plot_points = [200, 200]).
       



1. zadatak za zadaću

Na istoj slici, nad područjem [0,4π]2, prikažite  plohe zadane eksplicitnim jednadžbama  z=cosxcosy  i  z=sinxsinyPrvu obojite žutom (yellow), a drugu narančastom (orange) bojom.

       

 

Crtanje ploha zadanih parametarskim jednadžbama

 

4. zadatak

Nacrtajte plohu kojoj su parametarske jednadžbe

       x(u,v)=sinu,   y(u,v)=cosu+sinv,   z(u,v)=cosv   za  (u,v)[0,2π]2.

Plohu prikažite sa 40% prozirnošću.

       


5. zadatak

Torus je ploha koja nastaje rotacijom kružnice polumjera r1 oko osi koja je od njezinoga središta udaljena za r2.

Ako je kružnica koja rotira okomita na ravninu (x,y) i ako rotira oko osi z, parametarske su jednadžbe torusa

       x(u,v)=(r2+r1cosv)cosu,   y(u,v)=(r2+r1cosv)sinu,   z(u,v)=r1sinv   za  (u,v)[0,2π]2.

  1. Definirajte funkciju torus koja ovisi o vrijednostima r1 i r2 i ima vrijednost koja je lista navedenih parametarskih jednadžbi  [x(u,v),y(u,v),z(u,v)].
  2. Za r1=3 nacrtajte tri takve plohe (r2=5,3,1)  za (u,v)[0,3π2]×[0,2π]  i za  (u,v)[0,π]×[π,2π].  Upotrijebite opciju  aspect_ratio = (1,1,1).
  • Definicija funkcije:
       

                                
                            

                                
  • Slika za r_1 = 3r_2 = 5.

Međusobni položaj kružnice koja rotira i osi rotacije:

       
       
       
  • Slika za r_1 = 3r_2 = 3:

Međusobni položaj kružnice koja rotira i osi rotacije:

       
       
       
  • Slika za r_1 = 3r_2 = 1:

Međusobni položaj kružnice koja rotira i osi rotacije:

       
       
       


2. zadatak za zadaću

Plückerovi konoidi su zadani parametarskim jednadžbama

       \begin{align}x(u, v) &= v\cos u \\y(u, v) &= v\sin u \\z(u, v) &= \sin k\,u\end{align}

za k \in \mathbb{N}  i  (u, v) \in [0, 2\pi]^2.

Nacrtajte Plückerove konoide za k=2, k=3 i k=6. Povećajte broj upotrijebljenih točaka opcijom  plot_points = 200,  a omjer duljina jediničnih dužina na osima zadajte opcijom  aspect_ratio = (1, 1, 3).

       

 

Crtanje implicitno zadanih ploha

 

6. zadatak

Nacrtajte plohu zadanu implicitnom jednadžbom  x^2 + y^2 - z^2 = 1  za  (x, y) \in [-3, 3]^2  i  z \in [-2, 2]  te za  x \in [-3, 3],   y \in [0, 3]  i  z \in [-2, 2]

       
       


7. zadatak

Nacrtajte plohu zadanu implicitnom jednadžbom  x^4 - x^2 + y^4 - y^2 + z^4 - z^2 + 0.5 = 0  za  (x, y, z) \in [-1, 1]^3.  Nemojte prikazati okvir (opcija frame = False), a plohu obojite grimiznom bojom (opcija color = 'crimson').

       


3. zadatak za zadaću

Nacrtajte plohu zadanu impicitnom jednadžbom  x^2 + y^2 - z^2 = 0  za  (x, y, z) \in [-1, 1]^3.

       


4. zadatak za zadaću

Ploha je zadana implicitnom jednadžbom  16x^3 - 48x^2\,y + 24x^2\,z - 48x\,y^2 + 16y^3 + 24y^2\,z - 31z^3 - 93,\!5307z^2 -72z = 0.

Prikažite je za  (x, y, z) \in [-5, 4]\times[-5, 4]\times[-4, 7].  Nemojte crtati okvir.

       

 

Crtanje nivo–krivulja


8. zadatak

  1. Nacrtajte plohu zadanu eksplicitnom jednadžbom  z=x^4-2x^2y+2y^3  za (x,y) \in [-1, 1]^2.  Neka su točke različite visine različito obojane (opcija adaptive = True).
  2. Nacrtajte nivo–krivulje ove plohe. Crtež linija umjesto obojenih područja možete dobiti opcijom  fill = False
  3. Nacrtajte novi prikaz nivo–krivulja primjenom opcije cmap = 'rainbow'.

Ako želite prikaz slike nekim drugim bojama, a ne nijansama sive, upotrijebite opciju cmap, kao npr. cmap = 'rainbow'. Popis svih mogućih paleta za cmap može se dobiti naredbom

sorted (colormaps)


  • crtanje plohe:
       
  • crtanje nivo–krivulja:
       
       
  • crtanje nivo–krivulja uporabom boja:
       
       


5. zadatak za zadaću

  1. Nacrtajte plohu koja je zadana jednadžbom z = (x^2 - 3^2)(x - 3)^2 + (y^2 - 3^2)^2  za  (x,y) \in [-3,3]\times [-5, 5]. Neka su točke različite visine različito obojane  (opcija adaptive = True).
  2. Nacrtajte njezinih 12 nivo–krivulja  (opcija contours = 12, podrazumijevani broj je oko 5).
  3. Na novoj slici nivo–krivulje prikažite u boji primjenom opcije cmap = 'Set1'.
       

 

 

 

 

 





Rješenje 1. zadatka za zadaću

Na istoj slici, nad područjem [0, 4\pi]^2, prikažite  plohe zadane eksplicitnim jednadžbama  z=\cos x \cdot \cos y  i  z=\sin x \cdot \sin y.  Prvu obojite žutom (yellow), a drugu narančastom (orange) bojom.

       


Rješenje 2. zadatka za zadaću

Plückerovi konoidi su zadani parametarskim jednadžbama

       \begin{align}x(u, v) &= v\cos u \\y(u, v) &= v\sin u \\z(u, v) &= \sin k\,u\end{align}

za k \in \mathbb{N}  i  (u, v) \in [0, 2\pi]^2.

Nacrtajte Plückerove konoide za k=2, k=3 i k=6.  Povećajte broj upotrijebljenih točaka opcijom plot_points = 200, a omjer duljina jediničnih dužina na osima zadajte opcijom aspect_ratio = (1, 1, 3).

       
       

Napomena: Za k = 2 konoid se može prikazati i u eksplicitnomu obliku

f (x, y) = \frac{2 x y}{x^2 + y^2}:

       
       
       


Rješenje 3. zadatka za zadaću

Nacrtajte plohu zadanu impicitnom jednadžbom   x^2 + y^2 - z^2 = 0  za  (x, y, z) \in [-1, 1]^3.

       


Rješenje 4. zadatka za zadaću

Ploha je zadana implicitnom jednadžbom  16x^3 - 48x^2\,y + 24x^2\,z - 48x\,y^2 + 16y^3 + 24y^2\,z - 31z^3 - 93,\!5307z^2 -72z = 0.

Prikažite je za  (x, y, z) \in [-5, 4]\times[-5, 4]\times[-4, 7]Nemojte crtati okvir.

       


Rješenje 5. zadatka za zadaću

  1. Nacrtajte plohu koja je zadana jednadžbom z = (x^2 - 3^2)(x - 3)^2 + (y^2 - 3^2)^2  za  (x,y) \in [-3,3]\times [-5, 5]. Neka su točke različite visine različito obojane  (opcija adaptive = True).
  2. Nacrtajte njezinih 12 nivo–linija  (opcija contours = 12, podrazumijevani broj je oko 5).
  3. Na novoj slici nivo–linije prikažite u boji primjenom opcije cmap = 'Set1'.