thumb|De ternaire vlinder en zijn opsplitsing in drie spiegelbeelden van zichzelf De vlinder is een fractale figuur die wordt verkregen door een segment te vervangen door twee varianten van de Koch-kromme, de zogenaamde lepidopterencurves, die tegenover elkaar staan en in tegengestelde richtingen lopen. Hij heeft eigenschappen die sterk lijken op die van de bekendere ternaire draak, die is gebaseerd op een soortgelijke tegenstelling van een andere fractale curve. De vlinder is, net als de draak, een replicant van orde 3, aangezien hij kan worden opgesplitst in drie kopieën die lijken op de moederfiguur; in tegenstelling tot de draak kan hij echter worden opgesplitst in drie kopieën die spiegelbeelden zijn van het origineel. In 2009 publiceerde Giorgio Pietrocola op Tartapelago (website van Maecla) een studie met animaties waarin de algoritmische variant werd belicht die een draak genereert met een continu proces, terwijl de vlinder wordt gegenereerd met hetzelfde afwisselende proces.(it)Maecla,Tartapelago (2009) in bibliographie
Algoritme links|thumb|Vergelijking tussen algoritmen die de Koch-curve, de drakenkromme en de vlinderkromme genereren, waaruit ook de vlinder voortkomt
links|thumb|Vlinder en draak getekend door de schildpad van FMSLogo
Het algoritme om de vlinder-kromme te maken is vergelijkbaar met dat van de Koch-kromme. Om dit te benadrukken wordt een algoritme gebruikt dat langzamer convergeert dan het algoritme dat normaal gesproken voor de Koch-kromme wordt gebruikt, waarmee het op de even niveaus samenvalt. Zoals in de afbeelding te zien is, begint men in alle gevallen met een segment en vervangt men dit door twee segmenten die onder een hoek van 120 graden staan, zodat ze samen een gelijkbenige driehoek vormen. Dit proces wordt recursief voortgezet door dezelfde transformatie toe te passen op de segmenten die groeien als machten van twee. Bij de Koch-curve wordt op elk niveau in alle segmenten het deel van de constructie ten opzichte van het vorige niveau gewijzigd. Bij de vlinder- en drakenkromme daarentegen wisselt op elk niveau de constructie af tussen rechts en links van het vervangen segment. In het geval van de drakenkromme begint men op elk niveau altijd aan dezelfde kant, terwijl dit bij de vlinderkromme op elk niveau verandert. In de laatste twee vakjes van elke rij in de figuur herhaalt de verkregen kromme zich aan beide kanten op de mogelijke manieren. Eén voor de Koch-kromme, twee voor de andere.
FMSLogo programma to drafarper :lato :liv :s if :liv=0 [forward :lato stop] left 30*:s drafarper :lato/:r3 :liv-1 :s*:t salta -:lato/:r3 0 right 30*:s salta :lato 0 right 180 right 30*:s drafarper :lato/:r3 :liv-1 :s*:t salta -:lato/:r3 0 left 30*:s right 180 end
to drafarpercom :lato :liv :s make "r3 sqrt 3 hideturtle repeat 2 [drafarper :lato :liv :s right 180] salta :lato 0 showturtle end
to salta :alto :lungo penup forward :alto right 90 forward :lungo left 90 pendown end De procedure “salta” dient om de schildpad te verplaatsen zonder sporen achter te laten. De recursieve procedure ‘drafarper’ wordt gebruikt door “drafarpercom”. Als de variabele t gelijk is aan 1, wordt de draak getekend; als deze gelijk is aan -1, wordt de vlinder getekend, zoals te zien is in de afbeelding.
Vergelijking tussen vlinder en draak Zowel de vlinder als de draak hebben dezelfde oppervlakte als een ruit van 60,120,60,120 graden, indien geconstrueerd op basis van een segment gelijk aan de grootste diagonaal van de ruit. Dit komt doordat na elke iteratie de toegevoegde en de verwijderde oppervlakte elkaar precies compenseren.
Online bibliographie
Categorie:Fractale meetkunde