Juliamängden vid koordinaten (-1.404289, 0)


Författare/Upphovsman:
Kreditera:
Eget arbete
Upplösning:
640 x 705 Pixel (96245 Bytes)
Beskrivning:
Övre; Juliamängden vid punkten C = [-1.404289, 0.0], Under; Utsnitt från mittpunkten.

Bilden skapad av Solkoll.

Datorgrafik

Den övre delbilden visar en fraktal, juliamängden, på det sätt som normalt brukas när datorgrafik används, med en mer eller mindre slumpvis vald fallande färgskala som visar en ganska uppenbart digital bild av det fraktala mönstret.

Tidflyktssystem

Vid beräkningen så har ett tidflyktssystem (eng: time escape) brukats för att approximera juliamängden¹ genom att dela in det komplexa talplanet i ett rutnät där varje cell motsvarar exakt 1 pixel på skärmen. Sedan itereras (upprepas) formeln som ger fraktalen för varje punkt tills den antingen faller ur fångstmängden som begränsar systemet eller iterationsräknaren når sitt maxvärde. Då antas punkten vara en delmängd av fraktalen och markeras normalt med en kontrasterande färg, vanligtvis, men inte nödvändigtvis, svart. I annat fall antas den inte tillhöra den fraktala mängden och markeras som tillhörande fraktalens aura. Det uppnådda värdet på iterationsräknaren används sedan som index när färgen till den aktuella pixeln hämtas från en tabell innehållande en fördefinerad palett. Det som egentligen visas och beräknas är alltså inte fraktalen utan man undersöker vilka punkter som flyr systemet, vilka som inte tillhör fraktalen.

¹ I det här fallet men samma slags system brukas även för att visa mandelbrotmängden och andra liknande fraktaler.

Färgskala

Vanligtvis används en färgpalett med ett litet begränsat antal färger, ofta högst 256. Om man har valt att upprepa beräkningen av fraktalen fler gånger än antalet tillgängliga färger så brukar det vanligtvis lösas genom att starta om från början och återanvända samma färger på nytt. Om man genomför ett stort antal upprepningar så kan i stället en funktion användas där nivån för den röda, gröna och blå komponenterna i färgen hämtas från en sinusfunktion där dom olika grundfärgerna har olika frekvens och fas. På så sätt nås en färgskala där alla färger är unika. Funktionen kan sedan varieras med frekvensmodulationer och in eller uttoningar av nivåerna o.s.v. Färgskalan i den övre delbilden har skapats på det sättet och även bilderna på sidorna som beskriver Mandelbrotmängden och Juliamängden har den typen av färgsättning.

Sampling

Vid rendering av datorgrafik som visar en bild av något som har en högere upplösning än bildytan så uppstår ett problem. Bilden som visas är inte analog med funktionen utan vad som visas är en sampling av färgen vid pixlarnas mittpunkter. Man kan säga att det är en trunkering av bilden där den multipliceras med en konstant = storleken på bildytan som sedan ger ett heltal, (det går inte att visa mindre än 1 pixel). Det här gör i sint tur att bilden som visas är digitaliserad och skiftningarna menllan nivåerna är ganska hackiga i kanten eller vid hög komplexitet mer eller mindre slumpmässig.

[[:sv:Bild:Mandelbrot pixel.jpg|thumb|256px||right|Till vänster mandelbrotmängden och till höger ytan som motsvaras av en pixel i den första bilden.]]

Mandelbrotbilden till höger visar hur antagandet att punkten tillhör mängden kan vara fel om man betraktar hela ytan av den pixel som skall visas. Pixlar som ligger i gränslandet mellan fraktalen och auran kommer att mer eller mindre få en slumpvis vald färg på det här viset, liknande problematik uppstår vid ljudsampling där ljudet är rikt på övertoner, tex en tvärflöjt eller en cymbal som går högere än samplingsfrekvensen hos en CD-spelare vilket resulterar i mer eller mindre "färgat" brus.

Inom raytracing|¹ så brukar man lösa problemet med en metod som kallas "super sampling". Då delas pixeln in i ett antal subpixlar, vanliigtvis stycken, till exempel 2x2, 3x3 eller 5x5. Subpixlarna beräknas sedan separat och skärmens punkt får sedan en färg som motsvarar medelvärdet av summan från beräkningarna. Det tar bort en del av "grynigheten" i bilden men skapar i gengäld en viss suddighet. Samma resutat uppnås även om man använder samma metod vid beräkning av fraktaler. Nu har fraktaler den fördelen mot bilder som återskapar verkliga miljöer att angränsande punkter nästan alltid har närliggande färger som dessutom beror på närliggande resultat i beräkningarna. Det kan man utnyttja genom att inte använda medelvärdet från subpixlarna utan i stället välja det resutltat som fallit ur fångstmängden vid det minsta antalet upprepningar och förkasta dom övriga vilket resulterar i att punkten troligen får en färg som är närliggande de färger dom angränsande pixlarna har. Det tar bort mycket av suddigheten, redan vid det låga antalet 3x3 subpixlar så upphör grynigheten nästan helt. Nackdelen med metoden är att renderingstiden mångfaldigas (9 ggr vid 3x3).

¹ Raytracing, rendering av verklighetstrogen datorgrafik där den resulterande bilden visar dom ljusstrålar som når ögat från den aktuella vyn. Tekniken används till exempel för att skapa datoranimerad film.

Bilden av Juliamängden

Den nedre och större av dom två delbilderna ovan visar en yta som ungefär motsvarar 1 pixel i den mindre bilden överst. Vid renderingen så har en "super-sampling" bestående av 3x3 subpixlar brukats och pixlarna har sedan färgsatts med en ljusmängd där den första iteratioen är svart och "max antal iterationer" motsvaras av en vit pixel, dom mellanliggande pixlarna får ljusmängden sv:sqrt(vit*(n/max n)) där "vit" har ljusmängden 1,0. Rotutrdagningningen gör att ljuset som strålar från fraktalen ungefär följer samma icke-linjära kurva som funktionen som skapar fraktalen (z²+c). Sedan har ljuset färgsatts med en frekvens som motsvarar sv:energin i det utstrålade ljuset och det kalla mörka ljuset går mot sv:infrarött och det varma ljusa mot sv:ultraviolett. På sådant sätt har approximationen av fraktalen passats in i det sv:spektrum av den elektromangnetiska strålningen som människans öga kan se. Resultatet är att vi bara ser ljus och inte längere pixlig datorgrafik.
Licens:
Public domain
Licenskommentaren:
This image is in the public domain.

Mer information om licensen för bilden finns här. Senaste uppdateringen: Mon, 26 Aug 2024 09:56:38 GMT