Jason_Harvestdancer
Active member
I've been trying to teach my computer how to do Placidus House Calculations in C++, but I've run into a problem. Here is the Placidus equations as I collected them from the internet.
So far so good. Except for one huge problem. Step 5.
I keep getting a problem where the absolute value of ( TAN f * TAN Dx ) is greater than one, and you cannot take the Arcsin of something that has an absolute value of greater than one.
Has anyone encountered this problem? Is there a slightly more accurate set of equations out there that I could perhaps try instead?
Excerpts from Michael P. Munkasey's "An Astrological House Formulary"
e represents the obliquity of the ecliptic
f represents the terrestrial latitude
ASC is the ascendant
MC is the midhaven
RAMC is the Right Ascension of the MC
F, G, J, K, and L are working terms, unimportant astronomically
H11, etc. stands for the offset to compute the cusp of house eleven, etc.
C11, etc. stands for the value of the cusp of house eleven, etc.
PRELIMINARY CALCULATIONS
The RAMC (the right ascension of the midheaven) is computed from Local Sidereal Time (LST) by converting time units to degree units. RAMC = Sidereal time * 15
MC = ARCTAN ( TAN (RAMC) ÷ COS e )
ASC = ARCCOT (- ( (TAN f * SIN e) + (SIN RAMC * COS e) ) ÷ COS RAMC)
The obliquity of the ecliptic, for any date in modern times, is
calculated by:
e = 23°27'08.26" - 46.845" * T - .0059" * T^2 + .00181" * T^3
where T is in fractions of a century starting from Jan 1, 1900
THE PLACIDIAN HOUSE SYSTEM FORMULATION
1. Compute the RAMC, MC, and ASC in the normal manner. Use the MC as the cusp of the tenth house and the ASC as the cusp of the first house. This is a very fast converging algorithm adapted from a work by M. Vijayaraghavulu.
2. Determine the following house cusp intervals:
H11 = RAMC + 30°
H12 = RAMC + 60°
H2 = RAMC + 120°
H3 = RAMC + 150°
3. Set the Semi-arc ratios:
F11 = 1 ÷ 3
F12 = 2 ÷ 3
F2 = 2 ÷ 3
F3 = 1 ÷ 3
4. Compute the cuspal declinations:
D11 = ARCSIN ( SIN e * SIN H11 )
D12 = ARCSIN ( SIN e * SIN H12 )
D2 = ARCSIN ( SIN e * SIN H2 )
D3 = ARCSIN ( SIN e * SIN H3 )
5. Compute the first intermediate values:
A11 = F11 * ( ARCSIN ( TAN f * TAN D11 ) )
A12 = F12 * ( ARCSIN ( TAN f * TAN D12 ) )
A2 = F2 * ( ARCSIN ( TAN f * TAN D2 ) )
A3 = F3 * ( ARCSIN ( TAN f * TAN D3) )
6. Compute the house cusp positions as follows:
M11 = ARCTAN ( SIN A11 ÷ ( COS H11 x TAN D11) )
M12 = ARCTAN ( SIN A12 ÷ ( COS H12 x TAN D12) )
M2 = ARCTAN ( SIN A2 ÷ ( COS H2 x TAN D2) )
M3 = ARCTAN ( SIN A3 ÷ ( COS H3 x TAN D3) )
7. Compute the intermediate house cusps:
R11 = ARCTAN ( ( TAN H11 * COS M11 ) ÷ COS ( M11 + e) )
R12 = ARCTAN ( ( TAN H12 * COS M12 ) ÷ COS ( M12 + e) )
R2 = ARCTAN ( ( TAN H2 * COS M2 ) ÷ COS ( M2 + e) )
R3 = ARCTAN ( ( TAN H3 * COS M3 ) ÷ COS ( M3 + e) )
8. If Rx is more than 0.1° different from Dx then Dx = Rx and resume at step 4.
9. Compute the individual house cusps as follows:
C11 = R11
C5 = 180° + C11
C12 = R12
C6 = 180° + C12
C2 = R2
C8 = 180° + C2
C3 = R3
C9 = 180° + C3
C4 = 180° + MC
C7 = 180° + ASC
So far so good. Except for one huge problem. Step 5.
I keep getting a problem where the absolute value of ( TAN f * TAN Dx ) is greater than one, and you cannot take the Arcsin of something that has an absolute value of greater than one.
Has anyone encountered this problem? Is there a slightly more accurate set of equations out there that I could perhaps try instead?