1

x、y、z座標を入力として指定し、X.volumeオブジェクトからボクセル(3dピクセル)の値を取得する関数が必要です。これは、アトラス関数の参照としてラベルマップを使用するためのものです。これを行う方法はありますか?

どうもありがとう、

エドワード

4

2 に答える 2

3

現在、XTK開発者は、画面座標から世界座標を検索するで説明したようなものを作成していますが、実行されているのはUnproject関数とRay/Triangle交差テストです。レイ/三角形の交差テストは、画面から3Dワールドにレイをキャストし、最初に交差した三角形の座標を返しますが、もちろんボクセルを見つける必要があります。Unproject関数と、Ray / Triangle交差点に似たものを作成してみることができますが、代わりに、三角形の代わりに最も近い交差するボクセルを見つけます。Unproject関数のヘルプはこちらhttp://myweb.lmu.edu/dondi/share/cg/unproject-explained.pdf、しかし、そのリンクはOpenGLからのGluUnprojectを説明しているが、それでも私たちが何をする必要があるかを説明していることを思い出してください。WebGL用のGluUnprojectの代替バージョンを作成しているだけです。あなたが見つけるかもしれないどんな解決策もXTKに貢献されれば大いに感謝されるでしょう。または、3D座標を見つける際の関連する問題に起因する可能性のあるUnproject関数を待つこともできます。

于 2012-07-30T20:33:13.207 に答える
0

あなたの(x、y、z)は何ですか?それらは世界ベースの座標ですか、それともボリュームベースの座標ですか?どちらの場合も解を計算できますが(最初の場合は少し複雑になります)、ソースを少し変更する必要があると思います。

ソースに少しコーディングして参加しますか?私たちのようなxtkユーザーにとっては素晴らしいことです!ボリュームの階層を調べて、いくつかの操作を実行するだけです。

  • (x、y、z)が世界ベースの座標である場合:複雑です。いくつかのテストを行う必要があります:-)
  • 作業する方向を選択します(1つのボリュームは3つの方向にスライスを持つことができます)、たとえば、1番目の方向のslicesX
  • ボリュームの中心X座標、ボリュームX間隔、および選択されたポイントのX座標を使用して、slicesXで適切なスライスを見つけます。
  • ボリュームの中心(y、z)、ボリュームのYとZの間隔、および選択したポイントのYとZの座標を使用して、選択したスライスのテクスチャマップの(x'、y')座標を取得します。
  • 選択したスライスのテクスチャサイズを使用して、スライスのテクスチャ画像の座標を取得します(x''、y'')
  • テクスチャの(x''、y'')ポイントを読み取ります

今週はこれ以上調べる時間がないのが残念ですが、おそらく後で。

于 2012-07-31T10:49:31.070 に答える