Geri qayıt
Inkwash: bir HTML faylında akvarel simulyatoru
SiTech AI Team3 წთ. საკითხავი

Inkwash: bir HTML faylında akvarel simulyatoru

Cono Uiteykerin Inkwash tətbiqi maye həlledicisi və Beer–Lambert göstərmə mərhələsi ilə mürəkkəbin və suyun kağızda davranışını təqlid edir. Tətbiqin hamısı asılılıqsız bir HTML faylıdır.

Cono Uiteyker brauzerdə işləyən akvarel eskiz tətbiqi Inkwash-ı və onun necə işlədiyini izah edən uzun texniki mətni dərc edib. Tətbiq min sətirdən az olan bir HTML faylıdır, asılılığı və build mərhələsi yoxdur; WebGL2 və render edilə bilən half-float teksturalar tələb edir — müəllif bunu təxminən 2021-ci ildən sonrakı avadanlığa aid edir.

Su fırçasından maye həlledicisinə

Layihə Anthropic-in Claude Fable 5 modeli ilə sınaq kimi başlayıb və müəllifin təbiət jurnalı vərdişini brauzerdə bərpa etmək cəhdinə çevrilib. Bu vərdiş Pilot G2 qələmi ilə waterbrush-ı — dəstəyində sıxıla bilən su rezervuarı olan neylon fırçanı — birləşdirir. Uiteyker yazır ki, koda özü toxunmayıb: faylı oxuya bilir, amma tətbiqi model yazıb; izah mətninin böyük hissəsi də belədir və bunu açıq şəkildə qeyd edir.

Kətanın altında rəsm piksel deyil, üzən nöqtəli teksturalar yığınıdır: hərəkətli piqment, çökmüş piqment, su, sürət sahəsi və təzyiq. Onlar hər kadrda təxminən onlarla WebGL2 şeyderi arasında ping-pong edir. Maye hərəkəti Cos Stamın 1999-cu il tarixli Stable Fluids alqoritminə əsaslanır; onun yarım-Laqranj adveksiyası hər hücrəni sürət sahəsi boyunca geriyə izlədiyi üçün böyük zaman addımı belə simulyasiyanı partlatmır. Təxminən 22 Jacobi iterasiyası ilə təzyiq proyeksiyası suyu sıxılmayan edir.

İcazə sistemi kimi nəmlik

Nəticənin kağız kimi oxunmasını təmin edən şey bütün simulyasiyanı qapılayan nəmlik sahəsidir. Sürət nəmliyin smoothstep-i ilə vurulur, ona görə quru yerdə axın mövcud ola bilmir və yuma öz sərhədində dayanır. Piqmentin hərəkətliliyi də eyni şəkildə ölçülür: nəm kağız mürəkkəbin sürünməsinə, isladılmış kağız isə axmasına imkan verir. Suyun özü axın sürətinin 0.6 misli ilə hərəkət edir və eksponensial quruyur; sürüşdürücü zaman sabitini təxminən 2 ilə 18 saniyə arasında qoyur. Təzə qələm mürəkkəbi özünün zəif nəmliyini də qoyur — buna görə qələm cizgisindən dərhal sonra keçən fırça xətti yumşaldır, köhnə cizgi isə möhkəm qalır.

Beer–Lambert və mavi halo

Piqment rəng kimi deyil, kanal üzrə optik sıxlıq kimi saxlanılır və göstərmə şeyderi onu Beer–Lambert qanunu ilə çevirir: kağızın rəngi sıxlığın eksponentinə vurulur. Buna görə üst-üstə düşən cizgilər boz rəngə yastılaşmaq əvəzinə dərinləşir, necə ki əsl glazelər davranır. Eyni seçim tətbiqin imza effektini də yaradır: yayılma mərhələsi hər kanalda fərqli sürətlə işləyir, ona görə nəm kənar özü-özünə tünd nüvəyə və ətrafında soyuq mavi-bənövşəyi haloya ayrılır — qara mürəkkəbin nəm kağızda xromatoqrafiyasının təqlidi.

Qatlanmanı ikinci, çökmüş piqment qatı təmin edir: "fix" düyməsi hərəkətli piqmenti sabit qata köçürən və kağızı anında qurudan 1.2 saniyəlik mərhələ işə salır; ağ quaş isə qata qeyri-şəffaf şəkildə həkk olunur. Müəllifin yazdığına görə, bütün zəncir — Jacobi iterasiyaları daxil olmaqla on iki şeyder mərhələsi — telefonda saniyədə 60 kadr sürətlə işləyir, çünki bahalı hesablama kobud şəbəkədə aparılır.

SSiTech

SiTech — AI ilə gücləndirilmiş veb hazırlanması

Sürətli və müasir saytlar qurur, AI-ı real biznes proseslərinə gətiririk. Layihəniz və ya sualınız var? Kömək etməyə hazırıq.