問題タブ [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.
complex-numbers - 複素数ライブラリを使用しない滑らかな彩色マンデルブロ集合
C# で基本的なマンデルブロ エクスプローラーをコーディングしましたが、ひどい色の帯があり、すべてグレースケールです。
滑らかな色付けの方程式があります: mu = N + 1 - log (log |Z(N)|) / log 2
ここで、N はエスケープ カウントで、|Z(N)| です。値がエスケープされた後の複素数のモジュラスです。不明なのはこの値です。
私のコードは、ウィキペディアのページにある疑似コードに基づいています: http://en.wikipedia.org/wiki/Mandelbrot_set#For_programmers
複素数は実数値 x と y で表されます。この方法を使用すると、|Z(N)| の値はどのように計算されますか? ?
java - マンデルブロは更新が非常に遅いですが、それを速くする方法はありますか?
私は最近フラクタルジェネレーターに取り組んでおり、特にマンデルブロ集合に取り組んでいます。残念ながら、ズームと移動は非常に不十分なようで、更新にはかなりの時間がかかります。ズームするたびに生成していますが、これがおそらく最も効率的な方法ではないことはわかっています。また、理解している別の方法を使用するコードを見つけることができないようです。これらは私が使用する次の方法です。最初の方法は初期生成であり、2番目の方法は更新方法です。
java - Java mandelbrot セットの移動が間違っている
だから私はJavaでマンデルブローセットをプログラムしようとしてきました.コードがあまり最適化されていないことは知っていますが、これを始めたばかりです.
アイデアは、ピクセルをクリックすると、そのピクセルが中央 (特定の複素数を表す) に配置され、その周りのセットが計算されるというものです。これは最初は機能しますが、ズームインすると奇妙な動作を開始します。私のmidX、midY、または奇妙な表示機能のいずれかだと思いますが、長い間見てきましたが、理解できません。助けていただければ幸いです。
c - c から sse2 へのマンデルブロ描画ルーチン
このような単純なルーチンを SSE2 コードに (できれば nasm で) 書き直したいのですが、その方法が完全にはわかりません。 c コード関数 "SetPixelInDibInt(i ,j, palette[n]);" 静的にリンクされた asm コードの下から
他のコードの実装は見たくないのですが、上記のものの nasm-sse 翻訳だけを見たいのですが、私の場合は最も役に立ちます - 誰かがそれを手伝ってくれますか?
opencl - MandelBrot セット openCL の使用
TBB(スレッドビルディングブロック)を使用して実行したときに使用したものと同じコード(一種)を使用しようとしています。
OpenCL の経験はあまりありませんが、メイン コードのほとんどは正しいと思います。エラーは.cl
、計算を行うファイルにあると思います。
TBB の私のマンデルブロー コードは次のとおりです。
これがOpenCLの私のコードです
どんな助けでも大歓迎です。
c++ - マンデルブローの各ピクセル計算を異なるノードに分割する方法は?
ここでの私の質問は、作業を各スレッドに分散し、それらから計算値を取得するためにどのデータ構造を使用する必要があるかということです。最初に頭に浮かんだのは、ベクトル [0] .. ベクトル [63999] (800x800 ピクセルの場合) を x、y および iterate_value を保持する構造体で埋めることです。それらのベクトルを各ノードに渡します->次に、指定されたベクトルを各コア(Os-thread)にさらに分割します->次に、指定されたベクトルを各スレッドにさらに分割します。値を送受信する他の方法はありますか? また、ベクトルの方法でそれを行う場合、ベクトルを値渡しまたは参照渡しで渡す必要があります。この場合、どちらが良いでしょうか?
c - 私の OpenMP マンデルブロ セット コードを修正する必要があります
OpenMP で次のマンデルブロ セット コードがあります。私の C コードは問題なく動作し、生成される画像は完璧です。しかし、OpenMP を使用すると、正しくコンパイルおよび実行されますが、残念ながら、出力された .ppm ファイルを開くことができません。単に Gimp が読み取れないだけです。
c++ - マンデルブロー集合は pthread を使用して加速しません
そこで、pthread を使用してマンデルブロー集合を計算するプログラムを作成しています。
これはスレッド関数です:
これComp
は複素数のクラスでありz.next
、次のマンデルブロ反復を計算することを意味します。
clock_t
前後pthread_create
をペアでセットしましたpthread_join
。マンデルブロー
集合の結果は正しいですが、スレッド数を 1 から 8 に増やしても計算時間は常に同じ
です"enter"
。pthread_join
.
にスレッドセーフ機能があることが問題なのかもしれpartial_compute
ませんが、見つかりません。float
(クラスではなく で複素数を表現しようとしました)
ここで間違いはありますか? お手伝いありがとうございます。
更新:
不完全な情報で申し訳ありません。
z.length()
は複素数 z の 2 乗を意味します。
これが私がタスクを分割する方法です。画面の幅と高さを意味しますx_length
。
画面を幅ごとに n 分割し、範囲をスレッドに送信して計算します。y_length