SSブログ

曲がった迷路その15 - バイキュービック補間まとめ [曲がった壁を持つ迷路の生成]

昨日、バイキュービック補間の数学的な意味を考えた。これで格子点で定義された2次元ポテンシャルの局所的な補間はこれでOKということにする。

具体的な補間とアルゴリズムの詳細

さて、これでスペックルパターンから作ったポテンシャル関数を補間することができるということににする。具体的にどうするかと言えば式-37を使って

0719eq38.png
とすればよい。

ついでにグラディエント

0719eq39.png
となる。ここで
0719eq41.png
である。絶対値が入っているのにうっかりこれを忘れるところだった。

最初から追いかけてアルゴリズムを整理しよう。何度も書いてるけど、

  1. サイズを決める
  2. そのサイズのスペックルパターンを作る
  3. 出入り口になる位置を決める
  4. それ以外のところに外壁を作る
  5. 新しく内壁を作って壁をのばす
  6. のばせるところがなくなったらできあがり
ということになる。

最後ののばせるところがないかどうかの判定は結構難しい。これは後でまた考える。

内壁を作るところは

  1. 新しい壁の連結端の位置を決める。それは既存の壁の端点となる
  2. 連結端の位置を中心にランダムな半径の円を仮想的に描く
  3. その円周上で一番ポテンシャルの値が低いところを探す
  4. ポテンシャルの値が閾値より大きければ作業をやめて最初に戻る
  5. その値が閾値より小さければ新しい壁の解放端をそこに置く
  6. 解放端の位置に衝突回避ポテンシャルを足す
  7. 繰り返す
ということになる。

パラメータとしては

  • 迷路のサイズ、すなわちFFTサイズ(縦×横)
  • スペックル生成のときのλ/N.A.
  • 衝突回避ポテンシャルの高さと範囲
  • ポテンシャルの閾値
  • 壁の長さの確率分布
がある。多いな。このあと続けていくともっと増えるし。


nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

献立07/21献立07/22 ブログトップ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。