チェンジセット 423

差分発生行の前後
無視リスト:
コミット日時:
2008/05/18 13:30:59 (4 年前)
コミッタ:
alumican
ログメッセージ:

--

ファイル:

凡例:

変更無し
追加
削除
更新
コピー
移動
  • as3/Utils/src/org/libspark/utils/MathUtil.as

    r399 r423  
    352352        } 
    353353         
    354          
    355          
     354                /*======================================================================*//** 
     355                * 回転砲台のアルゴリズム 
     356                * 現在角度から目標角度に到達するために必要となる最短の回転角を返します 
     357                * 角度は時計回りを正の方向とします 
     358                * @author       alumican 
     359                * @param        current 現在の角度, 単位[rad] 
     360                * @param        target  目標の角度, 単位[rad] 
     361                * @return                       目標へ到達するための差分角度, 単位[rad], 範囲(-2π,2π) 
     362                *//*=======================================================================*/ 
     363                public static function earliestRotation(__current:Number, __target:Number):Number { 
     364                        var pi2:Number = 2 * Math.PI; 
     365                        var d:Number = __target  % pi2 - __current % pi2; 
     366                        if(d < 0)       { d += pi2; } 
     367                        if(d > Math.PI) { d -= pi2; } 
     368                        return d; 
     369                         
     370                        /* --- sticky -------------------------------------------------------------------------- * 
     371                         * :dが[-π,0)のときに無駄な計算をしている気がする 
     372                         * :これでも大丈夫ぽいけど,剰余計算が重そう 
     373                         *  return( ((target  % pi2) - (current % pi2) + 3 * Math.PI) % (2 * Math.PI) - Math.PI; 
     374                         * ------------------------------------------------------------------------------------- */ 
     375                } 
     376         
    356377        } 
    357378} 
    358  
    359  
    360  
    361  
    362