[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Java3Djp:01186] Re: RotationInterpolatorのaxisOfRotationについて
♪♪♪♪♪♪♪ネット上オークションサイト【eオークション】♪♪♪♪♪♪
今月中に無料買い手登録をすると……
ヒルトン東京、横浜ベイシェラトン、ホテルオークラなど
高級ホテルの宿泊券がドドーンとあたる!http://www.eac.ne.jp
●ホテルのスイートルームをなんと15,000円(2人分)からオークション中!●
えんどうです。
> このソースを実行すると、ピックしたパーツが原点位置に移動した後に
> 横に向かって飛んでいってしまいます。
もし2点間の移動なら、PositionPathInterpolatorを使う方が楽です。
PositionInterpolator は X 軸方向にしか移動できません。
> (1回目のピック時)
> --------------------------------------------
> Matrix4d: 1.0, 0.0, 0.0, 0.0
> 0.0, 1.0, 0.0, 29.192899703979492
> 0.0, 0.0, 1.0, 0.0
> 0.0, 0.0, 0.0, 1.0
Y座標は 29.19 になってますね。
> (2回目のピック時)
> --------------------------------------------
> Matrix4d: 1.0, 0.0, 0.0, 5.4000091552734375
> 0.0, 1.0, 0.0, 0.0
> 0.0, 0.0, 1.0, 0.0
> 0.0, 0.0, 0.0, 1.0
一度原点に戻って、X 方向に 5.4 移動してるみたいですね。
(TG) <-- Y=29.19 の TransformGroup
|
/S\ <-- 動かしたいオブジェクト
~~~
もし上記のようになっているなら、こんな処理が考えられます。
(今回は PickObject.TRANSFORM_GROUP でピックされているようなので、
こうなっている保証はありません)
(TG) <-- Y=29.19 の TransformGroup
|
(TG) <-- InterpolatorのTARGETになるTransformGroup (動的に追加する)
|
/S\ <-- 動かしたいオブジェクト
~~~
たしか com.sun.j3d.util.behavior.mouse.MouseBehavior とそのサブクラス
がこんな処理をやっていたような気がします。
でも自信ありません。^^;
よろしければcom.sun.j3d.util.behavior.mouseのソースを読んでみてください。
---
ENDO Yasuyuki <yasuyuki@xxxxxxxxxx>
http://www.javaopen.org/jfriends/index.html (Japanese Only)