Afbeeldingen van cellulaire automaten maken

In de twee recentste nummers van PC-Active schreef ik over Stephen Wolframs A New Kind of Science, achtereenvolgens over cellulaire automaten en Turingmachines. Ik toonde er Mathematica Player en het Wolfram Demonstrations Project om de cellulaire automaten uit te proberen, maar wie wat avontuurlijker aangelegd is kan natuurlijk ook zelf een computerprogramma schrijven om de automaten te visualiseren. Of er eentje op internet vinden…

Op de pagina Fractal Food van John Walker vond ik een eenvoudig Perl-programma waarmee je afbeeldingen van de eendimensionale tweekleurige cellulaire automaten kan maken. Dit werkt eigenlijk heel handig. Een voorbeeld (126 is het volgnummer van de cellulaire automaat, 1024 de breedte en 512 het aantal stappen):

perl cell1d.pl 126 1024 512 | pnmtopng > rule126.png

Het programma cell1d.pl genereert een Netpbm bitmapbestand, dat je dan met het programma pnmtopng naar een png-bestand omzet. Het resultaat is het volgende png-bestand (klik erop voor de ware grootte):

rule126

Dit is natuurlijk de driehoek van Sierpinski, een bekende fractal. Andere interessante cellulaire automaten die je met dit programma kan genereren zijn:

perl cell1d.pl 110 1024 512 | pnmtopng > rule110.png

rule110

perl cell1d.pl 30 1024 512 | pnmtopng > rule30.png

rule30

De begintoestand van de evoluties van de cellulaire automaten bestaat uit allemaal lege cellen, maar met de optie –random instrueer je het programma om een willekeurige begintoestand te gebruiken. Een voorbeeld voor regel 126:

perl cell1d.pl --random 126 1024 512 | pnmtopng > rule126r.png

rule126 random

Post a Comment

Your email is never published nor shared. Required fields are marked *

*

*