[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Java3Djp:00786] Re: Java 3D1.1.2でのLineのpick



-----------------------------------------------------------
  【地球にやさしく】  【資源再利用】  【リサイクル】
 ・パソコンプリンターのトナーカートリッジのリサイクル品
        『新品に比べて格安、ほぼ半額。o(^-^)o』
 ・価格の確認→ http://www.ecotec.co.jp/cosmos/serv01.htm
------ 環境ネットワーク--->> http://www.ecotec.co.jp/ -----

えんどうです。

>根気強くがんばりまして、USE_GEOMETRYで確かにPickできました。
>しかし、Pickできるのは下のような線の2番目の縦線の1点のみで、
>同じX座標でもY座標をずらすとPickできなくなりました。
>
>-----
>         |
>         |
>         |
>         -----
>
>Lineを太くしても、Pickできる範囲は変わりませんでした。
>遠藤さんはどのようにPickが成功したのでしょうか?

私も縦の部分でしか pick できていません。

ためしにline をこんな風にしてみました。

    Point3d v01 = new Point3d(0.0, 0.25, 0.0);
    Point3d v02 = new Point3d(0.0, 0.5, 0.0);
    Point3d v03 = new Point3d(0.25, 0.5, 0.0);
    Point3d v04 = new Point3d(0.25, 0.75, 0.0);
    Point3d[] vertexs2 = {v01, v02, v02, v03, v03, v04};
    line2_g.setCoordinates(0, vertexs2);


            |
            |
            |
            |
------------
|
|
|
|

    Point3d v1  = new Point3d(0.0, -0.25, 0.0);
    Point3d v2  = new Point3d(0.25, 0.0, 0.0);
    Point3d v3  = new Point3d(0.5, -0.25, 0.0);
    Point3d v4  = new Point3d(0.75, 0.0, 0.0);
    Point3d[] vertexs = {v1, v2, v2, v3, v3, v4};
    line_g.setCoordinates(0, vertexs);

 
       /\        /\
     /    \    /    \
   /        \/        \
 

結果は、line2 の縦の部分しか pick できません。

>これでいくと、LineのPickはまだ不完全ような感じがするのですが。

かもしれません。

setBounds() で BoundingPolytope を set して USE_BOUNDS を試してみるという
姑息な手段も考えられます。
-- 
ENDO Yasuyuki <yasuyuki@xxxxxxxxxx>
http://www.javaopen.org/jfriends/ (Japanese Only)