0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

概要

プロデルが、CLRらしいので、調べて見た。
バーンズリーのシダ、見つけたのでやってみた。

参考にしたページ

写真

image.png

サンプルコード


窓としてウィンドウを作る
	その内容は「バーンズリーのシダ」
	その大きさは{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 * 点の縦を返す
終わり



以上。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?