astrorigin / pyswisseph

Python extension to the Swiss Ephemeris
https://astrorigin.com/pyswisseph
GNU Affero General Public License v3.0
242 stars 66 forks source link

calculate degree of ASC and MC not square? #41

Closed trangtv57 closed 3 years ago

trangtv57 commented 3 years ago

hi, tks for your great project, I try to calculate ASC and MC in birth day, but why ASC degree and MC degree not aspect square? below is my code

birth_day = swe.julday(1994, 11, 22, 15)
MC_sign = swe.calc_ut(birth_day, swe.MC)[0][0]
ac_sign_birth = swe.calc_ut(birth_day, swe.ASC)[0][0]
output: 
ac_sign_birth:  240.0799931234063
mc sign_birth:  107.43119148529165

ac sign birth and mc sign birth not square as i know, they should diff 90 degree?. sorry if i wrong, tks you

arunkhattri commented 3 years ago

The Midheaven is always aligned with north or south. However, the Ascendant and Descendant are not necessarily aligned with east and west, so the Ascendant is not necessarily at 90 degrees to the Midheaven. The Ascendant is the degree of the ecliptic that intersects the eastern celestial horizon at a specific time and location. For observers in the tropics, this will always be close to due east and the Ascendant will always be close to 90 degrees away from the Midheaven. As the observer moves farther north or south it becomes possible for the Ascendant to be farther and farther away from due east.

Because of the obliquity of the Earth's axis relative to the ecliptic, away from the equator some signs take much longer to cross the eastern horizon than do others. In the northern hemisphere, the signs from Cancer through Sagittarius take longer to ascend than the signs from Capricorn through Gemini, whilst in the southern hemisphere the reverse is the case.

However, the Midheaven sign for a given sidereal time will remain the same regardless of the latitude of the location for which the chart is cast. This means that, for different latitudes, a different sign can be ascending for the same Midheaven sign. For equatorial latitudes, the sign on the Midheaven will generally be three signs before the sign on the Ascendant, but at very high latitudes this can vary between one sign before and five signs before the sign on the Ascendant. The greatest separations between Ascendant and Midheaven occur when short ascension signs (Aquarius, Pisces, Aries) are on the Midheaven, and the smallest when long ascension signs (Virgo, Libra, Scorpio) are on the Midheaven.

Midheaven

by the way , i think one calculate ascdt and MC in following way: birth_day = swe.julday(1994, 11, 22, 15 birth_day = swe.julday(1994, 11, 22, 15) cusp1, ascdt1 = swe.houses(birth_day, lat_d, lon_d) asc = ascdt1[0] mc = ascdt1[1] asc - mc 101.5328138

trangtv57 commented 3 years ago

tks for detail answer @arunkhattri , Can i ask one more question abouse house position?. my birth day is 1994-11-22 at 22:00 pm local, and convert to UTC it's is 17:00 pm so i have calculated ASC by this code:

birth_day_normal = swe.julday(1994, 11, 22, 22)
birth_day_utc = swe.julday(1994, 11, 22, 15)  #birth day in utc
asc_birth position = swe.calc_ut(birth_day_utc, swe.ASC)[0][0]
# this return: asc birth position:  240.0799931234063

but when i use code to get house (with lon and lat is my birth place)

house_position = swe.houses(birth_day_normal, lat=15.03, lon=109.85)
# this return 
# (223.65897371918123, 252.88295575474038, 283.26432936817486, 315.04238003106707, 347.12868187333856, 17.113596292533146, 43.65897371918123, 72.88295575474035, 103.26432936817486, 135.04238003106707, 167.12868187333856, 197.11359629253315

asc not match with position of first house. And I need to check what's time moon go to second house or third house like at '2021, 5, 20, 2.36' moon in 2 house. But when i calculate moon position at this time: it's 152.9696529921468 degree not match with 252.8 as position at second house in house function. Can you show me house to match position of planet for house? Thank you very much. I can't figure out problem in many week. tks