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

[Java3Djp:02036] Re: 視点移動後の PickTranslateBehavior



------------------------- infoseek ML Sponsor --------------------------
■■■■■■■■ キャッシングならキャッシュワン ■■■■■■■■■
┏━━┓┏1.入会金・年会費・ATM手数料一切不要!━━━━━━━━┓
<特徴>┃2.実質年率15.0〜18.0% 1万円からのキャッシング    ┃
┗━━┛┗3.【今なら5万円商品券も当る!10月1日〜11月30日まで 】━┛
東京三菱キャッシュワン ⇒ http://www.p-advg.com/?bid=11321 
------------------------------------------------------------------------


えんどうです。

> > これでダメなら、PickMouseBehavior を自分で拡張(継承)して、
> > すでに視点側に加わった変換を適用した x, y 方向に移動させる Behavior を
> > 書くことになると思います。
> 
> この方法で現在検討中です。

com.sun.j3d.utils.behaviors.MouseTranslate のソースを読んでみると、

    Vector3d translation = new Vector3d();

マウス座標から得た移動量 dx, dy を計算し、この Vector3d の x, y に対して

                    translation.x = dx*x_factor; 
                    translation.y = -dy*y_factor;

差分としてセットし、

                    transformX.set(translation);

これを現在の TransformGroup である currTransfom と乗算してますね。

                    if (invert) {
                        currXform.mul(currXform, transformX);
                    } else {
                        currXform.mul(transformX, currXform);
                    }
                    
                    transformGroup.setTransform(currXform);

乗算前に translation に視点移動による変換を適用すればいいのかな...?


-- 
ENDO Yasuyuki <yasuyuki@xxxxxxxxxxxx>
http://www.javaopen.org/yasuyuki/ (Personal/Japanese Only)
http://www.javaopen.org/jfriends/ (Japanese Only)


------------------------------------------------------------------------
  ★豪華賞品が呼んでいるぅ〜。『あなたのプロバイダーはなぁ〜にぃ〜?』
          http://ap.infoseek.co.jp/navi.html