問題タブ [mandelbrot]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
591 参照

artificial-intelligence - マンデルブロ集合による遺伝的プログラミング

この魅力的な本の中で、遺伝的プログラミングを使用して画像をインタラクティブに進化させる方法についての章を読んでいます。関数セットのほとんどは、単純な算術関数と三角関数 (実際には画像を操作して返す関数) で構成されています。これらの関数は、画像をエンコードする解析ツリーの内部ノードを構成します。ツリーの葉、または最終値は、乱数と x、y 座標です。

複素平面の反復関数を関数セットに追加するセクションがあります。

遺伝学が特定のマンデルブロ集合を茂みのある木のどこかにノードとして挿入するとします。この関数は 2 つの引数を必要とします: mandel(cReal, cImag) で、それらを複素平面の実座標と虚座標として扱います。ゲノムがたまたまピクセル座標 (x,y) を提供し、mandel() がルート ノードであった場合、おなじみの Mset が得られます。しかし、cReal と cImag 自体が関数の分岐全体の結果である可能性が高く、座標 x、y の多くのインスタンスが葉の間に散らばっています。反復ループに入り、しばらく周回し、最後に Mset アトラクタまでの距離 (反復回数など) を測定して脱出します。

私の質問は、複素平面上の点の実座標と虚座標を引数として取り、マンデルブロ集合のレンダリングを返す関数として、マンデルブロ集合レンダラーをどのように作成しますか?

0 投票する
1 に答える
2322 参照

php - フラクタルの説明

しばらくの間、私はフラクタル、その背後にある数学、およびフラクタルが生成できるビジュアルに興味を持っていました。

数式を絵を描くコードにマッピングする方法がわかりません。
マンデルブロ集合のこの式を考えるPc(z) = z * z + c
と、次のコードとどのように比較されますか。

コードは完全ではなく、簡潔にするために主要な反復部分を示しているだけです。

だから問題は、数学がコードとどのように比較されるかを誰かが私に説明できるかということです。

編集:明確にするために、私は数学を説明する数十のリソースとコードを示す数十のリソースを見つけましたが、2つを組み合わせた良い説明をどこにも見つけることができません。

0 投票する
4 に答える
1331 参照

math - マンデルブロー集合のレンダリングに関するいくつかのヘルプ

私は、マンデルブロー集合のフラクタル視覚化を行う仕事を与えられました。

私は (当然のことながら) 完全な解決策を探しているわけではなく、複素数の軌道に関して助けを求めています。

Complex複素平面上の点から得られた特定の数値があるとします。次に、軌道シーケンスを反復処理し、軌道が桁違いに増加するかどうかに従って点をプロットする必要があります。

複素数の軌道を集めるにはどうすればよいですか? どんなガイダンスも大歓迎です(リンクなど)。軌道シーケンスをテストするために必要な数学関数へのポインター。Math.pow()

私はJavaを使用していますが、ここでは特に関係ありません。

ありがとう、アレックス

0 投票する
2 に答える
10774 参照

objective-c - マンデルブロ集合をズームする方法

ウィキペディアの記事で説明されているようにマンデルブロ集合を正常に実装しましたが、特定のセクションにズームインする方法がわかりません。これは私が使用しているコードです:

x0は-2.5〜1の範囲にあり、y0は-1〜1の範囲にある必要があり、その数を減らすとズームするというのが私の理解でしたが、実際にはまったく機能しませんでした。どうすればズームできますか?

0 投票する
2 に答える
1295 参照

file-io - Gforth を使用したファイル出力

最初のプロジェクトとして、マンデルブロー フラクタルをレンダリングする短いプログラムを作成しました。結果をファイル (例: .bmp または .ppm ) に出力しようとして行き詰まりました。

私がやろうとしていることの正確な例は実際には見つかりませんでしたが、あるファイルから別のファイルにコピーするコードの例を 2 つ見つけました。

Gforth のドキュメント (セクション 3.27) の例は、私 ( winXP ) では機能しませんでした。

これは、あるファイルの内容を別のファイルにコピーする Gforth ドキュメントの例です。

動作するこの例 ( http://rosettacode.org/wiki/File_IO#Forth ) を見つけました。主な問題は、ファイルに書き込む部分を分離して、まだ機能させることができないことです。主な混乱は、>r が期待どおりに TOS を消費していないように見えることです。

open 、 create read 、 write -file の単語が実際にどのように機能するかを誰かが正確に説明できれば、非常に感謝しています。

Gforth の例が機能しない理由についての手がかりも役立つかもしれません。

まとめると、Gforthからファイルに出力したいのですが、今のところ挫折しています。誰でも助けを提供できますか?


Vijayさん、ありがとうございます。あなたの例は理解できたと思います。ただし、次のようなものを使用しようとすると(似ていると思います):

取得okしましたが、ファイルに何も入れられませんでした。間違いを犯しましたか?


問題は、関連するバッファをフラッシュしていないか、ファイルを明示的に閉じていないことが原因のようです。のようなものを追加する

また

の間write-line;それを機能させます。したがって、指示に従っていれば、Gforth のドキュメントの例は機能していたはずです。

助けてくれたVijayに再び感謝します。

0 投票する
2 に答える
398 参照

java - 2つのデュオコアプロセッサシステムでの並列処理

マンデルブロ画像を描画するJavaプログラムを作成しました。面白くするために、各ピクセルの色を計算するforループを2つに分割しました。各半分はスレッドとして実行されるため、タスクが並列化されます。2コア1CPUシステムでは、2スレッドアプローチを使用した場合と1つのメインスレッドのみを使用した場合のパフォーマンスはほぼ2倍になります。私の質問は、2つのデュアルコアプロセッサシステムに関するものですが、並列化されたタスクは、1つのプロセッサで2つのコアを利用するだけでなく、異なるプロセッサ間で分割されますか?前者のシナリオは、マザーボードのワイヤを介した2つのCPU間の通信の遅延のために、後者のシナリオよりも遅くなると思います。

何か案は?

ありがとう

0 投票する
2 に答える
464 参照

windows-xp - Gforth 並列処理

私は Forth Mandelbrot フラクタル プロッターを作成しましたが、他の何よりも技術的な演習と同じくらい、いくつかの並列処理で高速化を試みたいと考えています。

当面は、両方のコアを使用できれば幸いです (一方のコアでイメージの半分を実行し、もう一方のコアで残りの半分を実行します)。

Windows XP はGforthの 2 つのインスタンスを問題なく管理し、可能な限り多くのプロセッサ容量を使用しようとするので、2 つのプロセスを実行することから始めることができることに気付きました。ただし、メモリを共有できるかどうか、または両方が同時にファイルに書き込むことができるかどうか (または、ファイルの先頭から x バイトで書き込みを開始するように 1 つのプロセスに指示する方法) はわかりません。

要約すると、Windows XP で Gforth を使用して並列処理を行うにはどうすればよいですか?

0 投票する
4 に答える
523 参照

animation - フラクタルの構築とアニメーション化

フラクタルパターンを学び、構築するために必要なソフトウェア/本を誰かが推薦できますか?フラクタルパターンもアニメートできるようにしたいと思います。winampから何かのように。

0 投票する
2 に答える
2221 参照

java - Javaに設定されたマンデルブロ集合-私のアルゴリズムに何か問題がありますか?

Javaでマンデルブロ集合を表示するように求められましたが、問題が発生しました。私の先生と私は両方とも、これが正しく実行されない理由に困惑しています。

正/負の1と0を除くすべての値は、2回の反復後に無限大にエスケープされるため、アルゴリズムまたは複雑なクラスと関係があると思います。

0 投票する
2 に答える
431 参照

mandelbrot - 与えられた点(x, y)がマンデルブロ集合にあるかどうかを決定する関数

そのため、任意の点 (a + ib) が与えられた場合、関数は、それがマンデルブロ セットに含まれている場合は 1 を返し、そうでない場合は n 回の反復に対して 0 を返します。

特に複素数を使用して、この関数をコーディングしようとすると問題が発生します。誰かが私を助けたり、始めるためのアドバイスをくれませんか?

これまでのところ、マンデルブロ集合に実数 (任意の x、y = 0) があるかどうかを判断する方法しか考えられません。

編集: C でコーディングしていることを忘れて申し訳ありませんが、主に疑似コードのアイデアを探しています。