[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Java3Djp:02040] Re: Transform3D.r otX() について
------------------------- infoseek ML Sponsor --------------------------
■■■■■■■■ キャッシングならキャッシュワン ■■■■■■■■■
┏━━┓┏1.入会金・年会費・ATM手数料一切不要!━━━━━━━━┓
<特徴>┃2.実質年率15.0〜18.0% 1万円からのキャッシング ┃
┗━━┛┗3.【今なら5万円商品券も当る!10月1日〜11月30日まで 】━┛
東京三菱キャッシュワン ⇒ http://www.p-advg.com/?bid=11321
------------------------------------------------------------------------
古川です。
返答ありがとうございます。
だらだら長いメールで失礼いたしました。
> このMLでは定番ですが、
> javax.vecmathパッケージ詳説 Java 3Dの数学
> http://objectclub.esm.co.jp/vecmath/vecmath.pdf
> は読まれましたか...?
拝見させていただいておりますが、
いささか不勉強で恐縮です。
> t1.setTranslation(new Vector3d(1.0, 0.0, 0.0));
> System.out.println(t1); // t1のX軸移動
> Transform3D t2 = new Transform3D();
> t2.rotZ(Math.PI/4.0);
> System.out.println(t2); // t2の回転
> t2.mul(t1);
> System.out.println(t2); // 乗算
> 乗算は、すでに回転している t2 に対して移動を適用するのですから、
> t2.mul(t1);
> すでに回転した座標系の x 方向に 1.0 移動します。
t2.mul(t1)は回転(t2)したあとに移動(t1)するという
意味なのでしょうか?
私は逆だと思っていました。
過去ログ
http://ml-ar1.infoseek.co.jp/MLarchive/user/3384/html/msg000000279.php3
を拝見すると、ある点p1を任意軸まわりに回転させる方法として、
t1:点p1を原点に平行移動。
t2:原点を通る軸で回転移動
t3:それから、原点を点p1に戻す平行移動
の処理を行う場合、
t2.mul(t1);
t3.mul(t2);
となっています。
これでt3*t2*t1マトリックスが生成され、
t1-t2-t3の順番で処理されると理解しておりますが、
t3-t2-t1の順番で処理されるということでしょうか?
また長々とすみません。
------
古川
------------------------------------------------------------------------
★豪華賞品が呼んでいるぅ〜。『あなたのプロバイダーはなぁ〜にぃ〜?』
http://ap.infoseek.co.jp/navi.html