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

[Java3Djp:00774] Re: [Q] set/get rotation



   ★★★ !!!注目!!! ★★★ 

 ━ フルカラー名刺屋さん ━━ URL http://www5.tokyoweb.or.jp/netcraft/
        カードクラフト                          ▲  Click ! ▲
 ● 速い!●  ご注文の翌営業日に出荷致します。
 ● 安い!●  80枚1500円(税別)全国送料無料。
 ● 綺麗!●  高品質なフルカラー名刺です。
-----------------------------------------------------------------------

えんどうです。

Transform3D#set(Quat4d)/get(Quat4d) メソッドは私もよくわかんないです。

Bug Parade で調べましたが、Quat4d 関係のそのものずばりのバグはまだ見つかりませんでした。

http://developer.java.sun.com/developer/bugParade/bugs/4216030.html
>Bug ID: 4216030
>java3d:graphics_si, JCK-vecmath-1.1:Quat4d/Quat4f behave differently on JTG and classic VM,
> State: In progress, bug, Reported: Mar 01, 1999, Release reported against: 1.1.1
 
あまり関係なさそう..

>//--------
> public void test() {
>  Quat4d q1 = new Quat4d();
>  Transform3D t1 = new Transform3D();
>
>  rootTransGroup.getTransform(t1);
>  t1.get(q1);
>  System.out.println("rotation(before): " + q1);
>
>  t1.setRotation(q1);
>  rootTransGroup.setTransform(t1);

もしかしたら同じかも知れませんが、

Transform3D tmptrans = new Transform3D();
tmptrans.setRotataion(q1);
t1.mul(tmptrans);
rootTransGroup.setTransform(t1);

こんなことをやるとどうなりますか。

>  Quat4d q2 = new Quat4d();
>  Transform3D t2 = new Transform3D();
>
>  rootTransGroup.getTransform(t2);
>  t2.get(q2);
>  System.out.println("rotation(after ): " + q2);
>  System.out.println("");
> }
>思うのですが、不勉強でquaternionがどう扱われるものなのか
>知らないのです(実は調べようとしてみたのですが、どうにも
>私の手には余るようで、あきらめてしまいました)。

私も Quat4f はよく分からないので、
Transform3D のソースコードが読んでみたいです。

>また、私としては特にquaternionによる表現にはこだわらない
>ので、回転の情報を取得・再設定する方法が他にないかと
>思っています(たぶんTransform3Dの行列を丸ごと使用すれば
>いいんだとは思うのですが、できれば回転だけを取りたいと
>思っています)。どなたかいい手をご存知の方、教えて
>いただけないでしょうか。

RotPosScalePathInterpolator などはうまく動いているようなのですが、
これもソースが読みたいところです。

Quat4fをダンプするサンプル

http://www.javaopen.org/j3dbook/examples/QuatTest/QuatTest.java
http://www.javaopen.org/j3dbook/examples/QuatTest/QuatTest.html
http://www.javaopen.org/j3dbook/examples/QuatTest/QuatTestPlugin.html

RotPosScalePathInterpolator のサンプル

http://www.javaopen.org/j3dbook/examples/RotPosScalePathTest/RotPosScalePathTest.java
http://www.javaopen.org/j3dbook/examples/RotPosScalePathTest/RotPosScalePathTest.html
http://www.javaopen.org/j3dbook/examples/RotPosScalePathTest/RotPosScalePathTestPlugin.html

RotPosScaleTCBSplinePathInterpolator のサンプル

http://www.javaopen.org/j3dbook/examples/TCBSplinePathTest/TCBSplinePathTest.java
http://www.javaopen.org/j3dbook/examples/TCBSplinePathTest/TCBSplinePathTest.html
http://www.javaopen.org/j3dbook/examples/TCBSplinePathTest/TCBSplinePathTestPlugin.html
--
ENDO Yasuyuki <yasuyuki@xxxxxxxxxx>
http://www.javaopen.org/jfriends/ (Japanese Only)