[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