Grafika-generátor

A szerver minden képet valódi PHP-algoritmussal, GD-vel rajzol meg: kaotikus attraktorok milliónyi pontja, csillapított ingák selyemszálai, áramló részecskék, domborzati szintvonalak. Válassz mintát és palettát, léptesd a seedet, vagy kérj egy meglepetést - a link pontosan ugyanazt a képet hozza vissza.

Minta

Különös attraktor: egyetlen pont pályája millió lépésen át, sűrűség-hisztogrammal és logaritmikus fényleképezéssel.

Paletta
Méret
Háttérkép és poszter
Részletesség
Szerveroldalon, PHP GD-vel generált procedurális grafika - Attraktor, Kozmikus, seed 129970935

seed 129970935

Kézzel válogatott minta-, paletta- és seed-kombinációk. Kattints egyre, és a szerver élőben újrarajzolja.

Hogyan készülnek ezek a képek?

Minden kép egy matematikai szabály futásidejű eredménye: ugyanaz a szabály más seeddel mindig más, de rokon képet ad. A számítás teljes egészében a szerveren, PHP-ban fut (GD-vel), a böngésző csak a kész PNG-t kapja meg.

Az Attraktor, a Harmonográf és az Áramvonalak nem egyenként rajzolt vonalakból áll: sok millió pontot számolunk egy sűrűség-hisztogramba, és a darabszámot logaritmikusan képezzük fényerőre. Így a halvány fátylak és az izzó magok egyszerre látszanak - ugyanaz az elv, mint a csillagfotók hosszú expozíciójánál. Az attraktornál a seedből több paraméter-jelöltet próbálunk ki egy rövid próbafutással, és csak a "szépet" tartjuk meg.

A Köd és a Szintvonalak simplex-zajra épül, amit egy másik zaj "terel el" (domain warp) - ettől lesznek a formák kavargók, folyószerűek. A szintvonalakat a marching squares algoritmus adja, az árnyékolást a felület normálvektora és egy képzeletbeli fényforrás.

A színek OKLab-színtérben keverednek: ez a szemünk számára egyenletes, így az átmenetek telítettek maradnak, nem szürkülnek el. A végső simítás (élsimítás túlmintavételezéssel, fény-derengés, vignetta és film-szemcse) mind a GD natív műveleteiből áll, pixelenkénti PHP-ciklus nélkül.

Az előnézet kis felbontású, töredék-iterációs gyors render, ezért jelenik meg szinte azonnal; az éles kép utána érkezik. Minden numerikus bemenet szorított, a méret és az iterációszám zárt felső korlátot kap, a végpontnak pedig kérés-korlátja van.