"或春の日暮です。唐の都洛陽の西の門の下に、ぼんやり空を仰いでゐる、一人の若者がありました。若者は名は杜子春といつて、元は金持の息子でしたが、今は財産を費ひ尽して、その日の暮しにも困る位、憐な身分になつてゐるのです。何しろその頃洛陽といへば、天下に並ぶもののない、繁昌を極めた都ですから、往来にはまだしつきりなく、人や車が通つてゐました。門一ぱいに当つてゐる、油のやうな夕日の光の中に、老人のかぶつた紗の帽子や、土耳古の女の金の耳環や、白馬に飾つた色糸の手綱が、絶えず流れて行く容子は、まるで画のやうな美しさです。しかし杜子春は相変らず、門の壁に身を凭せて、ぼんやり空ばかり眺めてゐました。空には、もう細い月が、うらうらと靡いた霞の中に、まるで爪の痕かと思ふ程、かすかに白く浮んでゐるのです。「日は暮れるし、腹は減るし、その上もうどこへ行つても、泊めてくれる所はなささうだし――こんな思ひをして生きてゐる位なら、一そ川へでも身を投げて、死んでしまつた方がましかも知れない。」杜子春はひとりさつきから、こんな取りとめもないことを思ひめぐらしてゐたのです。するとどこからやつて来たか、突然彼の前へ足を止めた、片目眇の老人があります。それが夕日の光を浴びて、大きな影を門へ落すと、ぢつと杜子春の顔を見ながら、「お前は何を考へてゐるのだ。」と、横柄に言葉をかけました。「私ですか。私は今夜寝る所もないので、どうしたものかと考へてゐるのです。」老人の尋ね方が急でしたから、杜子春はさすがに眼を伏せて、思はず正直な答をしました。「さうか。それは可哀さうだな。」老人は暫く何事か考へてゐるやうでしたが、やがて、往来にさしてゐる夕日の光を指さしながら、「ではおれが好いことを一つ教へてやらう。今この夕日の中に立つて、お前の影が地に映つたら、その頭に当る所を夜中に掘つて見るが好い。きつと車に一ぱいの黄金が埋まつてゐる筈だから。」「ほんたうですか。」杜子春は驚いて、伏せてゐた眼を挙げました。所が更に不思議なことには、あの老人はどこへ行つたか、もうあたりにはそれらしい、影も形も見当りません。その代り空の月の色は前よりも猶白くなつて、休みない往来の人通りの上には、もう気の早い蝙蝠が二三匹ひらひら舞つてゐました。杜子春は一日の内に、洛陽の都でも唯一人といふ大金持になりました。あの老人の言葉通り、夕日に影を映して見て、その頭に当る所を、夜中にそつと掘つて見たら、大きな車にも余る位、黄金が一山出て来たのです。大金持になつた杜子春は、すぐに立派な家を買つて、玄宗皇帝にも負けない位、贅沢な暮しをし始めました。蘭陵の酒を買はせるやら、桂州の竜眼肉をとりよせるやら、日に四度色の変る牡丹を庭に植ゑさせるやら、白孔雀を何羽も放し飼ひにするやら、玉を集めるやら、錦を縫はせるやら、香木の車を造らせるやら、象牙の椅子を誂へるやら、その贅沢を一々書いてゐては、いつになつてもこの話がおしまひにならない位です。するとかういふ噂を聞いて、今までは路で行き合つても、挨拶さへしなかつた友だちなどが、朝夕遊びにやつて来ました。それも一日毎に数が増して、半年ばかり経つ内には、洛陽の都に名を知られた才子や美人が多い中で、杜子春の家へ来ないものは、一人もない位になつてしまつたのです。杜子春はこの御客たちを相手に、毎日酒盛りを開きました。その酒盛りの又盛なことは、中々口には尽されません。極かいつまんだだけをお話しても、杜子春が金の杯に西洋から来た葡萄酒を汲んで、天竺生れの魔法使が刀を呑んで見せる芸に見とれてゐると、そのまはりには二十人の女たちが、十人は翡翠の蓮の花を、十人は瑪瑙の牡丹の花を、いづれも髪に飾りながら、笛や琴を節面白く奏してゐるといふ景色なのです。しかしいくら大金持でも、御金には際限がありますから、さすがに贅沢家の杜子春も、一年二年と経つ内には、だんだん貧乏になり出しました。さうすると人間は薄情なもので、昨日までは毎日来た友だちも、今日は門の前を通つてさへ、挨拶一つして行きません。ましてとうとう三年目の春、又杜子春が以前の通り、一文無しになつて見ると、広い洛陽の都の中にも、彼に宿を貸さうといふ家は、一軒もなくなつてしまひました。いや、宿を貸す所か、今では椀に一杯の水も、恵んでくれるものはないのです。そこで彼は或日の夕方、もう一度あの洛陽の西の門の下へ行つて、ぼんやり空を眺めながら、途方に暮れて立つてゐました。するとやはり昔のやうに、片目眇の老人が、どこからか姿を現して、「お前は何を考へてゐるのだ。」と、声をかけるではありませんか。杜子春は老人の顔を見ると、恥しさうに下を向いた儘、暫くは返事もしませんでした。が、老人はその日も親切さうに、同じ言葉を繰返しますから、こちらも前と同じやうに、「私は今夜寝る所もないので、どうしたものかと考へてゐるのです。」と、恐る恐る返事をしました。「さうか。それは可哀さうだな、ではおれが好いことを一つ教へてやらう。今この夕日の中へ立つて、お前の影が地に映つたら、その胸に当る所を、夜中に掘つて見るが好い。きつと車に一ぱいの黄金が埋まつてゐる筈だから。」老人はかう言つたと思ふと、今度も亦人ごみの中へ、掻き消すやうに隠れてしまひました。杜子春はその翌日から、忽ち天下第一の大金持に返りました。と同時に相変らず、仕放題な贅沢をし始めました。庭に咲いてゐる牡丹の花、その中に眠つてゐる白孔雀、それから刀を呑んで見せる、天竺から来た魔法使――すべてが昔の通りなのです。ですから車に一ぱいあつた、あの夥しい黄金も、又三年ばかり経つ内には、すつかりなくなつてしまひました。「お前は何を考へてゐるのだ。」片目眇の老人は、三度杜子春の前へ来て、同じことを問ひかけました。勿論彼はその時も、洛陽の西の門の下に、ほそぼそと霞を破つてゐる三日月の光を眺めながら、ぼんやり佇んでゐたのです。「私ですか。私は今夜寝る所もないので、どうしようかと思つてゐるのです。」「さうか。それは可哀さうだな。ではおれが好いことを教へてやらう。今この夕日の中へ立つて、お前の影が地に映つたら、その腹に当る所を、夜中に掘つて見るが好い。きつと車に一ぱいの――」老人がここまで言ひかけると、杜子春は急に手を挙げて、その言葉を遮りました。「いや、お金はもう入らないのです。」「金はもう入らない?ははあ、では贅沢をするにはとうとう飽きてしまつたと見えるな。」老人は審しさうな眼つきをしながら、ぢつと杜子春の顔を見つめました。「何、贅沢に飽きたのぢやありません。人間といふものに愛想がつきたのです。」杜子春は不平さうな顔をしながら、突慳貪にかう言ひました。「それは面白いな。どうして又人間に愛想が尽きたのだ?」「人間は皆薄情です。私が大金持になつた時には、世辞も追従もしますけれど、一旦貧乏になつて御覧なさい。柔しい顔さへもして見せはしません。そんなことを考へると、たとひもう一度大金持になつた所が、何にもならないやうな気がするのです。」老人は杜子春の言葉を聞くと、急ににやにや笑ひ出しました。「さうか。いや、お前は若い者に似合はず、感心に物のわかる男だ。ではこれからは貧乏をしても、安らかに暮して行くつもりか。」杜子春はちよいとためらひました。が、すぐに思ひ切つた眼を挙げると、訴へるやうに老人の顔を見ながら、「それも今の私には出来ません。ですから私はあなたの弟子になつて、仙術の修業をしたいと思ふのです。いいえ、隠してはいけません。あなたは道徳の高い仙人でせう。仙人でなければ、一夜の内に私を天下第一の大金持にすることは出来ない筈です。どうか私の先生になつて、不思議な仙術を教へて下さい。」老人は眉をひそめた儘、暫くは黙つて、何事か考へてゐるやうでしたが、やがて又につこり笑ひながら、「いかにもおれは峨眉山に棲んでゐる、鉄冠子といふ仙人だ。始めお前の顔を見た時、どこか物わかりが好ささうだつたから、二度まで大金持にしてやつたのだが、それ程仙人になりたければ、おれの弟子にとり立ててやらう。」と、快く願を容れてくれました。杜子春は喜んだの、喜ばないのではありません。老人の言葉がまだ終らない内に、彼は大地に額をつけて、何度も鉄冠子に御時宜をしました。「いや、さう御礼などは言つて貰ふまい。いくらおれの弟子にした所で、立派な仙人になれるかなれないかは、お前次第できまることだからな。――が、兎も角もまづおれと一しよに、峨眉山の奥へ来て見るが好い。おお、幸、ここに竹杖が一本落ちてゐる。では早速これへ乗つて、一飛びに空を渡るとしよう。」鉄冠子はそこにあつた青竹を一本拾ひ上げると、口の中に呪文を唱へながら、杜子春と一しよにその竹へ、馬にでも乗るやうに跨りました。すると不思議ではありませんか。竹杖は忽ち竜のやうに、勢よく大空へ舞ひ上つて、晴れ渡つた春の夕空を峨眉山の方角へ飛んで行きました。杜子春は胆をつぶしながら、恐る恐る下を見下しました。が、下には唯青い山々が夕明りの底に見えるばかりで、あの洛陽の都の西の門は、(とうに霞に紛れたのでせう。)どこを探しても見当りません。その内に鉄冠子は、白い鬢の毛を風に吹かせて、高らかに歌を唱ひ出しました。朝に北海に遊び、暮には蒼梧。袖裏の青蛇、胆気粗なり。三たび嶽陽に入れども、人識らず。朗吟して、飛過す洞庭湖。二人を乗せた青竹は、間もなく峨眉山へ舞ひ下りました。そこは深い谷に臨んだ、幅の広い一枚岩の上でしたが、よくよく高い所だと見えて、中空に垂れた北斗の星が、茶碗程の大きさに光つてゐました。元より人跡の絶えた山ですから、あたりはしんと静まり返つて、やつと耳にはひるものは、後の絶壁に生えてゐる、曲りくねつた一株の松が、こうこうと夜風に鳴る音だけです。二人がこの岩の上に来ると、鉄冠子は杜子春を絶壁の下に坐らせて、「おれはこれから天上へ行つて、西王母に御眼にかかつて来るから、お前はその間ここに坐つて、おれの帰るのを待つてゐるが好い。多分おれがゐなくなると、いろいろな魔性が現れて、お前をたぶらかさうとするだらうが、たとひどんなことが起らうとも、決して声を出すのではないぞ。もし一言でも口を利いたら、お前は到底仙人にはなれないものだと覚悟をしろ。好いか。天地が裂けても、黙つてゐるのだぞ。」と言ひました。「大丈夫です。決して声なぞは出しはしません。命がなくなつても、黙つてゐます。」「さうか。それを聞いて、おれも安心した。ではおれは行つて来るから。」老人は杜子春に別れを告げると、又あの竹杖に跨つて、夜目にも削つたやうな山々の空へ、一文字に消えてしまひました。杜子春はたつた一人、岩の上に坐つた儘、静に星を眺めてゐました。すると彼是半時ばかり経つて、深山の夜気が肌寒く薄い着物に透り出した頃、突然空中に声があつて、「そこにゐるのは何者だ。」と叱りつけるではありませんか。しかし杜子春は仙人の教通り、何とも返事をしずにゐました。所が又暫くすると、やはり同じ声が響いて、「返事をしないと立ち所に、命はないものと覚悟しろ。」と、いかめしく嚇しつけるのです。杜子春は勿論黙つてゐました。と、どこから登つて来たか、爛々と眼を光らせた虎が一匹、忽然と岩の上に躍り上つて、杜子春の姿を睨みながら、一声高く哮りました。のみならずそれと同時に、頭の上の松の枝が、烈しくざわざわ揺れたと思ふと、後の絶壁の頂からは、四斗樽程の白蛇が一匹、炎のやうな舌を吐いて、見る見る近くへ下りて来るのです。杜子春はしかし平然と、眉毛も動かさずに坐つてゐました。虎と蛇とは、一つ餌食を狙つて、互に隙でも窺ふのか、暫くは睨合ひの体でしたが、やがてどちらが先ともなく、一時に杜子春に飛びかかりました。が、虎の牙に噛まれるか、蛇の舌に呑まれるか、杜子春の命は瞬く内に、なくなつてしまふと思つた時、虎と蛇とは霧の如く、夜風と共に消え失せて、後には唯、絶壁の松が、さつきの通りこうこうと枝を鳴らしてゐるばかりなのです。杜子春はほつと一息しながら、今度はどんなことが起るかと、心待ちに待つてゐました。すると一陣の風が吹き起つて、墨のやうな黒雲が一面にあたりをとざすや否や、うす紫の稲妻がやにはに闇を二つに裂いて、凄じく雷が鳴り出しました。いや、雷ばかりではありません。それと一しよに瀑のやうな雨も、いきなりどうどうと降り出したのです。杜子春はこの天変の中に、恐れ気もなく坐つてゐました。風の音、雨のしぶき、それから絶え間ない稲妻の光、――暫くはさすがの峨眉山も、覆るかと思ふ位でしたが、その内に耳をもつんざく程、大きな雷鳴が轟いたと思ふと、空に渦巻いた黒雲の中から、まつ赤な一本の火柱が、杜子春の頭へ落ちかかりました。杜子春は思はず耳を抑へて、一枚岩の上へひれ伏しました。が、すぐに眼を開いて見ると、空は以前の通り晴れ渡つて、向うに聳えた山山の上にも、茶碗程の北斗の星が、やはりきらきら輝いてゐます。して見れば今の大あらしも、あの虎や白蛇と同じやうに、鉄冠子の留守をつけこんだ、魔性の悪戯に違ひありません。杜子春は漸く安心して、額の冷汗を拭ひながら、又岩の上に坐り直しました。が、そのため息がまだ消えない内に、今度は彼の坐つてゐる前へ、金の鎧を着下した、身の丈三丈もあらうといふ、厳かな神将が現れました。神将は手に三叉の戟を持つてゐましたが、いきなりその戟の切先を杜子春の胸もとへ向けながら、眼を嗔らせて叱りつけるのを聞けば、「こら、その方は一体何物だ。この峨眉山といふ山は、天地開闢の昔から、おれが住居をしてゐる所だぞ。それも憚らずたつた一人、ここへ足を踏み入れるとは、よもや唯の人間ではあるまい。さあ命が惜しかつたら、一刻も早く返答しろ。」と言ふのです。しかし杜子春は老人の言葉通り、黙然と口を噤んでゐました。「返事をしないか。――しないな。好し。しなければ、しないで勝手にしろ。その代りおれの眷属たちが、その方をずたずたに斬つてしまふぞ。」神将は戟を高く挙げて、向うの山の空を招きました。その途端に闇がさつと裂けると、驚いたことには無数の神兵が、雲の如く空に充満ちて、それが皆槍や刀をきらめかせながら、今にもここへ一なだれに攻め寄せようとしてゐるのです。この景色を見た杜子春は、思はずあつと叫びさうにしましたが、すぐに又鉄冠子の言葉を思ひ出して、一生懸命に黙つてゐました。神将は彼が恐れないのを見ると、怒つたの怒らないのではありません。「この剛情者め。どうしても返事をしなければ、約束通り命はとつてやるぞ。」神将はかう喚くが早いか、三叉の戟を閃かせて、一突きに杜子春を突き殺しました。さうして峨眉山もどよむ程、からからと高く笑ひながら、どこともなく消えてしまひました。勿論この時はもう無数の神兵も、吹き渡る夜風の音と一しよに、夢のやうに消え失せた後だつたのです。北斗の星は又寒さうに、一枚岩の上を照らし始めました。絶壁の松も前に変らず、こうこうと枝を鳴らせてゐます。が、杜子春はとうに息が絶えて、仰向けにそこへ倒れてゐました。五杜子春の体は岩の上へ、仰向けに倒れてゐましたが、杜子春の魂は、静に体から抜け出して、地獄の底へ下りて行きました。この世と地獄との間には、闇穴道といふ道があつて、そこは年中暗い空に、氷のやうな冷たい風がぴゆうぴゆう吹き荒んでゐるのです。杜子春はその風に吹かれながら、暫くは唯木の葉のやうに、空を漂つて行きましたが、やがて森羅殿といふ額の懸つた立派な御殿の前へ出ました。御殿の前にゐた大勢の鬼は、杜子春の姿を見るや否や、すぐにそのまはりを取り捲いて、階の前へ引き据ゑました。階の上には一人の王様が、まつ黒な袍に金の冠をかぶつて、いかめしくあたりを睨んでゐます。これは兼ねて噂に聞いた、閻魔大王に違ひありません。杜子春はどうなることかと思ひながら、恐る恐るそこへ跪いてゐました。「こら、その方は何の為に、峨眉山の上へ坐つてゐた?」閻魔大王の声は雷のやうに、階の上から響きました。杜子春は早速その問に答へようとしましたが、ふと又思ひ出したのは、「決して口を利くな。」といふ鉄冠子の戒めの言葉です。そこで唯頭を垂れた儘、唖のやうに黙つてゐました。すると閻魔大王は、持つてゐた鉄の笏を挙げて、顔中の鬚を逆立てながら、「その方はここをどこだと思ふ?速に返答をすれば好し、さもなければ時を移さず、地獄の呵責に遇はせてくれるぞ。」と、威丈高に罵りました。が、杜子春は相変らず唇一つ動かしません。それを見た閻魔大王は、すぐに鬼どもの方を向いて、荒々しく何か言ひつけると、鬼どもは一度に畏つて、忽ち杜子春を引き立てながら、森羅殿の空へ舞ひ上りました。地獄には誰でも知つてゐる通り、剣の山や血の池の外にも、焦熱地獄といふ焔の谷や極寒地獄といふ氷の海が、真暗な空の下に並んでゐます。鬼どもはさういふ地獄の中へ、代る代る杜子春を抛りこみました。ですから杜子春は無残にも、剣に胸を貫かれるやら、焔に顔を焼かれるやら、舌を抜かれるやら、皮を剥がれるやら、鉄の杵に撞かれるやら、油の鍋に煮られるやら、毒蛇に脳味噌を吸はれるやら、熊鷹に眼を食はれるやら、――その苦しみを数へ立ててゐては、到底際限がない位、あらゆる責苦に遇はされたのです。それでも杜子春は我慢強く、ぢつと歯を食ひしばつた儘、一言も口を利きませんでした。これにはさすがの鬼どもも、呆れ返つてしまつたのでせう。もう一度夜のやうな空を飛んで、森羅殿の前へ帰つて来ると、さつきの通り杜子春を階の下に引き据ゑながら、御殿の上の閻魔大王に、「この罪人はどうしても、ものを言ふ気色がございません。」と、口を揃へて言上しました。閻魔大王は眉をひそめて、暫く思案に暮れてゐましたが、やがて何か思ひついたと見えて、「この男の父母は、畜生道に落ちてゐる筈だから、早速ここへ引き立てて来い。」と、一匹の鬼に云ひつけました。鬼は忽ち風に乗つて、地獄の空へ舞ひ上りました。と思ふと、又星が流れるやうに、二匹の獣を駆り立てながら、さつと森羅殿の前へ下りて来ました。その獣を見た杜子春は、驚いたの驚かないのではありません。なぜかといへばそれは二匹とも、形は見すぼらしい痩せ馬でしたが、顔は夢にも忘れない、死んだ父母の通りでしたから。「こら、その方は何のために、峨眉山の上に坐つてゐたか、まつすぐに白状しなければ、今度はその方の父母に痛い思ひをさせてやるぞ。」杜子春はかう嚇されても、やはり返答をしずにゐました。「この不孝者めが。その方は父母が苦しんでも、その方さへ都合が好ければ、好いと思つてゐるのだな。」閻魔大王は森羅殿も崩れる程、凄じい声で喚きました。「打て。鬼ども。その二匹の畜生を、肉も骨も打ち砕いてしまへ。」鬼どもは一斉に「はつ」と答へながら、鉄の鞭をとつて立ち上ると、四方八方から二匹の馬を、未練未釈なく打ちのめしました。鞭はりうりうと風を切つて、所嫌はず雨のやうに、馬の皮肉を打ち破るのです。馬は、――畜生になつた父母は、苦しさうに身を悶えて、眼には血の涙を浮べた儘、見てもゐられない程嘶き立てました。「どうだ。まだその方は白状しないか。」閻魔大王は鬼どもに、暫く鞭の手をやめさせて、もう一度杜子春の答を促しました。もうその時には二匹の馬も、肉は裂け骨は砕けて、息も絶え絶えに階の前へ、倒れ伏してゐたのです。杜子春は必死になつて、鉄冠子の言葉を思ひ出しながら、緊く眼をつぶつてゐました。するとその時彼の耳には、殆声とはいへない位、かすかな声が伝はつて来ました。「心配をおしでない。私たちはどうなつても、お前さへ仕合せになれるのなら、それより結構なことはないのだからね。大王が何と仰つても、言ひたくないことは黙つて御出で。」それは確に懐しい、母親の声に違ひありません。杜子春は思はず、眼をあきました。さうして馬の一匹が、力なく地上に倒れた儘、悲しさうに彼の顔へ、ぢつと眼をやつてゐるのを見ました。母親はこんな苦しみの中にも、息子の心を思ひやつて、鬼どもの鞭に打たれたことを、怨む気色さへも見せないのです。大金持になれば御世辞を言ひ、貧乏人になれば口も利かない世間の人たちに比べると、何といふ有難い志でせう。何といふ健気な決心でせう。杜子春は老人の戒めも忘れて、転ぶやうにその側へ走りよると、両手に半死の馬の頸を抱いて、はらはらと涙を落しながら、「お母さん。」と一声を叫びました。……その声に気がついて見ると、杜子春はやはり夕日を浴びて、洛陽の西の門の下に、ぼんやり佇んでゐるのでした。霞んだ空、白い三日月、絶え間ない人や車の波、――すべてがまだ峨眉山へ、行かない前と同じことです。「どうだな。おれの弟子になつた所が、とても仙人にはなれはすまい。」片目眇の老人は微笑を含みながら言ひました。「なれません。なれませんが、しかし私はなれなかつたことも、反つて嬉しい気がするのです。」杜子春はまだ眼に涙を浮べた儘、思はず老人の手を握りました。「いくら仙人になれた所が、私はあの地獄の森羅殿の前に、鞭を受けてゐる父母を見ては、黙つてゐる訳には行きません。」「もしお前が黙つてゐたら――」と鉄冠子は急に厳な顔になつて、ぢつと杜子春を見つめました。「もしお前が黙つてゐたら、おれは即座にお前の命を絶つてしまはうと思つてゐたのだ。――お前はもう仙人になりたいといふ望も持つてゐまい。大金持になることは、元より愛想がつきた筈だ。ではお前はこれから後、何になつたら好いと思ふな。」「何になつても、人間らしい、正直な暮しをするつもりです。」杜子春の声には今までにない晴れ晴れした調子が罩つてゐました。「その言葉を忘れるなよ。ではおれは今日限り、二度とお前には遇はないから。」鉄冠子はかう言ふ内に、もう歩き出してゐましたが、急に又足を止めて、杜子春の方を振り返ると、「おお、幸、今思ひ出したが、おれは泰山の南の麓に一軒の家を持つてゐる。その家を畑ごとお前にやるから、早速行つて住まふが好い。今頃は丁度家のまはりに、桃の花が一面に咲いてゐるだらう。」と、さも愉快さうにつけ加へました。";
colorMode(HSB, 360, 100, 100, 100);
palette = shuffle(createPalette(random(url)));
for (let i = 0; i < palette.length; i++) {
let g = createGraphics(width, height);
let c = palette[(i + 1) % palette.length];
for (let y = 0; y < grid_len; y++) {
for (let x = 0; x < grid_len; x++) {
for (let i = 0; i < 5; i++) {
let cir = createCircle(50, 200, g, c, i);
if (dist(cir.x, cir.y, c.x, c.y) - cir.l - c.l < 0) {
for (let i = 0; i < 1000; i++) {
let cir = createCircle(0, 100, g, c, i + 5);
let arr = getGridCircles(cir);
for (let p = 0; p < arr.length; p++) {
let len = dist(cir.x, cir.y, c.x, c.y) - c.l;
arr = getGridCircles(cir);
if (retry && retryCount < 100) {
drawingContext.shadowColor = color(0, 0, 0, 50);
drawingContext.shadowBlur = width / 20;
constructor(x, y, l, g, c, i) {
this.str = str.substr(i % str.length, 1);
this.g.translate(this.x, this.y);
this.g.rotate(random(TWO_PI / 20) * (random() > 0.5 ? -1 : 1));
this.g.circle(0, 0, this.l * 2);
this.g.fill(0, 0, 100, 0);
this.g.circle(0, 0, this.l * 2 + 2);
this.g.drawingContext.clip();
this.g.textAlign(CENTER, CENTER);
this.g.textSize(this.l * 2);
this.g.textFont("serif");
this.g.text(this.str, 0, 0);
function createCircle(minL = 10, maxL = 80, g, c, i) {
return constrain(round(x / grid[0].length), 0, grid[0].length - 1);
return constrain(round(y / grid.length), 0, grid.length - 1);
function getGridCircles(cir) {
arr = arr.concat(grid[gridY(cir.y)][gridX(cir.x)]);
let x1 = gridX(cir.x - cir.l),
x2 = gridX(cir.x + cir.l);
let y1 = gridY(cir.y - cir.l),
y2 = gridY(cir.y + cir.l);
for (let y = y1; y <= y2; y++) {
for (let x = x1; x <= x2; x++) {
arr = arr.concat(grid[y][x]);
function gridAddCircle(cir) {
let x1 = gridX(cir.x - cir.l),
x2 = gridX(cir.x + cir.l);
let y1 = gridY(cir.y - cir.l),
y2 = gridY(cir.y + cir.l);
for (let y = y1; y <= y2; y++) {
for (let x = x1; x <= x2; x++) {
function createPalette(_url) {
let slash_index = _url.lastIndexOf("/");
let pallate_str = _url.slice(slash_index + 1);
let arr = pallate_str.split("-");
for (let i = 0; i < arr.length; i++) {
arr[i] = color("#" + arr[i]);
"202c39-283845-b8b08d-f2d492-f29559",
"1f2041-4b3f72-ffc857-119da4-19647e",
"2f4858-33658a-86bbd8-f6ae2d-f26419",
"ffac81-ff928b-fec3a6-efe9ae-cdeac0",
"f79256-fbd1a2-7dcfb6-00b2ca-1d4e89",
"e27396-ea9ab2-efcfe3-eaf2d7-b3dee2",
"966b9d-c98686-f2b880-fff4ec-e7cfbc",
"50514f-f25f5c-ffe066-247ba0-70c1b3",
"177e89-084c61-db3a34-ffc857-323031",
"390099-9e0059-ff0054-ff5400-ffbd00",
"0d3b66-faf0ca-f4d35e-ee964b-f95738",
"177e89-084c61-db3a34-ffc857-323031",
"780000-c1121f-fdf0d5-003049-669bbc",
"eae4e9-fff1e6-fde2e4-fad2e1-e2ece9-bee1e6-f0efeb-dfe7fd-cddafd",
"f94144-f3722c-f8961e-f9c74f-90be6d-43aa8b-577590",
"555b6e-89b0ae-bee3db-faf9f9-ffd6ba",
"9b5de5-f15bb5-fee440-00bbf9-00f5d4",
"ef476f-ffd166-06d6a0-118ab2-073b4c",
"006466-065a60-0b525b-144552-1b3a4b-212f45-272640-312244-3e1f47-4d194d",
"f94144-f3722c-f8961e-f9844a-f9c74f-90be6d-43aa8b-4d908e-577590-277da1",
"f6bd60-f7ede2-f5cac3-84a59d-f28482",
"0081a7-00afb9-fdfcdc-fed9b7-f07167",
"f4f1de-e07a5f-3d405b-81b29a-f2cc8f",
"50514f-f25f5c-ffe066-247ba0-70c1b3",
"001219-005f73-0a9396-94d2bd-e9d8a6-ee9b00-ca6702-bb3e03-ae2012-9b2226",
"ef476f-ffd166-06d6a0-118ab2-073b4c",
"fec5bb-fcd5ce-fae1dd-f8edeb-e8e8e4-d8e2dc-ece4db-ffe5d9-ffd7ba-fec89a",
"e63946-f1faee-a8dadc-457b9d-1d3557",
"264653-2a9d8f-e9c46a-f4a261-e76f51",