[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Java3Djp:00506] 視点を移動した時のマウスに対応するVU空間の座標
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ ソフトウェア業界専門求人・求職情報 ┃
┃ http://www.aun-soft.co.jp/ ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
つきやまです。
こんばんは。
視点を自動的に設定した時
universe = new SimpleUniverse(canvas);
universe.getViewingPlatform().setNominalViewingTransform();
は、次のような変換でZ = 0.0平面にドラッグで線が描画できました。
(PickObject.javaのgenaratePickRay()を参考にしました)
public Point3d getPoint(Canvas3D canvas, int xpos, int ypos){
Transform3D motion = new Transform3D();
Point3d mousePosn = new Point3d();
canvas.getPixelLocationInImagePlate(xpos,ypos,mousePosn);
canvas.getImagePlateToVworld(motion);
motion.transform(mousePosn);
return mousePosn; //VUの座標(X,Y)を返す
}
(今思うとたまたまです。。。)
しかし、この方法では視点をZ方向に移動した時にマウスが指しているポイントと
線を描画するポイントがずれてしまいます。
(X,Y平面方向に視点を移動してもずれません)
何か解決方法はないでしょうか。
よろしくお願いします。
Mitsuru Tsukiyama