{"id":1,"date":"2022-08-12T11:11:13","date_gmt":"2022-08-12T08:11:13","guid":{"rendered":"http:\/\/web.vu.lt\/ff\/s.toliautas\/?p=1"},"modified":"2022-08-12T23:53:10","modified_gmt":"2022-08-12T20:53:10","slug":"weave","status":"publish","type":"post","link":"https:\/\/web.vu.lt\/ff\/s.toliautas\/2022\/08\/12\/weave\/","title":{"rendered":"N\u0117rinys"},"content":{"rendered":"\u201c<a href=\"https:\/\/www.youtube.com\/watch?v=_91HbYkguwk&amp;t=52s\" target=\"_blank\" rel=\"noopener\">Don&#8217;t even know whose bed I&#8217;m in&#8230;<\/a>\u201d<\/p>\n<p>Toliau pateiktas (pseudo)kodas generuoja ta\u0161kus plok\u0161tumoje arba, papras\u010diau sakant, paveiksl\u0105:<\/p>\n<hr \/>\n<pre>Goals = [(0, 0), (1, 0), (0.5, sqrt(3)\/2)];\r\ncurr = random(Goals);\r\n\r\nfor i = 1:N\r\n    dest = random(Goals);\r\n    next = 1\/2 * (curr + dest);\r\n    curr = next;<\/pre>\n<hr \/>\n<p>Proces\u0105 apibr\u0117\u017eia tiksl\u0173 rinkinys (<em>Goals<\/em>), viena taisykl\u0117 (nueiti pus\u0119 (<em>1\/2<\/em>) kelio iki pasirinkto tikslo) ir atsitiktinumas (<em>random()<\/em>). Ar galite nusp\u0117ti, kaip atrodys paveikslas i\u0161 <em>N<\/em> ta\u0161k\u0173?<\/p>\n<p><!--more-->\u0160tai vienas variantas:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-233 size-full\" src=\"https:\/\/web.vu.lt\/ff\/s.toliautas\/wp-content\/uploads\/2022\/08\/chaos_game.gif\" alt=\"\" width=\"560\" height=\"420\" \/><\/p>\n<p>Galutinis vaizdas yra fiksuotas, j\u012f lemia tik tikslai ir taisykl\u0117(s). Ta\u010diau d\u0117l atsitiktinumo vaizdas i\u0161ry\u0161k\u0117ja tik turint daug ta\u0161k\u0173, o kiekvienas kelias (trajektorija) iki jo skiriasi.<\/p>\n<p>Pagalvokite, kod\u0117l b\u016btent \u0161\u012f pavyzd\u012f renkuosi kaip tinklara\u0161\u010dio pristatym\u0105.<\/p>\n<p>&nbsp;<\/p>\n<p>* * *<\/p>\n<p>&nbsp;<\/p>\n<p>Jau gird\u017eiu pasipiktinimo \u0161\u016bksnius i\u0161 t\u0173, kuri\u0173 esyb\u0117 atseit turtingesn\u0117 u\u017e triviali\u0105 taisykl\u0119, ir i\u0161vis kod\u0117l a\u0161 pradedu nuo trikamp\u0117s kvailio kepur\u0117s. B\u0117da ta, kad sta\u010diakamp\u0117s <a href=\"https:\/\/www.youtube.com\/watch?v=LB5YkmjalDg\" target=\"_blank\" rel=\"noopener\">konserv\u0173<\/a> d\u0117\u017eut\u0117s atveju jokia strukt\u016bra taip ir neatsiranda:<\/p>\n<span class=\"collapseomatic \" id=\"id69d5a665acee7\"  tabindex=\"0\"     >Rodyti<\/span><span id='swap-id69d5a665acee7'  class='colomat-swap' style='display:none;'>Sl\u0117pti<\/span><div id=\"target-id69d5a665acee7\" class=\"collapseomatic_content \">\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-238\" src=\"https:\/\/web.vu.lt\/ff\/s.toliautas\/wp-content\/uploads\/2022\/08\/chaos_game_rec.gif\" alt=\"\" width=\"560\" height=\"420\" \/><br \/>\n<\/div>\n<p>O \u0161tai kelyje pasitaikan\u010dios nepasiekiamos kli\u016btys baigiasi&#8230; visi\u0161kai kitaip:<\/p>\n<span class=\"collapseomatic \" id=\"id69d5a665acf3f\"  tabindex=\"0\"     >Rodyti<\/span><span id='swap-id69d5a665acf3f'  class='colomat-swap' style='display:none;'>Sl\u0117pti<\/span><div id=\"target-id69d5a665acf3f\" class=\"collapseomatic_content \">\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-243 size-full\" src=\"https:\/\/web.vu.lt\/ff\/s.toliautas\/wp-content\/uploads\/2022\/08\/chaos_game_rest.gif\" alt=\"\" width=\"560\" height=\"420\" \/><br \/>\n<\/div>\n<p>(Program\u0173 kodas su komentarais atsiras kitame \u012fra\u0161e.)","protected":false},"excerpt":{"rendered":"<p>\u201cDon&#8217;t even know whose bed I&#8217;m in&#8230;\u201d Toliau pateiktas (pseudo)kodas generuoja ta\u0161kus plok\u0161tumoje arba, papras\u010diau sakant, paveiksl\u0105: 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\u0105 apibr\u0117\u017eia tiksl\u0173 rinkinys (Goals), viena taisykl\u0117 (nueiti pus\u0119 (1\/2) [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2,3],"tags":[],"class_list":["post-1","post","type-post","status-publish","format-standard","hentry","category-coding","category-musings"],"_links":{"self":[{"href":"https:\/\/web.vu.lt\/ff\/s.toliautas\/wp-json\/wp\/v2\/posts\/1","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/web.vu.lt\/ff\/s.toliautas\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/web.vu.lt\/ff\/s.toliautas\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/web.vu.lt\/ff\/s.toliautas\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/web.vu.lt\/ff\/s.toliautas\/wp-json\/wp\/v2\/comments?post=1"}],"version-history":[{"count":16,"href":"https:\/\/web.vu.lt\/ff\/s.toliautas\/wp-json\/wp\/v2\/posts\/1\/revisions"}],"predecessor-version":[{"id":253,"href":"https:\/\/web.vu.lt\/ff\/s.toliautas\/wp-json\/wp\/v2\/posts\/1\/revisions\/253"}],"wp:attachment":[{"href":"https:\/\/web.vu.lt\/ff\/s.toliautas\/wp-json\/wp\/v2\/media?parent=1"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/web.vu.lt\/ff\/s.toliautas\/wp-json\/wp\/v2\/categories?post=1"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/web.vu.lt\/ff\/s.toliautas\/wp-json\/wp\/v2\/tags?post=1"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}