[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Java3Djp:01643] Re: Z 座標値の取得について2
〜 12月1日新しいビジネスが始まる!ビジネスも楽天、楽天ビジネス誕生 〜
●●●●●●●●●●●●●●●●●●●●●●●●●●●
● サービスリリース第一弾!ビジネスサービス商談市場 ●
●●●●●●●●●●●●●●●●●●●●●●●●●●●
〜〜〜〜〜 今すぐアクセス! http://business.rakuten.co.jp 〜〜〜〜〜
----------------------------------------------------------------------
こんにちは池田です。
いしいさんありがとうございます。
下の方法で3次元座標を取り出すことに成功しました!
>
> public Point3d getVWorldXYZ(Canvas3D canvas, BranchGroup bg, int x,
int y) {
> PickCanvas pickCanvas = new PickCanvas(canvas, bg);
> pickCanvas.setMode(PickTool.GEOMETRY);
> pickCanvas.setShapeLocation(x, y);
> PickResult[] results = pickCanvas.pickAllSorted();
> if (results == null) {
> return null;
> }
> PickIntersection pi = results[0].getIntersection(0);
> Point3d p = pi.getPointCoordinatesVW();
> return p;
> }
成功したのですが、疑問が発生しました。
計算に異常に時間がかかったのです。
Pickする物体がこの前のいしいさんのサンプルの
Point3f[] p = {new Point3f( 0.0f, 0.6f, 0.0f),
new Point3f(-0.6f, -0.3f, 0.5f),
new Point3f( 0.6f, -0.3f, 1.0f) };
でしたら、1秒もかからないのですが、私がPickしようとしている
物体はファイルから1万点の座標を読み込んでノードとしてぶら下げて
いるので、1点を計算するのに5秒はかかります。
これはやはり物体が複雑になったためなのでしょうか?
どなたか、分かる人がいらっしゃれば意見を聞かせて下さい。
******************************
池田浩志
s021003@xxxxxxxxxxxxxxxxxxxx