2019年2月18日月曜日

海とかけて

海とかけまして、ウニととく。
そのこころは?
どちらもよく似ているでしょう。



海とかけまして、「かまいたち」ととく。

そのこころは?

あわてて東京に進出したが、
いまではコウカイしているでしょう。


盗作ではないんだけど、ありがちなナゾ解きらしいので、取り消し線を引いておきます。

2019年2月8日金曜日

1冊の本

本を1冊読めば何か一つ発見があるというのですが・・・

全文は「朝日」の夕刊で。

この中で「リーディングスキルテスト」の例文が載っているのだが、
これを瞬時に答えられる人はいるのだろうか?
少なくとも僕には無理です。

文章の意味を理解することと、論理的に比較することとは、それこそ別なのでは?

2019年2月7日木曜日

シェルピンスキーのギャスケット

HaskellにもTurtleグラフィックスがあります。
ただどうしてもインストールできませんでした。

そこでHaskellでPythonのコードを出力します。






再帰深度1の場合、次のようなコードを生成します。

$ runghc t.hs 1 > a
$ cat a
from turtle import *
t=Turtle()
t.penup()
t.shape('turtle')
t.setpos((-200.0,-200.0))
t.pendown()
t.fillcolor('black')
t.begin_fill()
t.setpos((-200.0,-200.0))
t.setpos((200.0,-200.0))
t.setpos((0.0,146.41016151377534))
t.setpos((-200.0,-200.0))
t.end_fill()
t.penup()
t.fillcolor('white')
t.begin_fill()
t.setpos((0.0,-200.0))
t.setpos((100.0,-26.794919243112332))
t.setpos((-100.0,-26.794919243112332))
t.setpos((0.0,-200.0))
t.end_fill()
done()

pythonにパイプします。

$ cat a | python



直接Pythonにパイプしても可。

$ runghc t.hs 6 | python

再帰深度は5〜7が適当です。(深度を深くとってPythonの起動まで時間がかかる場合はコンパイルします)

6の場合の実行結果


カメの軌跡で描くこともできます。

コードはこちら 実行例の再帰深度は5。カメの動きはのろめ。
繰り返しの中に再帰が埋め込まれているので少し複雑なコードになっています。

ついでにコッホ曲線も。




コードは


またランダムな要素を取り入れると

のような画像が得られる。自然の海岸線に見えなくもない。(いくつか描画してみていかにもそれらしいものを選んでいます)
そのためのコードはこちら


複素数と平面図形に関する公式は
https://examist.jp/category/mathematics/complex-plane/
を参照しました。

ちなみに、マンデルブローの「The Misbehavior of Markets」に掲載されている画像はこちら。

スクラッチでも再帰は書けるらしい。

「こういうプログラムを再帰って言うんだ。
すこしむつかしいけど、おぼえておこう。」

シェルピンスキーのギャスケットをスクラッチで描くページはいくつかありますが、
最初に参照したページをあげておきます。

https://i-learn.jp/article/3302


こちらも参照下さい。http://hhg2the-haskell.blogspot.com/2017/10/blog-post_75.html