X-Git-Url: http://git.osdn.net/view?p=mikutoga%2FTogaGem.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fjp%2Fsfjp%2Fmikutoga%2Fmath%2FMkQuat.java;fp=src%2Fmain%2Fjava%2Fjp%2Fsfjp%2Fmikutoga%2Fmath%2FMkQuat.java;h=c8150272fe84ef09f6994eeba5631e1611c36e38;hp=d00b17589fd8a243ae0704806f795ce8cbb50f57;hb=ca790c392b3e12ba485b897aa10334aff7fce4b1;hpb=3747423c564042a26a0d1db6cc1fc79965c5140c diff --git a/src/main/java/jp/sfjp/mikutoga/math/MkQuat.java b/src/main/java/jp/sfjp/mikutoga/math/MkQuat.java index d00b175..c815027 100644 --- a/src/main/java/jp/sfjp/mikutoga/math/MkQuat.java +++ b/src/main/java/jp/sfjp/mikutoga/math/MkQuat.java @@ -9,6 +9,7 @@ package jp.sfjp.mikutoga.math; /** * ã¯ã©ã¼ã¿ããªã³ã«ããå転表ç¾ã + * *
èé¨q1,q2,q3ã¨å®é¨qwããæ§æãããã */ public strictfp class MkQuat { @@ -37,6 +38,7 @@ public strictfp class MkQuat { /** * ã³ã³ã¹ãã©ã¯ã¿ã + * *
èé¨ãå ¨ã¦0.0ãå®é¨ã1.0ã¨ãªãã */ public MkQuat(){ @@ -46,6 +48,7 @@ public strictfp class MkQuat { /** * ã³ã³ã¹ãã©ã¯ã¿ã + * * @param q ã³ãã¼å ã¯ã©ã¼ã¿ããªã³ */ public MkQuat(MkQuat q){ @@ -55,6 +58,7 @@ public strictfp class MkQuat { /** * ã³ã³ã¹ãã©ã¯ã¿ã + * * @param q1 èé¨1 * @param q2 èé¨2 * @param q3 èé¨3 @@ -72,8 +76,11 @@ public strictfp class MkQuat { /** * ã¯ã©ã¼ã¿ããªã³ç©ãæ±ãæ ¼ç´ããã + * *
ã¯ã©ã¼ã¿ããªã³ç©ã§ã¯äº¤æåãæãç«ããªãã + * *
å¼æ°ã¯åä¸ã¤ã³ã¹ã¿ã³ã¹ãå«ãã§ãããã + * * @param qA ç©åé * @param qB ç©å¾é * @param result ç©ã®æ ¼ç´å @@ -111,7 +118,9 @@ public strictfp class MkQuat { /** * å ±å½¹(å ±è»)ã¯ã©ã¼ã¿ããªã³ãæ±ãæ ¼ç´ããã + * *
å¼æ°ã¯åä¸ã¤ã³ã¹ã¿ã³ã¹ã§ãããã + * * @param q ã¯ã©ã¼ã¿ããªã³ * @param result æ ¼ç´å */ @@ -125,7 +134,9 @@ public strictfp class MkQuat { /** * åä½ã¯ã©ã¼ã¿ããªã³ãæ±ãæ ¼ç´ããã + * *
å¼æ°ã¯åä¸ã¤ã³ã¹ã¿ã³ã¹ã§ãããã + * * @param q ã¯ã©ã¼ã¿ããªã³ * @param result æ ¼ç´å */ @@ -147,9 +158,12 @@ public strictfp class MkQuat { /** * éå ã¯ã©ã¼ã¿ããªã³ãæ±ãæ ¼ç´ããã + * *
対象ã¯ã©ã¼ã¿ããªã³ã®çµ¶å¯¾å¤ãå°ããå ´åã * ç¡é大ãèé¨å®é¨ã«å ¥ãå¯è½æ§ãããã + * *
å¼æ°ã¯åä¸ã¤ã³ã¹ã¿ã³ã¹ã§ãããã + * * @param q ã¯ã©ã¼ã¿ããªã³ * @param result æ ¼ç´å */ @@ -274,8 +288,11 @@ public strictfp class MkQuat { /** * ä½ç½®æ å ±ãèªã¿è¾¼ãã + * *
èé¨q1,q2,q3ã«X,Y,Z軸ã®å¤éãå ¥ãã + * *
å®é¨ã«ã¯0ãå ¥ãã + * * @param xPos Xä½ç½® * @param yPos Yä½ç½® * @param zPos Zä½ç½® @@ -290,8 +307,11 @@ public strictfp class MkQuat { /** * ä½ç½®æ å ±ãèªã¿è¾¼ãã + * *
èé¨q1,q2,q3ã«X,Y,Z軸ã®å¤éãå ¥ãã + * *
å®é¨ã«ã¯0ãå ¥ãã + * * @param pos ä½ç½®æ å ± */ public void setPos3D(MkPos3D pos){ @@ -301,8 +321,10 @@ public strictfp class MkQuat { /** * YXZãªã¤ã©ã¼è§ãèªã¿è¾¼ãã + * *
Y軸å転ãX軸å転ãZ軸å転ã®é ã« * åå¥å転ã¯ã©ã¼ã¿ããªã³ã®ç©ãã¨ã£ããã®ã¨çããã + * * @param xRot X軸å転é(ã©ã¸ã¢ã³)ã第2軸 * @param yRot Y軸å転é(ã©ã¸ã¢ã³)ã第1軸 * @param zRot Z軸å転é(ã©ã¸ã¢ã³)ã第3軸 @@ -330,8 +352,10 @@ public strictfp class MkQuat { /** * YXZãªã¤ã©ã¼è§ãèªã¿è¾¼ãã + * *
Y軸å転ãX軸å転ãZ軸å転ã®é ã« * åå¥å転ã¯ã©ã¼ã¿ããªã³ã®ç©ãã¨ã£ããã®ã¨çããã + * * @param rot YXZãªã¤ã©ã¼è§ */ public void setEulerYXZ(EulerYXZ rot){ @@ -341,10 +365,12 @@ public strictfp class MkQuat { /** * ã¯ã©ã¼ã¿ããªã³ãYXZãªã¤ã©ã¼è§ã¸ã¨å¤æããã + * *
ã¸ã³ãã«ããã¯æã®YZé åãæå®å¯è½ã + * * @param result YXZãªã¤ã©ã¼è§ * @param oldY ã¸ã³ãã«ããã¯æ(ãªã¤ã©ã¼è§Xãç´è§etc.) - * ã«ä½¿ãããY軸å転é + * ã«ä½¿ãããY軸å転é */ public void toEulerYXZ(EulerYXZ result, double oldY){ double qx = this.q1; @@ -372,8 +398,8 @@ public strictfp class MkQuat { double m11 = 1.0 - 2.0 * (qx2 + qz2); double m12 = 2.0 * (qyz - qwx); -// double m20 = 2.0 * (qxz - qwy); -// double m21 = 2.0 * (qwx + qyz); + // double m20 = 2.0 * (qxz - qwy); + // double m21 = 2.0 * (qwx + qyz); double m22 = 1.0 - 2.0 * (qx2 + qy2); double resultX; @@ -461,14 +487,14 @@ public strictfp class MkQuat { double rprrQ1; double rprrQ2; double rprrQ3; -// double rprrQW; rprrQ1 = rpQ2 * rrQ3 - rpQ3 * rrQ2 + rpQW * rrQ1 + rpQ1 * rrQW; rprrQ2 = rpQ3 * rrQ1 - rpQ1 * rrQ3 + rpQW * rrQ2 + rpQ2 * rrQW; rprrQ3 = rpQ1 * rrQ2 - rpQ2 * rrQ1 + rpQW * rrQ3 + rpQ3 * rrQW; -// rprrQW = rpQW * rrQW - rpQ1 * rrQ1 - rpQ2 * rrQ2 - rpQ3 * rrQ3; -// assert rprrQW == 0.0; + // double rprrQW; + // rprrQW = rpQW * rrQW - rpQ1 * rrQ1 - rpQ2 * rrQ2 - rpQ3 * rrQ3; + // assert rprrQW == 0.0; result.setXpos(rprrQ1); result.setYpos(rprrQ2);