Nėrinys

2022-08-12 11:11

Don’t even know whose bed I’m in…

Toliau pateiktas (pseudo)kodas generuoja taškus plokštumoje arba, paprasčiau sakant, paveikslą:


Goals = [(0, 0), (1, 0), (0.5, sqrt(3)/2)];
curr = random(Goals);

for i = 1:N
    dest = random(Goals);
    next = 1/2 * (curr + dest);
    curr = next;

Procesą apibrėžia tikslų rinkinys (Goals), viena taisyklė (nueiti pusę (1/2) kelio iki pasirinkto tikslo) ir atsitiktinumas (random()). Ar galite nuspėti, kaip atrodys paveikslas iš N taškų?

Štai vienas variantas:

Galutinis vaizdas yra fiksuotas, jį lemia tik tikslai ir taisyklė(s). Tačiau dėl atsitiktinumo vaizdas išryškėja tik turint daug taškų, o kiekvienas kelias (trajektorija) iki jo skiriasi.

Pagalvokite, kodėl būtent šį pavyzdį renkuosi kaip tinklaraščio pristatymą.

 

* * *

 

Jau girdžiu pasipiktinimo šūksnius iš tų, kurių esybė atseit turtingesnė už trivialią taisyklę, ir išvis kodėl aš pradedu nuo trikampės kvailio kepurės. Bėda ta, kad stačiakampės konservų dėžutės atveju jokia struktūra taip ir neatsiranda:

Rodyti

O štai kelyje pasitaikančios nepasiekiamos kliūtys baigiasi… visiškai kitaip:

Rodyti

(Programų kodas su komentarais atsiras kitame įraše.)




Komentarai

  1. ST, 2022.08.12 11:11 #

    Ceci n’est pas une pipe.