問題タブ [fractals]

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 投票する
8 に答える
38878 参照

python - さまざまな数のForループを持つ関数(python)

私の問題を説明するのは難しいです。

ネストされたforループを含む関数を作成したいと思います。
その量は、関数に渡される引数に比例します。

架空の例を次に示します。

...関与します...

もう一つの例...

...関与します...

forループ(y)の変数は、ネストされたコードでは実際には使用されません。

最初に考えたのは、数値引数の累乗の範囲で1つのforループを作成することかもしれません...
製品が巨大になるため、これは機能しません。8つのネストされたforループがある場合に必要なインスタンスがあります。
この積は、forループの範囲に対して大きすぎます。

関数に渡す必要のある引数は他にもありますが、私はそれを自分で処理できます。

これがコードです(スノーフレークフラクタルを作成します)

何か助けていただけれ
ば幸いですが、別の方法(再帰など)を提案する場合は
、コードを貼り付けるだけではいけません。代わりに、私を正しい方向に導くことができるいくつかのアイデアを提案します。

(アルゴリズムはスペシャリスト数学の割り当て用です)


仕様:
Python 2.7.1
Turtle
IDLE
Windows7

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

math - 火炎フラクタルの座標系

私は自分の火炎フラクタル発生器を作る準備として火炎フラクタルの研究をしています。質問が1つだけあります。フレームフラクタルアルゴリズムではどの座標系が使用されていますか?

複素数のマンデルブロ集合のようなものですか、それとも実数システムですか?さらに、内の炎のフラクタルをグラフ化するための最適な範囲はどれくらいですか(つまり、マンデルブロは(x-> -2から2)、(y-> -2iから2i)を使用します)?

火炎フラクタルに関する元の記事(22Mb PDF)

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

python - ダイヤモンド スクエア フラクタルの「インサイド アウト」実装の問題

私は、通常の順序とは逆の (ラップ) ダイヤモンド スクエア フラクタルを生成する Python スクリプトに取り組んでいます。最終値が依存するポイントのみを生成します。各ポイントの処理方法を決定するために作成した関数は次のとおりです。

返される最初の値は、点をひし形または正方形のステップのどちらで生成するかを指定するブール値です。2 番目の値は、ステップのグリッド サイズを指定します。x または y が 0 の場合を除いて、これはうまく機能します。返されるステップ サイズは 0 で、スクリプトはループします。しかし、フラクタルを 2x2 グリッドに並べて配置し、タイルの右下のコピー (つまり、ウィンドウのゼロ軸から離れた場所) をクリックしてポイントを指定すると、フラクタル全体が完全に生成されます。しかし、タイルサイズの倍数をマウス座標に追加したり、それらの線に沿って何かを追加したりして、この結果を「偽造」することはできないようです。

助言がありますか?

完全なスクリプトは次のとおりです (x または y = 0 の場合に再帰を停止することで無限ループを回避しましたが、不足しているポイントでアーティファクトが生成されます)。

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

c# - 私のドラゴンフラクタルが不完全なのはなぜですか

コードを JavaScript から C# に変換しました。これは、http://fractal.qfox.nl/dragon.jsにあるこの優れたデモにアクセスすると見つかります。

私の翻訳は、ボタンをクリックしたときにただ 1 つのドラゴンを生成することを意図していますが、私のバージョンでは何かが欠けていると思います。
詳細については、ウィキペディアの記事:ドラゴン カーブを参照してください。

不完全なドラゴン フラクタル出力: 病弱なドラゴン コード:

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

javascript - ジュリア集合Javascript

Mandlebrotのセットのようなものをいじっています。なぜなら、それが生成する写真はきれいだと思うからです。私は、JavaScriptで描画する問題に取り組み、自分に何ができるかを確認しようと思った。私はいくつかのアルゴリズムを見ました、すなわち:

http://library.thinkquest.org/26242/full/progs/a2.html

私はこれに翻訳しました:

これは基本的に1色のボックスを描画します。

それから私はこれを試しました:

http://en.wikipedia.org/wiki/Mandelbrot_set#Escape_time_algorithm

私はこれに翻訳しました:

これはブラックボックスを生成します。x0とy0のスケーリングはピクセルの要素であると言っていたので、アルゴリズムの言い回しは私を混乱させましたが、アルゴリズムの後、係数c = x0+iy0と言います。それで、それは私が関数に所定の係数を渡さないことを意味しますか?

これらのテストのほとんどで、係数0.25 + 0iを使用していましたが、まったく同じ結果が得られる他のテストを試しました。

私はここで何が間違っているのですか?

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

floating-point - 浮動小数点数および/または整数のみを使用して、浮動小数点数よりも高い精度で数値を表すにはどうすればよいですか

これに基づいて MandelBrot シェーダーを作成しました: http://blogs.msdn.com/b/shawnhar/archive/2006/12/11/sixty-fractals-per-second.aspx

フロートよりも精度の高いものを使用して、ズームできる量を拡張したいと思います。http://www.bealto.com/mp-mandelbrot_fp128-opencl.htmlなど、オンラインでいくつかのことを読みましたが、理解するのがかなり難しく、不完全です。

私が使用している GPU は double をサポートしていないため、32 ビットの int と float (および最大 4 の長さの float のベクトル/配列) に固執しています。

通常の浮動小数点数よりも正確な方法で単一の浮動小数点数を表すにはどうすればよいですか?

サポートする必要がある操作は、 x+-および ( > または>= )です。

ピクセル シェーダー モデル 3.0 を使用しています。


私はQ 数値形式を見てきましたが、問題は、2 つの 32 ビット整数を使用する場合、乗算 (および除算) に 64 ビットの一時変数が必要になることです。

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

terrain - フラクタル ブラウン運動でシームレスな世界地図を作成する

フラクタル ブラウン運動を使用して高さマップを作成しています。次に、高さに基づいて色を付け、球にマッピングします。私の問題は、高さマップがシームレスに折り返されないことです。私は Diamond Square アルゴリズムを使用しており、それを使用して物事をシームレスにするのは非常に簡単ですが、fBm でそれを行う方法を理解できないようで、Web 上で説明を見つけるのに苦労しているようです。

明確にするために、「シームレス」とは、それを球にマップすると、球上にシームレスなマップが作成されることを意味します。

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

math - 1DLED配置の面白い点滅パターンを生成する

正方形に配置された16個のLEDのセットを備えたハードウェアを作動させたい:

技術的な詳細(タイマー、ビットマスキングなど)を解決することはできますが、芸術的な問題に悩まされています。人間の観察者にとって面白い活性化パターンを(時間の経過とともに)生成するための優れたアルゴリズムは何でしょうか?

私は完全にランダムなパターンには行きたくありませんが、あまりにも予測的なものにも行きたくありません。特にコンパクトなジェネレータアルゴリズムに関する提案は大歓迎です。

LEDはバイナリ(オン/オフ)と単色ですが、単色(赤、緑、黄色)の異なるLEDを取り付けることができます。

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

fractals - L-System-新しいブランチのシリンダー半径を小さくします

私は円柱で作られたシンプルな3DL-Systemを持っています。現在、最終的な文字列の各記号を調べて、描画、回転、回転、プッシュ、ポップなどの適切なアクションを実行しています。プッシュとポップは新しいブランチに非常に似ていることは知っていますが、プッシュが呼び出されるたびに半径を変更しようとしましたが、奇妙な結果につながります。

新しいブランチを以前のブランチよりも細くする正しい方法はありますか?

ありがとう。

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

android - AndroidでOpenGLを使用して2Dグラフ/図をレンダリングするにはどうすればよいですか?

楽しみのために、Android用のシンプルなフラクタル表示アプリを作成しています。また、OpenGLを使用したことがないので、OpenGLを学ぶ機会としても使用しています。NeHeチュートリアルのAndroidポートを出発点として使用して、私のアプローチは、フラクタルを作成するためのすべての計算を行う1つのクラス(FractalModel)と、すべてのレンダリングを行うFractalViewを持つことです。

私が抱えている問題は、レンダリングを機能させることです。基本的に、各ポイントが1ピクセルに対応するさまざまな色のポイントのグラフをプロットしているので、画面全体に1x1の長方形をレンダリングし、寸法を使用してオフセットを計算し、1が存在するようにすることでこれを処理すると思いました。長方形と物理ピクセル間の1:1の対応。各ピクセルの色は個別に計算されるため、同じレンダリングコードを再利用して、フラクタルのさまざまな部分をレンダリングできます(後でパンとズームを追加したい)。

これが私が書いたビュークラスです:

基本的に、これと同じ方法(レッスン2の正方形)で実行しようとしていますが、オブジェクトがはるかに多くなっています。1と-1は画面の端にほぼ対応していると思います(これが完全に正しいわけではないことはわかっていますが、投影行列の使用方法がよくわからないため、適切なリソースがない限り、これをできるだけ単純に保ちたいと思います。そこから学ぶことができます)が、OpenGLの座標は実際の画面座標とは別のものであることを理解しています。コードを実行すると、黒い画面(緑色になっているはずです)が表示されますが、LogCatはガベージコレクターが機能していることを示しているので、何かがわかります起こっている。何かが正しく行われなかったことが原因のバグなのか、それとも本当に遅いのかはわかりません。どちらの場合でも、私は別の方法で何をすべきですか?私はこれについてすべて間違っているのではないかと感じています。私は周りを見回しましたが、チュートリアルと例のほとんどは上記のリンクに基づいています。

編集:画面全体を埋めるテクスチャを生成してそれを描画するだけでこれを実行できることはわかっていますが、私が読んだリンクでは、フレームごとにテクスチャを再描画する必要がないため、処理が遅くなると書かれていました。とはいえ、パースペクティブが変更されたときにテクスチャを再描画するだけでよいので、これを考慮してコードを記述できます。私が現在抱えている主な問題は、ビットマップを描画し、正しく表示することです。