フラクタルはいつも私にとって少し謎でした。
さまざまなプログラミング問題領域のフラクタルには、(美しい画像へのレンダリング以外に)どのような実用的な用途がありますか?そして、それらを使用する領域をリストするだけではありません。私は特定のアルゴリズムと、実際に何かを解決するためにそれらのアルゴリズムでフラクタルがどのように使用されるかに興味があります。少なくともアルゴリズムの簡単な説明をお願いします。
絶対にコンピュータグラフィックス。それは、美しい抽象的な画像を生成することではなく、現実的で繰り返しのない風景を生成することです。フラクタル地形について読んでください。
単純なフラクタルと見なされる可能性のあるPerlinNoiseは、あらゆる場所のコンピュータグラフィックスで使用されています。著者は、もし彼がそれを特許化するならば、彼は今や百万人になるだろうと冗談を言った。フラクタルは、アニメーションや非可逆画像圧縮でも使用されます。
ペアノ曲線は空間充填フラクタルであり、2 次元領域 (または高次元領域) を 1 次元パスで均一に覆うことができます。多次元配列でローカル操作を行っている場合、配列データを空間充填曲線の順序で格納および/またはアクセスすると、キャッシュのすべてのレベルでキャッシュの一貫性を高めることができます。
ヒルベルト曲線に沿った誤差拡散。
これは簡単なアイデアです。画像を 0-1 の白黒ビットマップに変換するとします。55% の明るさのピクセルを白に変換すると、+45% の誤差が生じます。単に忘れるのではなく、次のピクセルを処理するときに 45% を考慮に入れます。その値が 80% であるとします。通常は白に変換されますが、隣接するピクセルが明るすぎるため、+45% の誤差を考慮して黒に変換し (80%-45%=35%)、-35% の誤差は維持します。次のピクセルに広がります。
このようにして、75% グレーの領域の白/黒ピクセル比率は 75/25 に近くなり、これは適切です。しかし、ピクセルを左から右に処理すると、エラーは一方向にのみ広がるため、画像の見栄えが悪くなります。空間充填曲線を入力します。ヒルベルト曲線に沿ってピクセルを処理すると、エラー スプレッドの良好な局所性が得られます。詳細はこちら、写真付き。
フラクタルは、株式の価格を分析するために金融で使用されます。また、複雑なシステム (複雑さの理論) の研究や芸術にも使用されます。
フラクタル理論のもう 1 つの用途は、フラクタル画像補間です。たとえば、Perfect Resize 7はフラクタルを使用して、非常に高品質で画像のサイズを変更しています。イメージのさまざまな部分が互いに自己相似であると想定するパーティション反復関数システム (PIFS) を使用している可能性が最も高いです。このアルゴリズムは、画像の自己相似部分の検索と、それらの間の変換の記述に基づいています。
画像圧縮、あらゆる携帯電話で使用されるアンテナ チップの設計は、最大表面積、テクスチャ生成、山の生成、樹木、崖、クラゲの理解、さまざまな場所での再帰と自己類似性の程度がある自然現象のエミュレートのためのフラクタルです。スケール。多くの科学的応用。