to.tetramorph.starbase.util
クラス AspectFinder

java.lang.Object
  上位を拡張 to.tetramorph.starbase.util.AspectFinder

public class AspectFinder
extends Object

天体間のアスペクトを検出する計算に使う。すべてstaticメソッド。


フィールドの概要
static AspectType[] DEFAULT_ASPECT_TYPES
          デフォルトアスペクトタイプ。
 
コンストラクタの概要
AspectFinder()
           
 
メソッドの概要
static List<Aspect> getAspects(List<Body> bodys, AspectType[] aspectTypes)
          1重円のアスペクトを求める。
static List<Aspect> getAspects(List<Body> bodyList, Body body, List<Aspect> resultList, AspectType[] aspectTypes)
          ネイタル図などのひと組の天体リストと、トランジット図などの一つの天体(太陽等)間 のアスペクトを検出する。
static List<Aspect> getAspects(List<Body> bodys, List<Body> bodys2, AspectType[] aspectTypes)
          二つのチャート間における天体のアスペクトを求める。
static void getAspects(List<Body> bodys, List<Body> bodys2, AspectType[] aspectTypes, List<Aspect> list)
          二つのチャート間における天体のアスペクトを求める。
static boolean isAspect(Body p1, Body p2, double angle, double orb)
          二体の天体間(p1,p2)の離角がangle度ならばtrueを返す。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

DEFAULT_ASPECT_TYPES

public static final AspectType[] DEFAULT_ASPECT_TYPES
デフォルトアスペクトタイプ。0,60,90,120,180,150,72度のアスペクトで、 各オーブが設定されている。

コンストラクタの詳細

AspectFinder

public AspectFinder()
メソッドの詳細

isAspect

public static boolean isAspect(Body p1,
                               Body p2,
                               double angle,
                               double orb)
二体の天体間(p1,p2)の離角がangle度ならばtrueを返す。 検査の際にはオーブが考慮される。 ただしパラレルの判定には使えない。

パラメータ:
p1 - 天体1
p2 - 天体2
orb - オーブ
angle - 角度は0度から180度まで指定可能。
戻り値:
入力された条件のアスペクトが成立していればtrueを返す。

getAspects

public static List<Aspect> getAspects(List<Body> bodys,
                                      AspectType[] aspectTypes)
1重円のアスペクトを求める。天体位置をChartFactorで計算したあと、このメソッドに それを与えてアスペクトを求める事ができる。結果はAspectのListで求まる。
Aspectにはアスペクトを形成している二つの感受点(Body)、該当するアスペクト番号、 タイトかルーズどちらのアスペクトか、誤差、の情報が登録されている。
それからノーアスペクトの検出も行われる。このときノーアス認定の基準は、太陽から 冥王星までの天体で検査してアスペクトが無い事が条件で、ノードやMCといった 仮想感受点とのアスペクトは無視される。またルーズアスペクトも無視する。 ノーアスペクトはAspect#isNoAspect()で判定する。 ただし、仮想感受点とのアスペクトは、アスペクトとしては認識される。 それから非常に多くのアスペクトを検出することができるが、検出するアスペクトの種類 を増やせば増やすほど、ノーアスになる確率は低くなる。
 アスペクトとオーブを定義するリストはたとえば次のようにして作る。
 CONJUNCITON等の定数は、Constで宣言されている。

 AspectType [] defAspect = {
  new AspectType(CONJUNCTION,4,8),
  new AspectType(SEXTILE,3,6),
  new AspectType(SQUARE,4,8),
  new AspectType(TRINE,4,8),
  new AspectType(OPPOSITION,4,8),
  new AspectType(QUINCUNX,3,6),
  new AspectType(QUNTILE,2,4)
 };
 

パラメータ:
aspectTypes - アスペクトを定義した配列
bodys - アスペクトを検査する天体(複数)
戻り値:
Aspectが入ったListを返す。
関連項目:
Aspect

getAspects

public static List<Aspect> getAspects(List<Body> bodys,
                                      List<Body> bodys2,
                                      AspectType[] aspectTypes)
二つのチャート間における天体のアスペクトを求める。 (たとえばネイタル図の太陽とトランジット図の太陽のアスペクトなど)。

パラメータ:
bodys - 天体リスト1。たとえばネイタル図
bodys2 - 天体リスト2。たとえばトランジット図
aspectTypes - 認識するアスペクトの種類
戻り値:
検出されたアスペクトのリスト

getAspects

public static void getAspects(List<Body> bodys,
                              List<Body> bodys2,
                              AspectType[] aspectTypes,
                              List<Aspect> list)
二つのチャート間における天体のアスペクトを求める。 (たとえばネイタル図の太陽とトランジット図の太陽のアスペクトなど)。 このメソッドは結果を格納するリストを引数で指定でき、複数回実行するたびに 結果を一つのリストに追加していける。

パラメータ:
bodys - 天体リスト1。たとえばネイタル図
bodys2 - 天体リスト2。たとえばトランジット図
aspectTypes - 認識するアスペクトの種類
list - 結果を格納するリスト

getAspects

public static List<Aspect> getAspects(List<Body> bodyList,
                                      Body body,
                                      List<Aspect> resultList,
                                      AspectType[] aspectTypes)
ネイタル図などのひと組の天体リストと、トランジット図などの一つの天体(太陽等)間 のアスペクトを検出する。検出結果は引数で渡したrsultListに入る。 bodyListをプログレス図の天体リストに変更して再度呼びだし、 結果を同じにresultListに追加してゆくことができる。

パラメータ:
body - この天体とbodyListの天体とのアスペクトが検出される。 もとまったAspect#p2はかならずこのbodyとなる。
bodyList - ネイタルやトランジットの天体リスト
resultList - 検出されたアスペクトが格納されるリスト
aspectTypes - 認識するアスペクトの種類
戻り値:
resultListの参照アドレスがそのまま返却される。