Perlin-kohina

Perlinin kohina tai Perlin-kohina on Ken Perlinin vuonna 1983 kehittämä algoritmi satunnaisen kohinan luomiseen.

Perlinin kohina tuottaa pilviä muistuttavan kuvan. Sitä voidaan käyttää simuloimaan myös esimerkiksi tulta ja savua. Täysin satunnaisten tekstuurien luontiin verrattuna Perlin-kohinan ehkä suurin etu on se, että satunnaisten yksityiskohtien koko pysyy samana ja sen pystyy määrittämään.Pelimaaston generointi s. 2

Perlin piti tietokoneella tuotettua grafiikkaa epärealistisena, ja työskennellessään Tron-elokuvan parissa 1981 hän alkoi kehitellä proseduraalisesti tuotettuja tekstuureja. Tron on ensimmäinen elokuva, jossa käytettiin suurta määrää varjostettua tietokonegrafiikkaa. Perkin-Elmer ja Gould/SEL -tietokoneissa oli vähäinen määrä RAM-muistia, johon ei mahtunut luonnollinen tekstuuri. Kohinan avulla voitiin luoda matemaattisilla kaavoilla tekstuureita. Perlin esitteli tuloksensa SIGGRAPH 84 -konferenssissa ja julkaisi artikkelin.  SIGGRAPH 85:een.Noisemachine

Perlin on toiminut New Yorkin yliopiston tietotekniikan apulaisprofessorina. Hän sai vuonna 1997 Perlin-kohinan kehittämisestä Oscar-palkinnon (Tieteellisen tai teknisen saavutuksen Oscar-palkinto).  Kohinan käyttökohteeksi on mainittu esim. Jurassic Parkin dinosaurusten ihon muuttaminen karheaksi.

Perlin-kohina on luonteeltaan hilapohjainen gradienttikohina. Kohinafunktion perusprimitiivinä on skalaarikentän sijaan vektorikenttä. Jokaiseen kokonaislukupisteeseen arvotaan satunnainen gradienttivektori, jonka avulla lasketaan gradienttiarvo pisteen ympäristössä. Tämän jälkeen lopullinen arvo saadaan interpoloimalla gradienttiarvojen välillä n-ulotteisesti.

Perlinin kohinafunktiosta on tehty useita toteutuksia. Ensimmäiset olivat Perlinin alkuperäinen C-kielinen versio vuodelta 1985 ja myöhempi Perlinin parannettu versio vuodelta 2002, johon liittyy Java-toteutus.Jussi Iho: Proseduraaliset kohigeneraattorit Tampereen yliopisto. Kandidaatintyö s. 20

Lähteet

Aiheesta muualla
 - Perlinin verkkosivun arkisto, sisältää alkuperäisen C-koodin
  Vuoden 2002 artikkeli
 Vuoden 2002 toteutus


Luokka:Algoritmit