4

私は 3D シーンをセットアップしており、シーンなどをナビゲートできます (私は Java 3D でかなりの経験があります) が、Java 3D で次の 4 つの操作を達成する方法が必要です。

  • Canvas3D の表示領域を仮想世界にマップします (このマッピングにより、表示キャンバスの周りの仮想世界に輪郭 (長方形) を描画できるはずです)。
  • キャンバス上のマウスポイントから仮想世界のポイントに変換します(これがあれば、上記の目的も達成できるはずです)
  • 仮想世界の点から Canvas3D オブジェクト上の点への変換
  • Canvas3D オブジェクトの表示領域に収まるようにシーンをズームできるようにしたい (できれば試行錯誤なしで。つまり、少しズームインせずに、もう一度ポイントをテストしてから繰り返す必要はない)

上記のすべては非常に密接に関連しているため、どんな助けも大いに感謝します.

4

1 に答える 1

0

Canvas3D 座標から仮想世界座標に変換するには、Canvas3D のgetVworldToImagePlateおよびgetImagePlateToVworldメソッドを使用する必要があります。これにより、imagePlate 座標から仮想世界座標へのマッピングが得られます。

ピクセル位置を仮想世界の座標に変換するには、上記の変換をgetPixelLocationInImagePlateからの戻り値とチェーンする必要があります

上記の逆getPixelLocationFromImagePlateは、3 番目のポイントに答えます。

すべてが同じ座標空間にあれば、特定のアプリケーションに必要な適切な変換を見つけ始めることができます。

于 2013-03-18T14:28:29.193 に答える