Processing math: 100%

MPZI_vj04

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]).
       
       


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 r1=3r2=5.

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

       
       
       
  • Slika za r1=3r2=3:

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

       
       
       
  • Slika za r1=3r2=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

       x(u,v)=vcosuy(u,v)=vsinuz(u,v)=sinku

za kN  i  (u,v)[0,2π]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, 2).

       

 

Crtanje implicitno zadanih ploha

 

6. zadatak

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

       
       


7. zadatak

Nacrtajte plohu zadanu implicitnom jednadžbom  x4x2+y4y2+z4z2+0.5=0  za  (x,y,z)[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  x2+y2z2=0  za  (x,y,z)[1,1]3.

       


4. zadatak za zadaću

Ploha je zadana implicitnom jednadžbom  16x348x2y+24x2z48xy2+16y3+24y2z31z393,5307z272z=0.

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

       

 

Crtanje nivo–krivulja


6. zadatak

  1. Nacrtajte plohu zadanu eksplicitnom jednadžbom  z=x42x2y+2y3  za (x,y)[1,1]2.  Neka su točke različite visine različito obojane (opcija adaptive=True).
  2. Nacrtajte nivo–linije ove plohe. Crtež linija umjesto obojenih područja možete dobiti opcijom  fill = False.
  3. Nacrtajte novi prikaz nivo–linija 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=(x232)(x3)2+(y232)2  za  (x,y)[3,3]×[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–krivulja prikažite u boji primjenom opcije cmap = 'Set1'.