Benutzer-Werkzeuge

Webseiten-Werkzeuge


ss14:dokumentation

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
ss14:dokumentation [2014/07/03 18:11]
p.kugelstadt
ss14:dokumentation [2016/05/10 14:46] (aktuell)
Zeile 27: Zeile 27:
  Kontrahenten.append(Mensch)  Kontrahenten.append(Mensch)
  return Kontrahenten  return Kontrahenten
 +</​code>​
 +
 +Stufe 1 unserer(dokumentierten) Ausweichsfunktion:​
 +Das Ziel nun ist: Gassenbildung ​ -  ist bisher nicht der Fall
 +
 +<code python>
 + def Ausweichen(self,​Liste):​
 + '''​Gibt einen Geschwindigkeitsvektor zurueck, braucht einen Menschen und eine Liste von sichtbaren Mitmenschen(Kontrahenten)'''​
 + Ziel = self.eigenschaften['​Ziel'​]
 + Kraft = self.eigenschaften['​Lieblingsgeschwindigkeit'​] * (Ziel-vector(self.x,​self.y,​0))/​np.linalg.norm(Ziel-vector(self.x,​self.y,​0) )
 + for einzelner in Liste:
 + Gustav = vector(self.x-einzelner.x,​self.y - einzelner.y,​0) ​  #​Vektor von einem anderen Menschen zum '​Fuessgaenger'​
 + Kraft += (self.eigenschaften['​Abstossungskonstante'​]*Gustav *1/​(np.linalg.norm(Gustav)**3)) *(1-Skalarprodukt(Ziel-vector(self.x,​self.y,​0),​vector(einzelner.vx,​einzelner.vy,​0))) #/​len(Liste)
 + if((np.linalg.norm(Gustav))<​4):​
 + Kraft += 1000*Gustav*1/​(np.linalg.norm(Gustav))/​(10*len(Liste))
 + if(np.linalg.norm(Kraft) > 6/3.6):
 + Kraft = (Kraft/​np.linalg.norm(Kraft))*6/​3.6
 + return Kraft
 </​code>​ </​code>​
ss14/dokumentation.1404403894.txt.gz · Zuletzt geändert: 2016/05/10 14:46 (Externe Bearbeitung)