[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Java3Djp:00222] マウスの座標の変換
◆中国風水界の若手ホープ◆
★結婚、金運、事業運、命名、改名などを観ていただけます。
★ 企業、個人を問いません。
★ 視ていただく方を紹介していただければ、謝礼致します。
お問い合わせ先:奉天風水会 sakur19@xxxxxxxxxx
--------------------------------------------------------------------
つきやまです。
マウスの座標を3D内の座標に変換する方法ですが、
com.sun.j3d.utils.behavior.picking.PickObjectのgeneratePickRay()の
中で使用されています、
canvas.getPixelLocationInImagePlate(xpos,ypos,mousePosn)
で取得できているようです。
int xpos:マウスの座標(Canvas3Dの座標)
int ypos:マウスの座標(Canvas3Dの座標)
Point3d mousePosn:3D内の座標
遠藤さんのご指摘の通り、XY平面で有効です。
しかし、generatePickRay()を書き換えて座標をリターンするように行うと
きちんと座標がとれるのですが、
PickObject pickObject = new PickObject(canvas, rootNode);
...
Point3d point = pickObject.genaratePickRay_(x, y)
上のメソッドを単独で使用すると、座標のスケールが違うのか値が正確では
ありません。
canvas.getPixelLocationlnImagePlate(x, y, point);
何か見落としているところがあるのでしょうか?
Mitsuru Tsukiyama