Fractale objecten, planten en muziek

Een L-system is een wiskundig formalisme, dat in 1968 door Aristid Lindenmayer voorgesteld werd als een basis voor een axiomatische theorie voor ontwikkeling (groei). Zo'n L-system berust op herschrijving, d.w.z. ingewikkelde voorwerpen worden voorgesteld door herhaaldelijk delen van een eenvoudig startobject te vervangen met behulp van herschrijvende produktieregels. Na het scheppen van zo'n abstract object, gewoonlijk door een gering aantal herhalingen van deze regels, zijn allerlei interpretaties mogelijk. Mijn Turtle programma interpreteert zekere symbolen om lijnen te tekenen, de kleur en de lijndikte te veranderen, vertakkingen te maken of de richting van de lijn te veranderen. Dezelfde symbolen worden gebruikt voor de muziek om een Midi bestand te genereren. Aangezien ik Lindenmayer, Hogeweg en Hesper al jaren ken, was de elegantie (soms) van de tekeningen geen grote verrassing voor mij, maar het ontstaan van iets min of meer muzikaals was dat zeker wel. Het Midi-bestand wordt vervolgens bewerkt met Audacity, omgezet in een WAV-bestand en gereduceerd tot Ogg/Vorbis. Geen MP3, want dat format is niet open. Een WAV-bestand van 5 minuten had een omvang van 60 MB en het Ogg-bestand nog altijd 10 MB, zodat ik om mijn en uw data-transfer te beperken slechts het Ogg-bestand beschikbaar stel. Een audio CD geproduceerd met de WAV-bestanden is beschikbaar.
De L-system regels staan in File Sharing.
klein plaatjebeschrijvingvolledige afbeeldingOgg Vorbis
fig 3.2.8 Barnsley 1988 bekijk de afbeelding beluister de muziek
fig p272 Peitgen & Saube 1988 bekijk de afbeelding beluister de muziek
fig C8 Peitgen & Saube 1988 bekijk de afbeelding beluister de muziek
Koch curve bekijk de afbeelding beluister de muziek
Koch curve bekijk de afbeelding beluister de muziek
a classical dragon bekijk de afbeelding beluister de muziek
fig 10 Hogeweg 1976 bekijk de afbeelding beluister de muziek
fig 4 Hogeweg 1976 bekijk de afbeelding beluister de muziek
fig 7a Hogeweg 1976 bekijk de afbeelding beluister de muziek
fig 7b Hogeweg 1976 bekijk de afbeelding beluister de muziek
fig 8 Hogeweg 1976 bekijk de afbeelding beluister de muziek
fig 9 Hogeweg 1976 bekijk de afbeelding beluister de muziek
Hogeweg & Hesper 1974 bekijk de afbeelding beluister de muziek
fig 6.1c Prusinkiewicz & Hanan 1989 bekijk de afbeelding beluister de muziek
a flowering plant bekijk de afbeelding beluister de muziek
fig 3.11a Prusinkiewicz & Hanan 1989 bekijk de afbeelding beluister de muziek
fig 3.11b Prusinkiewicz & Hanan 1989 bekijk de afbeelding beluister de muziek
fig 3.11c Prusinkiewicz & Hanan 1989 bekijk de afbeelding beluister de muziek
fig 3.11d Prusinkiewicz & Hanan 1989 bekijk de afbeelding beluister de muziek
fig 3.11e Prusinkiewicz & Hanan 1989 bekijk de afbeelding beluister de muziek
fig 3.2a Prusinkiewicz & Hanan 1989 bekijk de afbeelding beluister de muziek
fig 3.2b Prusinkiewicz & Hanan 1989 bekijk de afbeelding beluister de muziek
fig 3.2c Prusinkiewicz & Hanan 1989 bekijk de afbeelding beluister de muziek
fig 3.2d Prusinkiewicz & Hanan 1989 bekijk de afbeelding beluister de muziek
fig 3.2e Prusinkiewicz & Hanan 1989 bekijk de afbeelding beluister de muziek
fig 4 Algorithmic Beaty of Plants bekijk de afbeelding beluister de muziek
fig 10 Algorithmic Beaty of Plants bekijk de afbeelding beluister de muziek
fig 11 Algorithmic Beaty of Plants bekijk de afbeelding beluister de muziek
fig. C.7b Peitgen & Saube, 1988 bekijk de afbeelding beluister de muziek

Om enig idee te geven van de genoemde produktieregels volgen nu deze regels voor de bloeiende plant.
Derivation length: 10
angle factor: 24
scale factor: 90
axiom: *K2P3A0*
ignore: +-
* < A0 > * --> FF[+A1]F[-A4]F
* < A1 > * --> F[+A2]F[-A5]F
* < A2 > * --> F[+A3]F[-A6]F
* < A3 > * --> F[+A4]F[-A7]F
* < A4 > * --> F[+A5]F[-A1]F
* < A5 > * --> F[+A6]F[-A2]F
* < A6 > * --> F[+A7]F[-A3]F
* < A7 > * --> P1F[+B]F[+B]F[-B]FBP3
* < B > * --> K7P6[+F][-F]FK2P3
* < F > * --> FF
F betekent: teken een lijnstuk; + betekent: 180/24 graden naar rechts; - betekent: naar links; K en P geven lijndikte en kleur aan.

Er bestaan natuurlijk veel meer manieren om min of meer interessante muziek automatisch te genereren. Een paar eeuwen geleden publiceerde J. J. Hummel te Berlijn een door Wolfgang Amadeus Mozart ontworpen methode om "contredances angloises" te schrijven zonder enige kennis van compositie. In die tijd moest men natuurlijk gebruik maken van gedrukte tabellen en het gooien van dobbelstenen; tegenwoordig gebruikt men uiteraard een computer (in ieder geval doe ik dat). Op onregelmatige tijdstippen zal ik met mijn programma een contredance genereren. Nadat ik 'muziek' had gecreƫerd vanuit een tekening, vroeg ik me af of dat proces omgekeerd zou kunnen worden. Nou ja, min of meer, bekijk het contredance plaatje.
Laat eens wat commentaar en reacties horen:

Naam: