チェンジセット 3388

差分発生行の前後
無視リスト:
コミット日時:
2010/02/03 22:33:17 (3 年前)
コミッタ:
rokubou
ログメッセージ:

NyARMathの関数名重複に起因するバグ修正(SF#20533)

ファイル:

凡例:

変更無し
追加
削除
更新
コピー
移動
  • as3/FLARToolKit/trunk/libs/NyARToolKitAS3/src/jp/nyatla/nyartoolkit/as3/core/utils/NyAREquationSolver.as

    r3322 r3388  
    111111                        if ((tmp = q * q - p * p * p) == 0) { 
    112112                                // 重根 
    113                                 q = cuberoot(q); 
     113                                q = NyARMath.cubeRoot(q); 
    114114                                o_result[0] = 2 * q - b; 
    115115                                o_result[1] = -q - b; 
     
    117117                        } else if (tmp > 0) { 
    118118                                // 実根1,虚根2 
    119                                 var a3:Number = cuberoot(q + ((q > 0) ? 1 : -1) * Math.sqrt(tmp)); 
     119                                var a3:Number = NyARMath.cubeRoot(q + ((q > 0) ? 1 : -1) * Math.sqrt(tmp)); 
    120120                                var b3:Number = p / a3; 
    121121                                o_result[0] = a3 + b3 - b; 
     
    260260                        } 
    261261                } 
    262                 /** 
    263                  * 3乗根を求められないシステムで、3乗根を求めます。 
    264                  * http://aoki2.si.gunma-u.ac.jp/JavaScript/src/3jisiki.html 
    265                  * @param i_in 
    266                  * @return 
    267                  */ 
    268                 private static function cuberoot(i_in:Number):Number 
    269                 { 
    270                         var res:Number = Math.pow(Math.abs(i_in), 1.0 / 3.0); 
    271                         return (i_in >= 0) ? res : -res; 
    272                 } 
     262 
    273263                /** 
    274264                 * 3次方程式の実根を1個だけ求める。 
     
    288278                        if ((tmp = q * q - p * p * p) == 0) { 
    289279                                // 重根 
    290                                 q = cuberoot(q); 
     280                                q = NyARMath.cubeRoot(q); 
    291281                                return 2 * q - b; 
    292282                        } else if (tmp > 0) { 
    293283                                // 実根1,虚根2 
    294                                 var a3:Number = cuberoot(q + ((q > 0) ? 1 : -1) * Math.sqrt(tmp)); 
     284                                var a3:Number = NyARMath.cubeRoot(q + ((q > 0) ? 1 : -1) * Math.sqrt(tmp)); 
    295285                                var b3:Number = p / a3; 
    296286                                return a3 + b3 - b; 
  • as3/FLARToolKit/trunk/libs/NyARToolKitAS3/src/jp/nyatla/nyartoolkit/as3/core/utils/NyARMath.as

    r3322 r3388  
    3131package jp.nyatla.nyartoolkit.as3.core.utils  
    3232{ 
     33        import jp.nyatla.nyartoolkit.as3.core.types.*; 
    3334        public class NyARMath 
    3435        { 
     
    3940                 * @return 
    4041                 */ 
    41                 public static final function sqNorm(i_p1:NyARDoublePoint2d,i_p2:NyARDoublePoint2d ):Number 
     42                public static function sqNorm_NyARDoublePoint2d(i_p1:NyARDoublePoint2d,i_p2:NyARDoublePoint2d ):Number 
    4243                { 
    43                         var x,y:Number; 
     44                        var x:Number,y:Number; 
    4445                        x=i_p2.x-i_p1.x; 
    4546                        y=i_p2.y-i_p1.y; 
    4647                        return x*x+y*y; 
    4748                } 
    48                 public static function sqNorm(i_p1x:Number,i_p1y:Number,i_p2x:Number,i_p2y:Number):Number 
     49                public static function sqNorm_Number(i_p1x:Number,i_p1y:Number,i_p2x:Number,i_p2y:Number):Number 
    4950                { 
    50                         var x,y:Number; 
     51                        var x:Number,y:Number; 
    5152                        x=i_p2x-i_p1x; 
    5253                        y=i_p2y-i_p1y; 
     
    5960                 * @return 
    6061                 */      
    61                 public static final function sqNorm(i_p1:NyARDoublePoint3d,i_p2:NyARDoublePoint3d):Number 
     62                public static function sqNorm_NyARDoublePoint3d(i_p1:NyARDoublePoint3d,i_p2:NyARDoublePoint3d):Number 
    6263                { 
    63                         var x, y, z:Number; 
     64                        var x:Number, y:Number, z:Number; 
    6465                        x=i_p2.x-i_p1.x; 
    6566                        y=i_p2.y-i_p1.y; 
     
    6768                        return x*x+y*y+z*z; 
    6869                } 
    69  
     70                /** 
     71                 * 3乗根を求められないシステムで、3乗根を求めます。 
     72                 * http://aoki2.si.gunma-u.ac.jp/JavaScript/src/3jisiki.html 
     73                 * @param i_in 
     74                 * @return 
     75                 */ 
     76                public static function cubeRoot(i_in:Number):Number 
     77                { 
     78                        var res:Number = Math.pow(Math.abs(i_in), 1.0 / 3.0); 
     79                        return (i_in >= 0) ? res : -res; 
     80                } 
    7081 
    7182        }