Sierpinskytriangel.
the Sierpinsky triangle.

Om den här sidan råkar ha vissa likeheter med en viss sida på susning.nu så beror det på att jag har skapat även den. // Solkoll

Till startsidan Föregående sida Innehåll

En Sierpinskytriangel är ett fraktalmönster som först dokumentrades för vetenskapen av den polske matematikern Waclaw Sierpinsky. Sierpinskytrianglar går att skapa på en mängd olika sätt, några följer nedan. Det går även att tillämpa samma princip på figurer med fler än tre sidor och även i fler än två dimensioner.

Standarddefinitonen:

Idén är att man tar en triangel delar den i fyra lika delar genom att dra en linje från mittpunkten på varje sida till mittpunkten på dom andra sidorna och sedan ta bort triangeln som skapas i mitten, sedan upprepas (iterieras) detta för dom tre kvarvarande trianglarna o.s.v. Det här fungerar även i fler än två dimensioner.

Eller som här med fyra sidor :

Transformationsmetoder

Det finns flera sätt att transformera sig till en sierpinskytriangel. Den enklaste beskrivs på sidan enkla transformationer men man kan även skapa sierpinskytrianglar av lite mera valfri form och rotation med hjälp av en så kallad affin transformation och tre olika parameterblock eller med hjälp av rekursion där man i varje nod har tre grenar som är 50 procent kortare än grenarna på den tidigare nivån. Då kan man låta visa alla grenarna eller endast dom sista kortaste på den lägsta nivån.

Här har jag först transformerat mig till en sierpinskytriangel : s med hjälp av en rekursiv algoritm och sedan multiplicerat punkternas positioner med sig själva. Första bilden s^1, andra bilden s^2, tredje s^3 och sist s^4. Origo för koordinatsystemet ligger vid den nedre spetsen på den största vita triangeln i den första bilden.

Logikmetoden

Det allra enklaste sättet att skapa sierpinskytrianglar är att använda den logiska operatorn Och på x och y koordinatena och sedan markera dom punkter där resten är lika med 1. Det fina med den här metoden är att man inte behöver iteriera funktionen utan det går i ett svep så att säga.

Pseudokod: Det här förutsätter en bildyta på 256 x 256 pixlar.

Sätt höjd Till 256
Sätt bredd Till 256
Räkna y från 0 Till höjd -1
  Räkna x från 0 Till bredd -1
    Om [x Och y] = 1  Plot [x, y]
  Nästa x
Nästa y

Modifierar man koden en smula så kan man även skapa sierpinskytrianglar i färg och då fungerar det också med den logiska operatorn Eller.

Sätt höjd Till 256
Sätt bredd Till 256
Räkna y från 0 Till höjd -1
  Räkna x från 0 Till bredd -1
    Sätt färg Till x Eller y        // Färgnummret tas direkt ur logiken.
    Plot [x, y]
  Nästa x
Nästa y


// Tänk också på att här gäller det att ha färger så det räcker till det
   största värdet på x eller y annars är det till att börja filtrera :-)

Binär automat

Även den fraktala funktionen binär automat skapar sierpinskytrianglar. Standardmetoden beskrivs på den sidan men det går även att modifiera funktionen genom att testa fler eller andra celler än dom två som normalt används och på så sätt få flera färger eller orienteringar.

Fortsättning följer ...

Till startsidan Föregående sida Innehåll

Har du synpunkter på innehållet? Vill du rätta fel? Göra tillägg? Ställa frågor? då kan du kontakta Fractalus.