3

多くのマンデルブロ画像ジェネレーターがマンデルブロの低解像度フラクタルを描画し、フラクタルを継続的に改善するのを見てきました。これはタイリング アルゴリズムですか? 以下に例を示します: http://neave.com/fractal/

更新: マンデルブロを再帰的に分割して計算する方法については、http ://www.metabit.org/~rfigura/figura-fractal/math.html を見つけました。kd-tree を使用して画像を細分化することは可能でしょうか?

更新 2: http://randomascii.wordpress.com/2011/08/13/faster-fractals-through-algebra/ 更新 3: http://www.fractalforums.com/programming/mandelbrot-exterior-optimization/15/

4

3 に答える 3

6

Fractal eXtreme の著者と、ここの質問にリンクされている randomascii ブログ投稿。

Fractal eXtreme は、フラクタル イメージを徐々に改善するためにいくつかのことを行います。

  1. 上からではなく、真ん中から始めましょう。これは、多くの初期のフラクタル プログラムが無視した些細な変更です。中央は、ユーザーが最も気にかけている領域である必要があります。これは、中心線から開始するか、らせん状に展開することができます。スパイラル アウトはオーバーヘッドが大きいため、計算負荷の高い画像でのみ使用します。
  2. 8x8 ブロックで最初の低解像度パスを実行します (64 ピクセルから 1 ピクセルを計算)。これにより、粗い初期ビューが得られ、4x4、2x2、1x1 の解像度で徐々に洗練されます。各パスは、以前のすべてのパスの 3 倍のピクセルを処理することに注意してください。元のポイントを再計算しないでください。後続のパスも中心から開始します。これは、より重要だからです。
  3. マルチパス方式は推測に適しています。2 つの行の 4 つのピクセルが同じ値を持つ場合、その間のピクセルはおそらく同じ値を持つため、それらを計算しないでください。これは、一部の画像では非常にうまく機能します。最後に、誤って計算されたピクセルを探すためのクリーンアップ パスが必要であり、通常はいくつかのエラーが見つかりますが、クリーンアップ パスの後に目に見えるエラーを見たことはありません。これにより、10 倍以上のスピードアップが得られます。この機能は無効にすることができます。この機能の成功 (推測のパーセンテージ) は、ステータス ウィンドウで確認できます。
  4. ズームイン (ダブルクリックして倍率を 2 倍にする) する場合、以前に計算されたピクセルを開始点として使用できるため、ピクセルの 4 分の 3 のみを計算する必要があります。これは、必要な精度が高くなると機能しませんが、これらの不連続はまれです。

より洗練されたアルゴリズムは間違いなく可能です。たとえば、曲線追従。

速い計算をすることも役に立ちます。FX の高精度ルーチンは、64 ビットの乗算を使用する完全に展開されたアセンブリ言語 (C# コードによって生成される) です。

FX には、2 つの最大球根内のポイントのチェックもいくつかあり、それらをまったく計算しないようになっています。また、計算のサイクルも監視します。まったく同じポイントが表示された場合、計算が繰り返されます。

これを実際に見るには、http://www.cygnus-software.com/にアクセスしてください。

于 2015-03-12T00:09:38.857 に答える
3

昔ながらのマンデルブロレンダリングアルゴリズムは、左上の位置からピクセルの計算を開始し、画面の最後に到達するまで右に進み、通常のタイプライターマシンのように(視覚的に)次の行の先頭に移動するアルゴリズムです。

リンクされたアルゴリズムは、異なる順序でピクセルを計算するだけであり、ピクセルを計算するときに、特定の隣接するピクセルについてすばやく推測し、後で適切に再描画するために戻ります。改善が見られたら、プログレッシブJPEGを表示していると考えてください。セットを拡大すると、特定のピクセル値は同じままになります(再計算する必要はありません)。中間ピクセルが推測され、すばやく描画され、後で再計算されます。

継続的に改善されているマンデルブロはあなたの目にぴったりです。「島」を検出できるピクセルごとのアルゴリズムを適切に計算するよりも早く終了することはありません。

于 2012-12-03T23:47:19.637 に答える
3

そのサイトはあなたが信用しているほど賢くないと思います。ズームで何が起こるかはこれだと思います:

  • 前の画像を取得し、標準の補間方法を使用して拡大します。これにより、「ぼやけた」ズームイン画像が得られます。ズームインボタンを数回クリックして、これを最適に表示します
  • 次に、中心点から始まる同心円で、新しいズーム レベルのフル解像度で画像の正方形を再計算します。これにより、画像が中心から外側に向かって徐々に「シャープ」になります。おそらく中心を見ているので、すぐに改善が見られます。

ズームインして画像を斜め方向にドラッグすると、画面のほとんどすべてが描画されなくなり、その動作をより明確に確認できます。ドラッグを放すと、新しい中心から同心円状の四角形に徐々にレンダリングされる画像が表示されます。

確認していませんが、インセット ポイントを別の方法で処理するのが巧妙なことだとは思いません。再レンダリングの前後で完全にインセットの正方形が黒くなるため、違い。

于 2012-12-04T09:30:34.847 に答える