Benutzer-Werkzeuge

Webseiten-Werkzeuge


ws1920:zellulaere_automaten

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
ws1920:zellulaere_automaten [2020/03/29 22:27]
richard.wonneberger
ws1920:zellulaere_automaten [2020/03/29 23:14] (aktuell)
richard.wonneberger
Zeile 3: Zeile 3:
  
  
-Projektteilnehmer: Hanna, Mazal, Richard, Leroy und (Lars)+Projektteilnehmende: Hanna, Mazal, Richard, Leroy und (Lars) 
 + 
 + 
 +**Grundidee:​** ​
  
-**Grundidee:​** 
  
 Im Allgemeinen haben wir uns sehr für verschiedene Simulationen interessiert,​ wie zum Beispiel der Stau- oder Fluchtsimulationen. Beides sind Zelluläre Automaten. ​ Im Allgemeinen haben wir uns sehr für verschiedene Simulationen interessiert,​ wie zum Beispiel der Stau- oder Fluchtsimulationen. Beides sind Zelluläre Automaten. ​
Zeile 30: Zeile 32:
  
 In unserer Version wird das Updaten der Zellwerte durch zwei Matrixmultiplikationen und eine Boolesche Abfrage gewährleistet. ​ In unserer Version wird das Updaten der Zellwerte durch zwei Matrixmultiplikationen und eine Boolesche Abfrage gewährleistet. ​
-$$MT=Z$$ +$$ MT=Z $$ 
-Zu erst wird das Matrix M, in dem die Zustände der Zellen gespeichert sind, mit der Tridiagonalmatrix T multipliziert. Diese ist mit Nullen gefüllt, abgesehen von der Diagonalen, den beiden Nebendiagonalen und den anderen zwei Ecken.  +Zu erst wird die Matrix ​$M$, in der die Zustände der Zellen gespeichert sind, mit der Tridiagonalmatrix ​$Tmultipliziert. Diese ist mit Nullen gefüllt, abgesehen von der Diagonalen, den beiden Nebendiagonalen und den anderen zwei Ecken.  
- +$$ TZ=S $$ 
-2.: T*Z=S +In der entstandenen Matrix ​$Zist in jedem Feld die Summe der Zelle selbst und ihrer direkten horizontalen Nachbarn. Diese Matrix wird wieder mit der Tridiagonalmatrix,​ nun aber von der anderen Seite multipliziert um vertikal aufzuaddieren. Die entstandene Matrix ​$Shat in jedem Feld die Summe der ursprünglichen Zelle und ihrer 8 Partner. Um herauszufinden ob ein Zellwert im nächsten Zeitschritt 0 oder 1 ist, muss man nur noch mit einer booleschen Abfrage die obenbeschriebenen Regeln anwenden.
- +
-In der entstandenen Matrix Z ist in jedem Feld die Summe der Zelle selbst und ihrer direkten horizontalen Nachbarn. Diese Matrix wird wieder mit der Tridiagonalmatrix,​ nun aber von der anderen Seite multipliziert um vertikal aufzuaddieren. Die entstandene Matrix S hat in jedem Feld die Summe der ursprünglichen Zelle und ihrer 8 Partner. Um herauszufinden ob ein Zellwert im nächsten Zeitschritt 0 oder 1 ist, muss man nur noch mit einer booleschen Abfrage die obenbeschriebenen Regeln anwenden.+
  
 Zusätzlich haben wir verschiedene Anfangskonfigurationen eingerichtet. Man kann auswählen zwischen einer zufällig Generierten,​ einer Alternierenden oder eine durch das Einlesen von Bildern oder Matrizen entstehende Konfiguration. Die Größe des Spielfeldes kann man festlegen und eine zufällige wechselnde Colormap bestimmt die Farbe. Es gibt außerdem die Möglichkeit während des Spiels, durch die Nutzung der Maus, den Zustand mehrere Zellen zu wechseln und durch die Nutzung der Leertaste das Spiel zu stoppen. ​ Zusätzlich haben wir verschiedene Anfangskonfigurationen eingerichtet. Man kann auswählen zwischen einer zufällig Generierten,​ einer Alternierenden oder eine durch das Einlesen von Bildern oder Matrizen entstehende Konfiguration. Die Größe des Spielfeldes kann man festlegen und eine zufällige wechselnde Colormap bestimmt die Farbe. Es gibt außerdem die Möglichkeit während des Spiels, durch die Nutzung der Maus, den Zustand mehrere Zellen zu wechseln und durch die Nutzung der Leertaste das Spiel zu stoppen. ​
Zeile 67: Zeile 67:
  
 [[Dokumentierter Code(finale Version)]] [[Dokumentierter Code(finale Version)]]
 +
 +**Beispiele:​**
 +
 +BeispielGIF mit zufälliger Anfangskonfiguration:​
 +{{ :​ws1920:​gol_random.gif?​nolink |}}
 +
 +
 +
 +BeispielGIF mit alternierender Anfangskonfiguration:​
 +{{ :​ws1920:​gol_alternating.gif?​nolink |}}
 +
 +
 +
 +BeispielGIF mit MINTgrün-Logo als Anfangskonfiguration:​
 +{{ :​ws1920:​gol_mintgruen.gif?​nolink |}}
 +
 +
  
 __**Fazit:​**__ __**Fazit:​**__
ws1920/zellulaere_automaten.1585513631.txt.gz · Zuletzt geändert: 2020/03/29 22:27 von richard.wonneberger