問題タブ [bsp]
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.
data-structures - C# BSP 分割アルゴリズムの論理エラーまたは計算エラー
私はあなたのアドバイスを必要とします。
さて、このアルゴリズムに問題があります。このプログラムのバイナリ ツリーに追加して維持する再帰的な方法を使用していますが、Split Once を 3 回実行すると、コードが壊れます。
例として、アルゴリズムのメソッドが常に垂直分割を実行し、垂直分割のみを実行するように強制するとします。したがって、私が持っている VertiSplit メソッドのみを呼び出します。方法は以下の通りです。私は記憶からこれを行っているので、1 つまたは 2 つの間違いがある可能性があります。
このポイントの下に Report メソッド、閉じ括弧、および水平分割 (HoriSplit) メソッドを呼び出す上記の if ステートメントの false 条件に対する else ステートメントがあるとします。これを論理的に進めます。計算はこのようになるはずです。ダンジョンのサイズは512×512平方。スプリット X は、ここで関心のあるオブジェクトです。
1 回目の繰り返し: ノード ID: 0 分割 X: 256
2 回目の反復: ノード ID: 1 分割 X: 128 ノード ID: 2 分割 X: 384
3 回目の繰り返し: ノード ID: 3 分割 X: 64 ノード ID: 4 分割 X: 192 ノード ID: 5 分割 X: 320 ノード ID: 6 分割 X: 448
ただし、反復 #3 では、代わりに次のようになります。
3 回目の反復: ノード ID: 3 分割 X: 64 ノード ID: 4 分割 X: 192 ノード ID: 5 分割 X: 448 ノード ID: 6 分割 X: 448
コードが書かれている方法では、これを行うべきではありません。しかし、ノード #5 が壊れたのに、他のノードは問題ないのはなぜですか? 現時点では本当にわからないので、頭がいっぱいです。誰かが私を助けることができますか?
また、機能していないことがもう 1 つあります。テキストボックスによって制御されるtempの値が割り当てられているnumSplits(整数であるはず)の値を取るSplitCreateAllというメソッドで使用するために、一時文字列変数を32ビット整数に変換しようとしていますUnity の GUI で。何らかの理由で、numSplits に値を割り当てることができるように一時を解析しようとするたびに、テキスト ボックスに入力して 0 から変更した後、一時が正しい形式ではないというエラーが発生します。誰かがそこで何がうまくいかなかったのか教えてもらえますか?
編集:
私の GrowBranches メソッドがあります。これは、再帰チェーンで分割メソッドが呼び出される場所です。GrowBranches は、メソッド SplitCreateOnce および SplitCreateAll によっても呼び出されますが、後者は、解析エラーを含む上記の理由により機能しません。
java - Hama BSPJob からカウンターに格納された結果を取得する方法は?
Hadoop Mapreduce と同様に、このリンクで説明されているように、Hama にもカウンターがあります。
hadoop mapreduce では、次のようにgetCounters()関数を使用してカウンターの値を簡単に取得できます。
しかし、hama のBSPJobクラスには、そのような機能はありませんgetCounters()
。
私の質問は: hama BSPJob が終了した後、どのようにカウンターから値を取得できますか?
ありがとうございました、
java - Hama BSP の例外
BSP ジョブを実際に実行する前に、入力データ パーティション フェーズで hama が次の例外をスローします。この例外の考えられる根本的な原因を知ることはできますか? 根本的な原因を見つける方法についての提案は大歓迎です。ありがとうございました!
raytracing - 三角形メッシュの Kd ツリーが遅すぎる
Kd アルゴリズムは、2 つのサブツリーの作成に使用される 2 つの新しい配列 (左右のプリミティブ) を作成するために、プリミティブ (三角形、球体など) の配列を分割することによってルート BSP ノードを作成することから始まります。
左右のプリミティブは、指定されたプリミティブ配列を 2 つの配列に分割することによって計算されます。分割面の位置は、各三角形の間隔 (所定の軸 (x、y、または z) に投影) の中点の中央値を取得することによって計算されます。
たとえば、x 座標の三角形: 1、2、3 の中点 1=(3-1)/2 (x 軸に沿って) x 座標の三角形: 2、3、8 の中点 3= (8-2)/2 (x 軸に沿って) x 座標を持つ三角形: 4、3、8 は中間点を持ちます 2.5=(8-3)/2 (x 軸に沿って) これらを含むプリミティブ配列3 つの三角形は、yz 平面に平行な x=2.5 (中央値) を通る平面によって分割されます。結果の左側のプリミティブ配列には 3 つの三角形が含まれ、結果の右側のプリミティブ配列には 3 つの三角形が含まれます。
左と右のプリミティブを持つ 2 つの結果の配列は、Kd ノードの左と右のサブツリーを構築するために使用されます (プリミティブはリーフ ノードにのみ格納されます)。
左のサブツリーの場合:
右側のサブツリーも同様です。
実装されたアルゴリズムは機能しますが、ツリーが十分に分割されていないため、非常に遅くなります。5500 個の三角形のバニーをレイ トレーシングすると、1 個の三角形の葉ノードが多数あり、最後の葉ノードにはまだ 762 個の三角形が含まれています。
ツリーのバランスをとる、より優れたパーティション分割アルゴリズムはありますか (私のものはサーフェスに変換された単一ポイントの Kd ツリーの実装にすぎないため)。
更新: 切断点に従って間隔の配列 [t0,t1] を 2 つの間隔の配列に分割できるアルゴリズムまたはヒューリスティックを検索しました。左の配列には、切断点の左側の間隔と、切断点を含む間隔が含まれます。右側の配列についても同様です。両方の配列の間隔の数はほぼ同じでなければならず、重複する間隔の数はできるだけ少なくする必要があります。このアルゴリズムの複雑さは O(n^2) ではない場合があります。
java - Hama BSP でこのジョブのランタイム パーティションが失敗しました
hama BSP ジョブの実行を開始すると、次の問題が発生しました。この例外は、自分のコードを実際に実行する前に、hama が入力データを読み込んで分割しようとしたときに発生します。これは一部の Web サイトで説明されている既知の問題ですが、残念なことに既知の原因はありません (例:ここを参照)。
データ セットの一部のみを実行すると、BSP ジョブは問題なく動作します。ただし、完全なデータセットを実行すると、問題が発生します:(
この問題を解決または回避する方法を教えてください。
embedded - Mini210 はビデオを再生できません
Mini210ボードがあり、 WINCE6 と Android の両方をインストールしました。
MP4、264、AVIなどのビデオを再生できません。
この形式は認識されません。
It's BSP on wince を見たところ、ドライバーが 2 つしかありませんでした。MFC(マルチフォーマットビデオコーデック)用のドライバーはありません。
この問題を解決する方法はありますか?
.net - Platform Builder でディレクトリを WinCE イメージに追加します
Platform Builder (6.0R3)
私が取り組んでいる BSP の結果のイメージで、ファイル システムのルートに「abc」という名前のディレクトリを作成するには、どうすればよいですか。さらに、このディレクトリにはいくつかのファイル (実行可能ファイルと で生成された dll .NET Compact 3.5
) が必要です。
検索しましたが、編集してWindowsディレクトリにファイルを追加する方法しか見つかりPlatform.bib
ませんでしたが、特定のファイルを含む新しいディレクトリを作成する方法は見つかりませんでした。