Closed sundraw closed 8 years ago
////////////////////////////////////////// // ORIGINAL SWISS EPHEMERIS ////////////// ////////////////////////////////////////// // TROPICAL int day = 1, month = 1, year = 2001; double time = 0; double tjd = swe_julday(year, month, day, time, SE_GREG_CAL); double te = tjd + swe_deltat(tjd); int p; int iflag, iflgret; double x2[6]; char snam[40], serr[AS_MAXCH]; iflag = SEFLG_MOSEPH; for (p = SE_SUN; p <= SE_MEAN_NODE; p++) { if (p == SE_EARTH) continue; iflgret = swe_calc(te, p, iflag, x2, serr); if (iflgret < 0) { NSLog(@"Error: %s\n", serr); } else if (iflgret != iflag) { NSLog(@"warning: iflgret != iflag. %s\n", serr); } swe_get_planet_name(p, snam); NSLog(@"%s: %f", snam, x2[0]); }
Sun: 280.633394 Moon: 348.705788 Mercury: 284.271499 Venus: 326.966739 Mars: 214.937800 Jupiter: 62.190038 Saturn: 54.591045 Uranus: 318.650060 Neptune: 305.327192 Pluto: 253.768075 mean Node: 105.685433
// SIDEREAL int day = 1, month = 1, year = 2001; double time = 0; double tjd = swe_julday(year, month, day, time, SE_GREG_CAL); double te = tjd + swe_deltat(tjd); int p; int iflag, iflgret; double x2[6]; char snam[40], serr[AS_MAXCH]; iflag = SEFLG_MOSEPH | SEFLG_SIDEREAL | SEFLG_NONUT; swe_set_sid_mode(SE_SIDM_LAHIRI, 0, 0); double ayanamsa = swe_get_ayanamsa(te); NSLog(@"Ayanamsa: %f", ayanamsa); for (p = SE_SUN; p <= SE_MEAN_NODE; p++) { if (p == SE_EARTH) continue; iflgret = swe_calc(te, p, iflag, x2, serr); if (iflgret < 0) { NSLog(@"Error: %s\n", serr); } else if (iflgret != iflag) { NSLog(@"warning: iflgret != iflag. %s\n", serr); } swe_get_planet_name(p, snam); NSLog(@"%s: %f", snam, x2[0]); }
Ayanamsa: 23.871029 Sun: 256.766846 Moon: 324.839240 Mercury: 260.404950 Venus: 303.100191 Mars: 191.071251 Jupiter: 38.323489 Saturn: 30.724497 Uranus: 294.783511 Neptune: 281.460644 Pluto: 229.901526 mean Node: 81.818885
////////////////////////////////////////// /////////////// SWISSEPHNET ////////////// ////////////////////////////////////////// // TROPICAL using (var sweph = new SwissEph()) { int jday = 1, jmon = 1, jyear = 2001; double jut = 0; double[] x2 = new double[6]; Int32 iflag, iflgret; iflag = SwissEph.SEFLG_MOSEPH; string snam = string.Empty, serr = String.Empty; var jd = sweph.swe_julday(jyear, jmon, jday, jut, SwissEph.SE_GREG_CAL); var te = jd + sweph.swe_deltat(jd); for (var p = SwissEph.SE_SUN; p <= SwissEph.SE_MEAN_NODE; p++) { if (p == SwissEph.SE_EARTH) continue; iflgret = sweph.swe_calc(te, p, iflag, x2, ref serr); if (iflgret < 0) Debug.WriteLine("Error: " + serr); else if (iflgret != iflag) Debug.WriteLine("Warning: " + serr); snam = sweph.swe_get_planet_name(p); Debug.WriteLine(snam + ": " + x2[0]); } }
Sun: 280.633396098731 Moon: 348.705789739616 Mercury: 284.271500618641 Venus: 326.96674081694 Mars: 214.937801767143 Jupiter: 62.1900397329627 Saturn: 54.5910474997899 Uranus: 318.650061672831 Neptune: 305.327194003093 Pluto: 253.76807736787 mean Node: 105.685433403061
// SIDEREAL using (var sweph = new SwissEph()) { int jday = 1, jmon = 1, jyear = 2001; double jut = 0; double[] x2 = new double[6]; Int32 iflag, iflgret; iflag = SwissEph.SEFLG_MOSEPH | SwissEph.SEFLG_SIDEREAL | SwissEph.SEFLG_NONUT; string snam = string.Empty, serr = String.Empty; var jd = sweph.swe_julday(jyear, jmon, jday, jut, SwissEph.SE_GREG_CAL); var te = jd + sweph.swe_deltat(jd); sweph.swe_set_sid_mode(SwissEph.SE_SIDM_LAHIRI, 0, 0); double ayanamsa = sweph.swe_get_ayanamsa(te); Debug.WriteLine("Ayanamsa: " + ayanamsa); for (var p = SwissEph.SE_SUN; p <= SwissEph.SE_MEAN_NODE; p++) { if (p == SwissEph.SE_EARTH) continue; iflgret = sweph.swe_calc(te, p, iflag, x2, ref serr); if (iflgret < 0) Debug.WriteLine("Error: " + serr); else if (iflgret != iflag) Debug.WriteLine("Warning: " + serr); snam = sweph.swe_get_planet_name(p); Debug.WriteLine(snam + ": " + x2[0]); } }
Ayanamsa: 23.8710324265381 Sun: 280.637877069543 Moon: 348.710270710429 Mercury: 284.275981589454 Venus: 326.971221787753 Mars: 214.942282737956 Jupiter: 62.1945207037755 Saturn: 54.5955284706027 Uranus: 318.654542643643 Neptune: 305.331674973906 Pluto: 253.772558338683 mean Node: 105.689914373873
OK I prepared a unit test to debug this problem : #16.
I'll work on it when a have some time.
Sun: 280.633394 Moon: 348.705788 Mercury: 284.271499 Venus: 326.966739 Mars: 214.937800 Jupiter: 62.190038 Saturn: 54.591045 Uranus: 318.650060 Neptune: 305.327192 Pluto: 253.768075 mean Node: 105.685433
Ayanamsa: 23.871029 Sun: 256.766846 Moon: 324.839240 Mercury: 260.404950 Venus: 303.100191 Mars: 191.071251 Jupiter: 38.323489 Saturn: 30.724497 Uranus: 294.783511 Neptune: 281.460644 Pluto: 229.901526 mean Node: 81.818885
Sun: 280.633396098731 Moon: 348.705789739616 Mercury: 284.271500618641 Venus: 326.96674081694 Mars: 214.937801767143 Jupiter: 62.1900397329627 Saturn: 54.5910474997899 Uranus: 318.650061672831 Neptune: 305.327194003093 Pluto: 253.76807736787 mean Node: 105.685433403061
Ayanamsa: 23.8710324265381 Sun: 280.637877069543 Moon: 348.710270710429 Mercury: 284.275981589454 Venus: 326.971221787753 Mars: 214.942282737956 Jupiter: 62.1945207037755 Saturn: 54.5955284706027 Uranus: 318.654542643643 Neptune: 305.331674973906 Pluto: 253.772558338683 mean Node: 105.689914373873