概要
プロデルが、CLRらしいので、調べて見た。
バーンズリーのシダ、見つけたのでやってみた。
参考にしたページ
写真
サンプルコード
窓としてウィンドウを作る
その内容は「バーンズリーのシダ」
その大きさは{700, 700}
その設計スケール比率は{144, 144}
窓を表示する
かめさんというカメを作る
かめさんの場所は、窓
かめさんの太さは1
かめさんの色は、緑
かめさんを表示する
浮動小数座標({0, 0})を作って初期点とする
20だけ初期点にシダを描く
かめさんの位置は{0, 0}
待機する
【回数】だけ【点:浮動小数座標】に、シダを描く手順
浮動小数座標({0, 0})を作って次点とする
回数が0より大きければ
点を第一横変換して次点の横とする
点を第一縦変換して次点の縦とする
回数 - 1だけ次点にシダを描く
1から10までの乱数が4より小さければ
点を第二横変換して次点の横とする
点を第二縦変換して次点の縦とする
回数 - 1だけ次点にシダを描く
そして
1から10までの乱数が4より小さければ
点を第三横変換して次点の横とする
点を第三縦変換して次点の縦とする
回数 - 1だけ次点にシダを描く
そして
1から10までの乱数が4より小さければ
点を第四横変換して次点の横とする
点を第四縦変換して次点の縦とする
回数 - 1だけ次点にシダを描く
そして
でなければ
かめさんの位置は{点の横 * 500 + 200, 500 - 点の縦 * 500}
かめさんが点を打つ
そして
終わり
【点:浮動小数座標】を、第一横変換する手順
0.836 * 点の横 + 0.044 * 点の縦を返す
終わり
【点:浮動小数座標】を、第一縦変換する手順
-0.044 * 点の横 + 0.836 * 点の縦 + 0.169を返す
終わり
【点:浮動小数座標】を、第二横変換する手順
-0.141 * 点の横 + 0.302 * 点の縦を返す
終わり
【点:浮動小数座標】を、第二縦変換する手順
0.302 * 点の横 + 0.141 * 点の縦 + 0.127を返す
終わり
【点:浮動小数座標】を、第三横変換する手順
0.141 * 点の横 - 0.302 * 点の縦を返す
終わり
【点:浮動小数座標】を、第三縦変換する手順
0.302 * 点の横 + 0.141 * 点の縦 + 0.169を返す
終わり
【点:浮動小数座標】を、第四横変換する手順
0を返す
終わり
【点:浮動小数座標】を、第四縦変換する手順
0.175337 * 点の縦を返す
終わり
以上。