Differences between revisions 2 and 4 (spanning 2 versions)
Revision 2 as of 2008-04-13 16:44:44
Size: 1492
Editor: anonymous
Comment:
Revision 4 as of 2008-04-14 11:04:24
Size: 1780
Editor: anonymous
Comment:
Deletions are marked like this. Additions are marked like this.
Line 9: Line 9:

== For loop ==

{{{#!python
In [19]: for ... in zip(range(0,4,1),range(4,0,-1)):
   ....: print i,j
   ....:
0 4
1 3
2 2
3 1
}}}


== Nested data structures ==
Line 46: Line 61:
 * Welchen Typs sind die Variablen?
 * Wieviel Arrays werden definiert?
 * Welchen Typs sind die Variablen? Was ist ihre Funktion?
 * Wieviele Arrays werden definiert?
Line 49: Line 64:
 * Welche Dimension haben die Arrays  * Welche Dimension haben die Arrays (-> Methode {{{.shape}}})
Line 54: Line 69:
Stellen Sie die drei einzelnen Komponenten in einer Abbildung dar. Stellen Sie die Schnitte der drei einzelnen Komponenten in einer Abbildung dar.

[[SiaExercisesLesson2LoesungRGB|Loesung]]

SiaProgrammingPython

2. Stunde - Übungen

For loop

   1 In [19]: for ... in zip(range(0,4,1),range(4,0,-1)):
   2    ....:     print i,j
   3    ....:
   4 0 4
   5 1 3
   6 2 2
   7 3 1

Nested data structures

rgb.png

   1 from scipy import empty,mgrid,exp
   2 from pylab import figure,clf,subplot,imshow,title,gray,plot,show,savefig
   3 
   4 def gaussian(center, width):
   5         """Returns a gaussian function"""
   6         center_y,center_x=float(center[0]),float(center[1])
   7         width_y,width_x=float(width[0]),float(width[1])
   8         return lambda y,x: exp(-(((center_y-y)/width_y)**2+((center_x-x)/width_x)**2)/2)
   9 
  10 
  11 Y,X=200,200 
  12 RGB=empty((Y,X,3),float) 
  13 D,I={ 'R':(0,0,0), 'G':(200,100,1), 'B':(00,200,2) },{} 
  14 y, x = mgrid[0:Y,0:X]
  15 figure(1)
  16 clf()
  17 for color in D.keys():
  18         I[color] = gaussian(D[color][0:2], (100,100))(y, x)
  19         RGB[:,:,D[color][2]]=I[color]
  20         subplot(2,2,D[color][2]+1)
  21         imshow(I[color],origin='lower')
  22         title(color)
  23         gray()
  24 subplot(2,2,4)
  25 imshow(RGB,origin='lower')
  26 title('RGB')
  27 show()
  28 savefig('rgb.png',dpi=100)

Datentypen

  • Stellen Sie eine Liste der Variablen auf, die das Programm enthält
  • Welchen Typs sind die Variablen? Was ist ihre Funktion?
  • Wieviele Arrays werden definiert?
  • Welche Arrays sind in anderen Datenstrukturen enthalten?
  • Welche Dimension haben die Arrays (-> Methode .shape)

Indizieren

Legen Sie für jeden Farbkomponente einen horizontalen (y=100) und vertikalen Schnitt (x=100) durch das Array RGB. Stellen Sie die Schnitte der drei einzelnen Komponenten in einer Abbildung dar.

Loesung

LehreWiki: SiaExercisesLesson2 (last edited 2008-04-21 13:16:44 by anonymous)