Benutzer-Werkzeuge

Webseiten-Werkzeuge


ws1314:gruppe_2

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
ws1314:gruppe_2 [2014/02/06 14:47]
p.kugelstadt
ws1314:gruppe_2 [2016/05/10 14:46] (aktuell)
Zeile 16: Zeile 16:
 </​code>​ </​code>​
 Wenn man einen Punkt im array verändert, verändert man seine Farbe: Wenn man einen Punkt im array verändert, verändert man seine Farbe:
-<code python>​bild[j,​i] = (255 , 255 , 255) --> "Schwarz" </​code>​+<code python>​bild[j,​i] = (255 , 255 , 255) --> "Weiß" </​code>​
 j entspricht der Zeile, i der Spalte. j entspricht der Zeile, i der Spalte.
  
Zeile 68: Zeile 68:
  
 Konturensuche in eine bestimmte Richtung: Konturensuche in eine bestimmte Richtung:
- +<code python> 
- p = [breite,​laenge] +p = [breite,​laenge] 
- contour.append(p) +contour.append(p) 
- v = [1,0] +v = [1,0] 
- fertig = False +fertig = False 
- while (not fertig): +while (not fertig): 
- if(bild[(p[0]+v[0])] ​   [(p[1]+v[1])]):​ + if(bild[(p[0]+v[0])] ​   [(p[1]+v[1])]):​ 
- p1 = [(p[0]+v[0]),​(p[1]+v[1])] + p1 = [(p[0]+v[0]),​(p[1]+v[1])] 
- contour.append(p1) + contour.append(p1) 
- p = p1 + p = p1 
 +</​code>​
 Es werden nur die Punkte ein Array eingetragen*seufz* Es werden nur die Punkte ein Array eingetragen*seufz*
  
 Konturensuche in alle Richtungen: Konturensuche in alle Richtungen:
 <code python>​gefunden = False <code python>​gefunden = False
-for Richtung in range(0,​8):​ +if( bild_schwarzweiss[(p[0] + 1)][(p[1]+1)]):​ 
- if(Richtung == 0 and bild_schwarzweiss[(p[0] + 1)][(p[1]+1)]):​ + p1 = [(p[0] + 1)][(p[1]+1)] 
- p1 = [(p[0] + 1)][(p[1]+1)] + v  = [1][1] 
- v  = [1][1] + gefunden = True 
- gefunden = True + contour.append(p1) 
- contour.append(p1) + p = p1 
- p = p1 + break 
- break +if(bild[(p[0])] ​   [(p[1]+1)]):​ 
- if(Richtung == 1 and bild[(p[0])] ​   [(p[1]+1)]):​ + p1 = [(p[0])] ​   [(p[1]+1)] 
- p1 = [(p[0])] ​   [(p[1]+1)] + v = [0][1] 
- v = [0][1] + gefunden = True 
- gefunden = True + contour.append(p1) 
- contour.append(p1) + p = p1 
- p = p1 + break 
- break +if(bild[(p[0] - 1)][(p[1]+1)]):​ 
- if(Richtung == 2 and bild[(p[0] - 1)][(p[1]+1)]):​ + p1 = [(p[0] - 1)][(p[1]+1)] 
- p1 = [(p[0] - 1)][(p[1]+1)] + v = [-1][1] 
- v = [-1][1] + gefunden = True 
- gefunden = True + contour.append(p1) 
- contour.append(p1) + p = p1 
- p = p1 + break 
- break +if(bild[(p[0] + 1)][(p[1])]):​ 
- if(Richtung == 3 and bild[(p[0] + 1)][(p[1])]):​ + p1 = [(p[0] + 1)][(p[1])]  
- p1 = [(p[0] + 1)][(p[1])]  + v = [1][0] 
-                v = [1][0] + gefunden = True 
- gefunden = True + contour.append(p1) 
- contour.append(p1) + p = p1 
- p = p1 + break 
- break +if(Richtung == 4 and bild[(p[0] - 1)][(p[1])]):​ 
- if(Richtung == 4 and bild[(p[0] - 1)][(p[1])]):​ + p1 = [(p[0] - 1)][(p[1])] 
- p1 = [(p[0] - 1)][(p[1])] + v = [-1][0] 
- v = [-1][0] + gefunden = True 
- gefunden = True + contour.append(p1) 
- contour.append(p1) + p = p1 
- p = p1 + break 
- break +if(bild[(p[0] + 1)][(p[1] - 1)]): 
- if(Richtung == 5 and bild[(p[0] + 1)][(p[1] - 1)]): + p1 = [(p[0] + 1)][(p[1] - 1)] 
- p1 = [(p[0] + 1)][(p[1] - 1)] + v = [1][-1] 
- v = [1][-1] + gefunden = True 
- gefunden = True + contour.append(p1) 
- contour.append(p1) + p = p1 
- p = p1 + break 
- break +if(bild[(p[0])] ​   [(p[1]) - 1]): 
- if(Richtung == 6 and bild[(p[0])] ​   [(p[1]) - 1]): + p1 = [(p[0])] ​   [(p[1]) - 1] 
- p1 = [(p[0])] ​   [(p[1]) - 1] + v = [0][-1] 
- v = [0][-1] + gefunden = True 
- gefunden = True + contour.append(p1) 
- contour.append(p1) + p = p1 
- p = p1 + break 
- break +if(bild[(p[0]-1)] ​ [(p[1] - 1)]): 
- if(Richtung == 7 and bild[(p[0]-1)] ​ [(p[1] - 1)]): + p1 = [(p[0]-1)] ​ [(p[1] - 1)] 
- p1 = [(p[0]-1)] ​ [(p[1] - 1)] + v = [-1][-1] 
- v = [-1][-1] + gefunden = True 
- gefunden = True + contour.append(p1) 
- contour.append(p1) + p = p1 
- p = p1 + break
- break+
 </​code>​ </​code>​
 Wieder wird durch "​gefunden"​ sichergestellt,​ dass etwas gefunden wurde. Jede Richtung wird untersucht, wird etwas gefunden, gibt es einen Abbruch. Wieder wird durch "​gefunden"​ sichergestellt,​ dass etwas gefunden wurde. Jede Richtung wird untersucht, wird etwas gefunden, gibt es einen Abbruch.
 die Richtung in die gegangen wurde wird unter der Variable "​v"​ gespeichert. Der neue Punkt ist "​p1",​ der alte Punkt heisst "​p"​. Am Ende wird "​p"​ verändert, damit die Prozedur von neuem  beginnen kann. die Richtung in die gegangen wurde wird unter der Variable "​v"​ gespeichert. Der neue Punkt ist "​p1",​ der alte Punkt heisst "​p"​. Am Ende wird "​p"​ verändert, damit die Prozedur von neuem  beginnen kann.
  
- +Hier eine kleine Vereinfachung:​ 
- +<code python>​def Nebenstellen(bild ,v ,p ): 
 + gefunden = False 
 + if(bild[(p[0] + v[0])] ​  ​[(p[1]+v[1])]):​ 
 + p1 = [(p[0] + v[0]),​(p[1]+v[1])] 
 + gefunden = True 
 + p = p1 
 + if gefunden: 
 + return p, v, gefunden 
 + return False 
 +if Nebenstellen(bild ,[1,1] ,p ): 
 + p, v, gefunden = Nebenstellen(bild ,[1,1] ,p ) 
 + contour.append(p) 
 +if Nebenstellen(bild ,[0,1] ,p ): 
 + p, v, gefunden = Nebenstellen(bild ,[1,1] ,p ) 
 + contour.append(p) 
 +if Nebenstellen(bild ,[-1,1] ,p ): 
 + p, v, gefunden = Nebenstellen(bild ,[1,1] ,p ) 
 + contour.append(p) 
 +if Nebenstellen(bild ,[1,0] ,p ): 
 + p, v, gefunden = Nebenstellen(bild ,[1,1] ,p ) 
 + contour.append(p) 
 +if Nebenstellen(bild ,[0,0] ,p ): 
 + p, v, gefunden = Nebenstellen(bild ,[1,1] ,p ) 
 + contour.append(p) 
 +if Nebenstellen(bild ,[-1,0] ,p ): 
 + p, v, gefunden = Nebenstellen(bild ,[1,1] ,p ) 
 + contour.append(p) 
 +if Nebenstellen(bild ,[1,-1] ,p ): 
 + p, v, gefunden = Nebenstellen(bild ,[1,1] ,p ) 
 + contour.append(p) 
 +if Nebenstellen(bild ,[0,-1] ,p ): 
 + p, v, gefunden = Nebenstellen(bild ,[1,1] ,p ) 
 + contour.append(p) 
 +if Nebenstellen(bild ,[-1,-1] ,p ): 
 + p, v, gefunden = Nebenstellen(bild ,[1,1] ,p ) 
 + contour.append(p) 
 +</​code>​
ws1314/gruppe_2.1391694475.txt.gz · Zuletzt geändert: 2016/05/10 14:46 (Externe Bearbeitung)