BoxCounter [マクロ]
ボックスカウンティング法により花子図面のフラクタル次元 (Minkowski–Bouligand dimension / box-counting dimension) を算出するマクロ。
花子2010で(たぶん2005でも)動作を確認。
大雑把に言うと、図形の複雑さを定量化するマクロです。
なお、マクロでやっている都合上、ばかみたいに時間がかかるので、あらかじめご了承下さい。
BoxCounter ver.2.1 (9KB テキストファイル - 登録方法)
あらかじめ、解析する図面を用意しておきます。イメージは解析できないので注意してください。
イメージは、(精度は低いですが)「イメージの図形化」をして解析するのも手です。が、どう考えても専用のソフトで解析するほうが現実的でしょう。
マクロを実行すると解析範囲を指定するようダイアログが表示されます。「OK」して範囲指定します(解析範囲は自動的に正方形に調整されます)。
選択した範囲が画面いっぱいに表示され、下のようなダイアログが表示されます。
ざっくり言うと、「反復回数」はどこまで細かくカウントをしていくかの設定で、1~13の値を指定できます。だいたい8~10くらいの値にしておくのが無難かもしれません。値を小さくすると意味がありませんし、大きくすると解析に時間がかかります(おおざっぱに言って所要時間は指数関数的に増えていきます)。
オプション設定の、
「選択図形を囲む最小の矩形で解析する」にチェックを入れると、文字通り、解析範囲を、選択した図形を囲む最小の正方形領域に調整します。
「解析状況を表示しない」にチェックを入れると、画面に解析状況を表示しないことで、処理時間をいくらか短縮します(効果のほどは条件次第ですが、良くておおむね1割ほど高速化)。ただし、解析状況を表示させていた方が、気分的に落ち着きます。
設定して「OK」すると、下のようなダイアログが表示されます。
解析結果はCSVファイルで保存します。ここで保存先を指定し、適当なファイル名を付けて「OK」すると、解析が始まります。
反復回数を大きくしていたり、図面が複雑だったり、ネットブックのような非力なマシンを使う場合、かなりの時間(数時間)がかかります。
解析が終わると、結果がCSVファイルで保存されますので、適当な表計算ソフト(でもテキストエディタでも何でももちろん構わない)で開いて下さい。
せっかくなので三四郎で開いたところです。
右下の方、d(b) の値(この例ではだいたい1.38)がボックス次元、r^2 の値(この例では0.994ちょっと)が相関係数です。
最近のデスクトップPCや高性能ノートPCであれば、反復数10程度までであれば、せいぜい数分で解析できます。反復数13くらいまでやると、とたんに1時間近く時間がかかるようになります。
非力なネットブックでは、反復数10程度まででも30分近く、反復数13までやると数時間かかります。
よせばいいのによりにもよってマクロでフラクタルを扱っている以上、時間がかかるのはしかたありません(それでもVer.1 と比べて数倍から数十倍高速化)。
花子の設定で、アンチエイリアスをOFFにすることにより、やや高速化します。
わざわざこのようなものを使ってみようという方はもちろん分かっていると思うので詳細については触れません。
ごくごく大雑把に言うと、指定された図形を、サイズδの正方形Nδ(n)個で被覆します。δを順次1/2にしていって、そのときに必要なNδ(n)を数えていき、対数をとって最小二乗法で線形近似して、傾きの負の値を計算します。それだけではアレなので、ピアソン積率相関係数rの二乗も計算して、これらをまとめてCSVファイルとして出力します。また、処理に時間がかかるため、参考までに処理時間も記録します。
花子2010で(たぶん2005でも)動作を確認。
大雑把に言うと、図形の複雑さを定量化するマクロです。
なお、マクロでやっている都合上、ばかみたいに時間がかかるので、あらかじめご了承下さい。
ダウンロード
BoxCounter ver.2.1 (9KB テキストファイル - 登録方法)
使用法
あらかじめ、解析する図面を用意しておきます。イメージは解析できないので注意してください。
イメージは、(精度は低いですが)「イメージの図形化」をして解析するのも手です。が、どう考えても専用のソフトで解析するほうが現実的でしょう。
マクロを実行すると解析範囲を指定するようダイアログが表示されます。「OK」して範囲指定します(解析範囲は自動的に正方形に調整されます)。
選択した範囲が画面いっぱいに表示され、下のようなダイアログが表示されます。
ざっくり言うと、「反復回数」はどこまで細かくカウントをしていくかの設定で、1~13の値を指定できます。だいたい8~10くらいの値にしておくのが無難かもしれません。値を小さくすると意味がありませんし、大きくすると解析に時間がかかります(おおざっぱに言って所要時間は指数関数的に増えていきます)。
オプション設定の、
「選択図形を囲む最小の矩形で解析する」にチェックを入れると、文字通り、解析範囲を、選択した図形を囲む最小の正方形領域に調整します。
「解析状況を表示しない」にチェックを入れると、画面に解析状況を表示しないことで、処理時間をいくらか短縮します(効果のほどは条件次第ですが、良くておおむね1割ほど高速化)。ただし、解析状況を表示させていた方が、気分的に落ち着きます。
設定して「OK」すると、下のようなダイアログが表示されます。
解析結果はCSVファイルで保存します。ここで保存先を指定し、適当なファイル名を付けて「OK」すると、解析が始まります。
反復回数を大きくしていたり、図面が複雑だったり、ネットブックのような非力なマシンを使う場合、かなりの時間(数時間)がかかります。
解析が終わると、結果がCSVファイルで保存されますので、適当な表計算ソフト(でもテキストエディタでも何でももちろん構わない)で開いて下さい。
せっかくなので三四郎で開いたところです。
右下の方、d(b) の値(この例ではだいたい1.38)がボックス次元、r^2 の値(この例では0.994ちょっと)が相関係数です。
補足
最近のデスクトップPCや高性能ノートPCであれば、反復数10程度までであれば、せいぜい数分で解析できます。反復数13くらいまでやると、とたんに1時間近く時間がかかるようになります。
非力なネットブックでは、反復数10程度まででも30分近く、反復数13までやると数時間かかります。
よせばいいのによりにもよってマクロでフラクタルを扱っている以上、時間がかかるのはしかたありません(それでもVer.1 と比べて数倍から数十倍高速化)。
花子の設定で、アンチエイリアスをOFFにすることにより、やや高速化します。
中で起きていること
わざわざこのようなものを使ってみようという方はもちろん分かっていると思うので詳細については触れません。
ごくごく大雑把に言うと、指定された図形を、サイズδの正方形Nδ(n)個で被覆します。δを順次1/2にしていって、そのときに必要なNδ(n)を数えていき、対数をとって最小二乗法で線形近似して、傾きの負の値を計算します。それだけではアレなので、ピアソン積率相関係数rの二乗も計算して、これらをまとめてCSVファイルとして出力します。また、処理に時間がかかるため、参考までに処理時間も記録します。
タグ:解析
2010-05-02 00:00
nice!(0)
コメント(1)
トラックバック(0)
コメント失礼します。
PC操作に疎く、変な質問等することもあると思いますがよろしくお願いします。
フラクタル分析のできるマクロをダウンロードしようとしたところ、「このページには到達できない」と表示されたのですが、どのようにしたら、使用できるのか教えていただけますでしょうか。
by 猫太郎 (2022-08-30 21:13)