プレイ日記
Hanzo rzsense
MIKIさんのアルゴリズムを参考に、自分でもマンデルブロ集合描画プログラムを作ってみました。よろしければ、私のプロフィールに記載の公開キーで「HNZPJ0」プロジェクトをダウンロードしていただき、その中の「HNZMBRT」をお試しください。 MIKIさんのをそのままマネるのではあまりに芸がないので、考え方のみ拝借し、自分流の解釈でアルゴリズムを組んでいますが、結局のところ、MIKIさんのより遅いです。
11そうだね
プレイ済み
返信[1]
親投稿
Hanzo rzsense
その代わりと言っては語弊がありますが、下画面に添付のようなメニューを搭載して、色をわりと自由に変えることができるようにしています。いろいろと試行錯誤して変えてみると面白いと思います。 ただし、一番上の「LOOP COUNT」は、大きな値にすると描画が極端に遅くなることがありますのでご注意ください。 集合の一部拡大は、「ZOOM」を長めにタッチすると、下画面に上画面がコピーされるので、タッチで拡大範囲を選んでください。
0そうだね
プレイ済み
返信[2]
親投稿
MIKI ifconfig
おおお!?!?! これは謎なアルゴリズム!?!?! flood fill とは違いますよね!?!?! 同一繰り返し数の領域もレンダリングできる SıмΞоп さんのアルゴリズム(abs(Z) が 2 を超えた時の abs(Z)/2 を、繰り返し数の小数部とする)も採用してください!
1そうだね
プレイ済み
返信[3]
親投稿
Hanzo rzsense
>(abs(Z) が 2 を超えた時の abs(Z)/2 を、繰り返し数の小数部とする) ああ、なるほど!だからSıмΞопさんのアルゴリズムは色の変化があんなに滑らかなのか!ご指摘を受けてはじめて気がつきました。恐縮です。 私のアリゴリズムは、abs(Z)の計算で、SQRを使うのすら億劫がって、(実数部の2乗+虚数部の2乗)が4を超えたら計算終了、などという乱暴なやり方ですから、繰り返し回数の小数部を考慮するなんて発想は全く出てきませんでした。 加齢のせいで頭の回転がすっかり悪くなっていることを思い知らされます・・・
0そうだね
プレイ済み
返信[4]
親投稿
おお、綺麗w てか、マンデルブロ集合って 結局のところなんなんですか? ↑うぃきぺ読んだけど理解できなかったw
1そうだね
プレイ済み
返信[5]
親投稿
Hanzo rzsense
さすがに「複素数」「漸化式」などと言われても、中学生には何のこっちゃ?って感じですよね。実際には、同じ計算を繰り返し行うのがめんどくさいだけで、決して難しいものではありませんが。 さて、マンデルブロ集合とは、フラクタルの一種です。フラクタルとは、実際の定義は違うかも知れませんが、私の理解では、次の2つの特徴を持つ図形のことです。 ・規則性とランダム性が絶妙なバランスで混在している ・図形の一部分を拡大すると、元の図形の構造が現れる(自己相似性) フラクタルの実例は、雪の結晶、木の枝、砂漠の風紋、巻貝の模様、雲の形、地形など、自然界の至るところで見られます。
1そうだね
プレイ済み
返信[6]
親投稿
MIKI ifconfig
マンデルブロ集合は、複素数cについての関数 def mandel(c) var i=0 x=0:while abs(x)<2:inc(i):x=x*x+c:wend return i end が永遠に返って来ない(abs(x)が絶対に2以上にならない)ようなcの集合です。 画面写真の真っ黒い部分がマンデルブロ集合。色彩が美しいのは、実はマンデルブロ集合の外側です。 「結局何?」に対する回答は「集合の境界付近を、繰り返し数iの値で色を塗るととても美しい。かつどんなに拡大しても無限に複雑で美しい図形が次々に現れる」だから皆マンデルブロ集合の境界付近を10^16倍くらいまで拡大したがる。 しかし拡大すればするほど計算に時間がかかるという特徴もあります。マンデルブロ集合計算の高速化はそれ自体一つのテーマです。
2そうだね
プレイ済み
返信[7]
親投稿
BeefJerkey SuperBeefJerkey
What's this?
1そうだね
未プレイ
返信[8]
親投稿
Hanzo rzsense
This is mandelbrot set, a set of complex numbers that has a highly convoluted fractal boundary when plotted. This screenshot seems very complicate, however the recursion to draw it is actually simple.
0そうだね
プレイ済み
返信[9]
親投稿
BeefJerkey SuperBeefJerkey
I'm not really understanding this. Oh well, maybe it's too hard for you to explain it in a way that I'll understand. Don't worry about trying to get me to understand it right now. I just need to learn more about coding, that's all.
1そうだね
未プレイ
返信[10]
親投稿
Hanzo rzsense
The reason why it is difficult for me to explain is lack of my English vocabulary. SıмΞоп in US SmileBASIC community has tried to make mandelbrot set drawer and his coloring algorithm is much better than mine. I recommend you to check his play diary.
1そうだね
プレイ済み