Discussion:
Placidus House Equations
(too old to reply)
h***@hotmail.com
2007-03-25 20:21:52 UTC
Permalink
I've been using Dalton's Tables in the past, but have decided to have
my computer do the work. Since my computer can handle complex
equations quite easily, I've decided to program it to calculate the
cusps instead of estimating them by the tables.

Once upon a time, the equations for Placidus were on the web, but it
appears they aren't. Fortunately I saved what was on the web. Here
they are for our entertainment.

RAMC = Sidreal Time * 15 (a simple conversion from hours to degrees)

10th House = arctan(tan(RAMC) / cos(ecliptic))

This was my first problem, a minor one I admit. It appears that
Dalton used 10th House = RAMC.

Asc = arccot(-(((tan(latitude)*sin(ecliptic))+
(sin(RAMC)*cos(ecliptic))))/cos(RAMC))

No problem with the ascendant, but then on to the House equations.

11th House: F = 1/3, H = RAMC + 30
12th House: F = 2/3, H = RAMC + 60
2nd House: F = 2/3, H = RAMC + 120
3rd House: F = 1/3, H = RAMC + 150

D = arcsin(sin(ecliptic)*sin(H))

Begin repeating algorithm
A = F * arcsin(tan(latitude)*tan(D))
M = arctan(sin(A + (cos(H)*tan(D))))
R = arctan((tan(H)*cos(M))/cos(M+ecliptic))
If R and D are within desired closeness (I use 0.1 degrees) then C = R
Otherwise D = R and go back to finding A.

My big problem occurs occasionally when finding A in the repeating
algorithm.

tan(latitude)*tan(D) occasionally returns a value larger than 1 (or
smaller than -1) and you can't take the arcsin of something greater
than 1.

The first problem I'm not sure I care about, but the second one really
bugs me since it crashed the astrolgoy program I've been writing. So
far I've used an exception of finding the arctan instead of the arcsin
when the values are too great, but I really suspect I made a mistake
when I copied down the formulas.

Where can I find a clean copy of Placidus's equations?

Jason Harvestdancer
Ed Falis
2007-03-26 15:19:32 UTC
Permalink
Post by h***@hotmail.com
Where can I find a clean copy of Placidus's equations?
Here's the variation given in "Recent Advances in Natal Astrology", Dean
& Mather, attributed to Mike Munkasey, Chester Kemp and Neil Michelson.
Due to the slightly different arrangement of the calculation of the
expressions, it may be less likely to blow up (then again, it may not).

Use the same formulae for MC and ASC.

RA of cusps 11 & 12 (iterate until sufficiently small):

RA = RAMC + (arccos (-sin (RA) * tan (E) * tan (L)) / F

where initially:
for 11: RA = RAMC + 30, F = 3
for 12: RA = RAMC + 60, F = 1.5

RA of cusps 2 & 3 (iterate until sufficiently small):

RA = RAMC + 180 - arccos (sin (RA) * tan (E) * tan (L)) / F

where initially:
for 2: RA = RAMC + 120, F = 1.5
for 3: RA = RAMC + 150, F = 3

Then the celestial longitude of a cusp is:

C = arcttan (sin (RA) / cos (E) * cos (RA))

L - geographical latitude
E - obliquity of ecliptic
RAMC - right ascension of MC
C - cusp in celestial longitude

----

You can probably find something similar in the source code of the Swiss
Ephemeris at www.astro.com

- Ed
Ed Falis
2007-03-26 18:48:14 UTC
Permalink
RA of cusps 11 & 12 (iterate until sufficiently small):

RA = RAMC + (arccos (-sin (RA) * tan (E) * tan (L)) / F

Delete the first open parenthesis (not that it matters much since it's
an obvious typo).

- Ed
p***@hotmail.com
2007-03-30 17:14:37 UTC
Permalink
Post by Ed Falis
Post by h***@hotmail.com
Where can I find a clean copy of Placidus's equations?
Here's the variation given in "Recent Advances in Natal Astrology", Dean
& Mather, attributed to Mike Munkasey, Chester Kemp and Neil Michelson.
Due to the slightly different arrangement of the calculation of the
expressions, it may be less likely to blow up (then again, it may not).
- Ed
Hi Ed,

The algorithm is identical to the one given in "The American Book of
Tables" by Michelsen, Hand et al. There it is attributed to Hugh
Rice, given in "American Astrology Tables of Houses". Does anyone
know the original source of the algorithm? Not really essential that
I know, I'd just like to have that fact in my notes.

I like this one because it doesn't use house poles. But any ecliptic
point with an ascensional difference, tan(lat) tan(dec) > 1, will blow
up because the cusp either doesn't rise or is circumpolar. I guess
this is the main issue with Placidus.


Jay
Ed Falis
2007-03-30 19:29:12 UTC
Permalink
Post by p***@hotmail.com
The algorithm is identical to the one given in "The American Book of
Tables" by Michelsen, Hand et al. There it is attributed to Hugh
Rice, given in "American Astrology Tables of Houses". Does anyone
know the original source of the algorithm? Not really essential that
I know, I'd just like to have that fact in my notes.
Hi Jay,

Hugh Rice sounds as reasonable as any. He's certainly referred to 30+
years ago in some of the materials I have.
Post by p***@hotmail.com
I like this one because it doesn't use house poles. But any ecliptic
point with an ascensional difference, tan(lat) tan(dec) > 1, will blow
up because the cusp either doesn't rise or is circumpolar. I guess
this is the main issue with Placidus.
And there have been several ways to deal with it. It's a modelling
problem: you have a conceptual model of what's going on, but there are
some corner cases that need both conceptual treatment and perhaps a
different mathematical approach than used normally. The standard
Placidus equations, Topocentric and Svarogich are all different
mathematical models of essentially the same conceptual model of
ascension. All three use different geometrical models, and hence
mathematical formulae. And all three treat the polar corner cases
differently, some with more credence than others ;-)

- Ed
Todd Carnes
2007-03-27 19:39:12 UTC
Permalink
From Michael P. Munkasey's "An Astrological House Formulary"...
CALCULATION CONVENTIONS

The following standard abbreviations are used in the mathematics which
follow:

e represents the obliquity of the ecliptic
f represents the terrestrial latitude
ASC is the ascendant
MC is the MC
RAMC is the Right Ascension of the MC
F, G, J, K, and L are working terms, unimportant astronomically
+. -, x (or, *), ÷, = represent their normal arithmetic functions
SIN, COS, TAN, COT, etc. represent the trigonometric functions

For calculator purposes: COT = (1 ÷ TAN ) and vice-versa, etc.
ARCSIN, ARCCOS, ARCTAN, etc. represent the trig inverses
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.

Standard computer notation parenthesis nesting conventions are used
throughout the formulations. That is, three left parenthesis must be
balanced by three right parenthesis. Calculations are always performed
within the inner parenthesis first, and then outward to the outer
parenthesis. Persons attempting the mathematics herein should refer to
reasonable reference books if they are unfamiliar with trigonometric
procedures. Particularly, the process of adjusting house cusp
calculations for the correct trigonometric quadrant can be somewhat
tricky if not performed with care. House cusps which are over 360° or
under 0° should be converted to lie between 0° and 360° . That is, if
you compute a house cusp as being 372° then this should be changed to
12 Aries. Add 360° to any negative values or results. House cusps with
values between 0° and 29.99° lie in Aries; between 30° and 59.99° in
Taurus; between 60° and 89.99° degrees in Gemini, and so forth around
the zodiac and through the signs.

PRELIMINARY CALCULATIONS AND THE PERSONAL SENSITIVE POINTS

1. The RAMC (the right ascension of the midheaven) is computed from
Local Sidereal Time (LST) by converting time units to degree units. An
example of this calculation follows:
Given an LST of 12H 15M 00S, then first convert this to a decimal form
of time, or 12.25 hours. 12.25 x 15 = 183.75° which is the RAMC.
Given an LST of 6H 27M 14S, then convert this to a decimal form of
time, or 6.453889 hours. 6.453889 x 15 = 96.808333°.

2. MC = ARCTAN ( TAN (RAMC) ÷ COS e )

3. ASC = ARCCOT (- ( (TAN f x SIN e) + (SIN RAMC x COS e) ) ÷ COS
RAMC)

4. EQA = ARCCOT ( - ( TAN RAMC x COS e) )

5. VTX = ARCCOT (- ( (COT f x SIN e) - (SIN RAMC x COS e) ) ÷ COS
RAMC)

6. CAS = ARCCOT (- ( (COT f x SIN e) + (SIN RAMC x COS e) ) ÷ COS
RAMC)

7. PAS = ARCCOT ( ( (TAN f x SIN e) - (SIN RAMC x COS e) ) ÷ COS RAMC)

8. ARI The Aries Point is always zero of Aries.

9. The declination of any point on the ecliptic can be calculated
from:
declination = ARCSIN ( SIN (zodiacal longitude of point ) x SIN
e)

10. The obliquity of the ecliptic, for any date in modern times, is
calculated by:
e = 23o 27' 08.26" - 46.845" x T - .0059" x T2 + .00181" x T3
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° H2 = RAMC + 120°
H12 = RAMC + 60° H3 = RAMC + 150°

3. Set the Semi-arc ratios:
F11 = 1 ÷ 3 F2 = 2 ÷ 3
F12 = 2 ÷ 3 F3 = 1 ÷ 3

4. Compute the cuspal declinations:
D11 = ARCSIN ( SIN e x SIN H11 ) D2 = ARCSIN ( SIN e x SIN H2 )
D12 = ARCSIN ( SIN e x SIN H12 ) D3 = ARCSIN ( SIN e x SIN H3 )

5. Compute the first intermediate values:
A11 = F11 x ( ARCSIN ( TAN f x TAN D11 ) )
A12 = F12 x ( ARCSIN ( TAN f x TAN D12 ) )
A2 = F2 x ( ARCSIN ( TAN f x TAN D2 ) )
A3 = F3 x ( ARCSIN ( TAN f x 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 x COS M11 ) ÷ COS ( M11 + e) )
R12 = ARCTAN ( ( TAN H12 x COS M12 ) ÷ COS ( M12 + e) )
R2 = ARCTAN ( ( TAN H2 x COS M2 ) ÷ COS ( M2 + e) )
R3 = ARCTAN ( ( TAN H3 x COS M3 ) ÷ COS ( M3 + e) )

8. Substitute: D11 = R11; D12 = R12; D2 = R2; and D3 = R3. Then repeat
steps 5 thru 8 again. Substitute the R's for the D's a third time and
repeat steps 5 thru 8. The answer for R on the third try is the cusp
you desire.

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
h***@hotmail.com
2007-03-28 21:52:06 UTC
Permalink
Post by Todd Carnes
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.
H11 = RAMC + 30° H2 = RAMC + 120°
H12 = RAMC + 60° H3 = RAMC + 150°
F11 = 1 ÷ 3 F2 = 2 ÷ 3
F12 = 2 ÷ 3 F3 = 1 ÷ 3
D11 = ARCSIN ( SIN e x SIN H11 ) D2 = ARCSIN ( SIN e x SIN H2 )
D12 = ARCSIN ( SIN e x SIN H12 ) D3 = ARCSIN ( SIN e x SIN H3 )
A11 = F11 x ( ARCSIN ( TAN f x TAN D11 ) )
A12 = F12 x ( ARCSIN ( TAN f x TAN D12 ) )
A2 = F2 x ( ARCSIN ( TAN f x TAN D2 ) )
A3 = F3 x ( ARCSIN ( TAN f x TAN D3) )
As I said in my OP, this is where I have the problem, as TAN f x TAN D
occasionally gives a value whose absolute value is greater than one.
As anyone who has studied trig knows, you cannot take the ARCSIN of a
number whose absolute value is greater than one.

My workaround has been to take the ARCTAN instead. What I would like
is if someone who has actually tried this has encountered the same
problem and what they've done with it.

I suspect that the source you are using is copying an error.

Actually I begin to suspect ARCTAN is correct, as the values given
approximate Dalton's Table. Also I suspect this because the number
we're taking the ARCSIN of is the product of two TANs. There is no
way to guarantee that when you multiply two TANs that you will get a
number between 1 and -1.
Post by Todd Carnes
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) )
R11 = ARCTAN ( ( TAN H11 x COS M11 ) ÷ COS ( M11 + e) )
R12 = ARCTAN ( ( TAN H12 x COS M12 ) ÷ COS ( M12 + e) )
R2 = ARCTAN ( ( TAN H2 x COS M2 ) ÷ COS ( M2 + e) )
R3 = ARCTAN ( ( TAN H3 x COS M3 ) ÷ COS ( M3 + e) )
8. Substitute: D11 = R11; D12 = R12; D2 = R2; and D3 = R3. Then repeat
steps 5 thru 8 again. Substitute the R's for the D's a third time and
repeat steps 5 thru 8. The answer for R on the third try is the cusp
you desire.
C11 = R11 C5 = 180° + C11
C12 = R12 C6 = 180° + C12
C2 = R2 C8 = 180° + C2
C3 = R3 C9 = 180° + C3
Todd Carnes
2007-03-29 01:12:16 UTC
Permalink
Post by h***@hotmail.com
As I said in my OP, this is where I have the problem, as TAN f x TAN D
occasionally gives a value whose absolute value is greater than one.
As anyone who has studied trig knows, you cannot take the ARCSIN of a
number whose absolute value is greater than one.
My workaround has been to take the ARCTAN instead. What I would like
is if someone who has actually tried this has encountered the same
problem and what they've done with it.
I suspect that the source you are using is copying an error.
Actually I begin to suspect ARCTAN is correct, as the values given
approximate Dalton's Table. Also I suspect this because the number
we're taking the ARCSIN of is the product of two TANs. There is no
way to guarantee that when you multiply two TANs that you will get a
number between 1 and -1.
I'm not on my home computer and so I do not have access to my files in
order to look this up properly...

Have you tried looking at (or even using) the Swiss Ephemeris source
code? You could at least see how they handled the situation that you
describe.

Todd
Claude Latremouille
2007-03-29 03:47:31 UTC
Permalink
Post by h***@hotmail.com
As I said in my OP, this is where I have the problem, as TAN f x TAN D
occasionally gives a value whose absolute value is greater than one.
As anyone who has studied trig knows, you cannot take the ARCSIN of a
number whose absolute value is greater than one.
My workaround has been to take the ARCTAN instead. What I would like
is if someone who has actually tried this has encountered the same
problem and what they've done with it.
Although I have not touched this issue for at least a quarter
of a century, I distinctly remember having had to insert by
inspection an arbitrary + 180 degrees where the formula would
have collapsed otherwise. At the time, I was using a hand-held
calculator.

Claude Latrémouille

=== ***@torfree.net ===
=== CLAUDE LATRÉMOUILLE ===
===========================
Ed Falis
2007-03-29 18:58:03 UTC
Permalink
Post by h***@hotmail.com
As I said in my OP, this is where I have the problem, as TAN f x TAN D
occasionally gives a value whose absolute value is greater than one.
As anyone who has studied trig knows, you cannot take the ARCSIN of a
number whose absolute value is greater than one.
Did the version of the equations I sent make it to the newsgroup? They
should avoid this problem because a third factor whose absolute value is
less than one is multiplied in before taking the arctan.
Todd Carnes
2007-04-02 06:13:34 UTC
Permalink
Post by Ed Falis
Did the version of the equations I sent make it to the newsgroup? They
should avoid this problem because a third factor whose absolute value is
less than one is multiplied in before taking the arctan.
I'm sorry Ed, but I didn't see them come through or I would have
approved the post.

Todd
Ed Falis
2007-04-02 15:58:50 UTC
Permalink
Todd Carnes wrote:
..
Post by Todd Carnes
I'm sorry Ed, but I didn't see them come through or I would have
approved the post.
I think I'm on robo-approve, and since Jay commented on the formula, it
must have made it. Thanks.
Todd Carnes
2007-04-02 06:36:49 UTC
Permalink
Ok (assuming you know how to code in C), here's how they do it in the
Swiss Ephemeris...

(Note: looks best when viewed with fixed fonts)

/*
******************************************************************************
** House Cusp Calculations.
******************************************************************************
*/

/* The following three functions calculate the Midheaven, Ascendant,
and */
/* East Point of the chart in question, based on time and location.
The */
/* first two are also used in some of the house cusp calculation
routines */
/* as a quick way to get the 10th and 1st cusps. The East Point object
is */
/* technically defined as the Ascendant's position at zero
latitude. */

real CuspMidheaven()
{
real MC;

MC = RAtn(RTan(is.RA) / RCos(is.OB));
if (MC < 0.0)
MC += rPi;
if (is.RA > rPi)
MC += rPi;
return Mod(DFromR(MC) + is.rSid);
}

real CuspAscendant()
{
real Asc;

Asc = Angle(-RSin(is.RA) * RCos(is.OB) - RTan(ciCore.lat) *
RSin(is.OB), RCos(is.RA));
return Mod(DFromR(Asc) + is.rSid);
}

real CuspEastPoint()
{
real EP;

EP = Angle(-RSin(is.RA) * RCos(is.OB), RCos(is.RA));
return Mod(DFromR(EP) + is.rSid);
}


/* These are various different algorithms for calculating the house
cusps: */

real CuspPlacidus(deg, FF, fNeg)
real deg, FF;
BOOL fNeg;
{
real LO, R1, XS, X;
int i;

R1 = is.RA + RFromD(deg);
X = fNeg ? 1.0 : -1.0;
/* Looping 10 times is arbitrary, but it's what other programs do. */
for (i = 1; i <= 10; i++)
{

/* This formula works except at 0 latitude (AA == 0.0). */

XS = X * RSin(R1) * RTan(is.OB) * RTan(ciCore.lat == 0.0 ? 0.0001 :
ciCore.lat);
XS = RAcos(XS);
if (XS < 0.0)
XS += rPi;
R1 = is.RA + (fNeg ? rPi - (XS / FF) : (XS / FF));
}
LO = RAtn(RTan(R1) / RCos(is.OB));
if (LO < 0.0)
LO += rPi;
if (RSin(R1) < 0.0)
LO += rPi;
return DFromR(LO);
}

void HousePlacidus()
{
int i;

cp0.cusp_pos[1] = Mod(is.Asc - is.rSid);
cp0.cusp_pos[4] = Mod(is.MC + rDegHalf - is.rSid);
cp0.cusp_pos[5] = CuspPlacidus(30.0, 3.0, fFalse) + rDegHalf;
cp0.cusp_pos[6] = CuspPlacidus(60.0, 1.5, fFalse) + rDegHalf;
cp0.cusp_pos[2] = CuspPlacidus(120.0, 1.5, fTrue);
cp0.cusp_pos[3] = CuspPlacidus(150.0, 3.0, fTrue);
for (i = 1; i <= NUMBER_OF_SIGNS; i++)
{
if (i <= 6)
cp0.cusp_pos[i] = Mod(cp0.cusp_pos[i] + is.rSid);
else
cp0.cusp_pos[i] = Mod(cp0.cusp_pos[i - 6] + rDegHalf);
}
}
Ed Falis
2007-04-02 15:59:21 UTC
Permalink
Post by Todd Carnes
Ok (assuming you know how to code in C), here's how they do it in the
Swiss Ephemeris...
As usual, C is a model of clarity in communication ;-)

I believe this is based on the same formulae I previously sent, except
for the arbitrary choice of 10 iterations. I guess that's plenty good
enough if they do it in sweph.

Loading...