to.tetramorph.starbase.lib
クラス AngleUtilities

java.lang.Object
  上位を拡張 to.tetramorph.starbase.lib.AngleUtilities

public class AngleUtilities
extends Object

角度を計算するためのstaticメソッド群。


メソッドの概要
static double angleDistance(double a, double b)
          円の上で、a地点からb地点までの移動角度を求める。
static double arc(double a, double b)
          円周上のa点からb点までの小さいほうの角度を返す。
static void shrink(Point2D.Double p1, Point2D.Double p2, double len)
          二点間の距離を、角度を保ったまま指定された長さだけ縮める。
static double trigon(double x, double y)
          与えられた直交座標が、原点からみたとき何度の方向になるかを返す。
static double trigon(double zx, double zy, double x, double y)
          zx,zyを原点とし、x,y点との相対角度を求める。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

メソッドの詳細

angleDistance

public static double angleDistance(double a,
                                   double b)
円の上で、a地点からb地点までの移動角度を求める。 aが0度のときbが10度だったとすれば、10度を返す。反対にaが10度でbが0度であれば -10度を返す。aとbの差が180度の場合は180度を、181度離れた場合は、-179度を返す。

パラメータ:
a - 角度(0〜360〜それ以上の値も可)
b - 角度(0〜360〜それ以上の値も可)
戻り値:
距離角

trigon

public static double trigon(double x,
                            double y)
与えられた直交座標が、原点からみたとき何度の方向になるかを返す。
 座標系
       (y) 90゚
 180゚   |
 (-x)---+---(x) 0゚
        |
       (-y)270゚
 
グラフィック座標はy座標がひっくりかえっているため、事前にy座標の符号を 反転させて与える必要がある。


trigon

public static double trigon(double zx,
                            double zy,
                            double x,
                            double y)
zx,zyを原点とし、x,y点との相対角度を求める。


arc

public static double arc(double a,
                         double b)
円周上のa点からb点までの小さいほうの角度を返す。 a,bともデグリーでの角度指定。

戻り値:
必ず正の値

shrink

public static void shrink(Point2D.Double p1,
                          Point2D.Double p2,
                          double len)
二点間の距離を、角度を保ったまま指定された長さだけ縮める。 値は参照で書き換えられる。つまりp1,p2は入力であるとともに出力でもある。