[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