Chess

Perfect Uninstaller V6.3.3.9 Portable

နပိုလီယန္ ဟီးလ္ ၏ ႀကီးပြားခ်မ္းသာေရး နည္းလမ္းမ်ား


Napoleon Hill's Twelve Great Riches of Life

1. Positive mental attitude
2. Sound physical help
3. Harmony in Human Relationships
4. Freedom from fear
5. The hope of achievement
6. The capacity for faith
7. A willingness to share one's blessings
8. A labor of love
9. An open mind on all subjects
10. Self discipline
11. The capacity to understand people
12. Financial security

(Note that the finanical part come the last. As it is basically a reflection of what a person has
become.)
The Following are the short summary of the 17 Principle of Success:-

17 Principles of Success:-

1. Develop Definiteness of Purpose
(When one has thoughtfully defined his personal goal(s) in life, then he can be focusing his
energy in pursuing them. He can then create the environment and circumstances to achieve what
he want rather than simply drift along with the environment aimlessly or simply accept what
others have to offer him.)

2. Establih a Mastermind Alliance
(Outstanding success in life had never been achieved by the effort of one man. The Master
Mind effort is to get those of like mind, form an alliance, to work actively in a spirit of
perfect harmony towards accomplishing of a definite purpose.)

3. Use Applied Faith
(Goal that's worth achieving always accompany with great challenges, and temporary defeats
along the journey is almost certain. Faith is the "rocket fuel" of human endeavor. Applied Faith
is the ability to hold on to the Positive Mental Attitude in mind when the going is tough.)

4. Going The Extra Mile
(Make it a habit to contribute more than expected, with no expectation for immediate reward. It
insures an increase in personal courage, self-reliance, personal initiative and it builds greater
enthusiasm. Sooner or later, the law of compensation will bring its greater rewards.)

5. Assemble A Pleasing Personality
(No man is an island. Before one can sell any product or service to others, he has to sell himself
first. One should put in the effort in doing self-analysis and improve in this area.)


6. Create Personal Initiative
(When one has a definite goal in mind and has the burning desire to achieve it, then opportunities
for personal initiative are easy to find. )

7. Build A Positive Mental Attitude
(Positive Mental Attitude is the cornerstone for success. The mind is the only thing one can
control. In order to achieve the definite purpose of life, one must exercise that control and direct
it by using Positive Mental Attitude.)

8. Enforce Self-Discipline
(Self-Discipline is the first rule of all success leadership. It is the training which corrects, molds,
strengthens, and perfects. When one gets himself under complete control, he then can be his
own boss, and it makes discipline from the outside unnecessary. )

9. Control Your Enthusiasm
(Enthusiasm is an emotion, the physical counterpart to one's idea. It starts the wheels of the
imagination to turning. It is a feeling of confidence and harmony in working towards the definite
goal. A man lack of Enthusiasm is like an automobile without gas. )

10. Control Your Concentration or Attention
(Where concentration goes, energy flows. Controlled Attention is the act of focusing the mind
on a given desire until ways and means for its realization have been worked out and successfully
put into operation. Success comes after much concentration.)

11. Think Accurately
(The ability to differentiate facts from opinions, and the ability to focus on important facts enable
one to make effective decisions in achieving success.)

12. Learn from Adversity and Defeat
(Adversity is part of life, and every adversity carries within it the seed of an equivalent or greater
benefit. A man's attitude in time of adversity determines much of its eternal effect on his life -
for good or ill. All success is based on the experience learn from defeats. No one has failed until
he accepts the defeats as failure.)

13. Cooperation
(Cooperation is the beginning of all organized effort. True cooperation has no room for
selfishness or greed. All achievement is the form of significant and successful cooperation and
teamwork between individuals.)

14. Cultivate Creative Vision or Imagination
(Creative Vision or Imagination is a demonstration of the use of subconscious mind to tap into
the wisdom of the infinite intelligence in getting breakthrough solution for any challenge. And,
one way to communicate with the subconscious mind is to repetitively thinking for the solution
with the burning desire. Especially, the time just before going to sleep, and the time just wake
up from the bed [while the brain is still at Alpha state.])


15. Maintain Sound Health
(Various habits affect heal:-

. Mental Attitude affect health and it is something that one can control. Good thinking and
feeling good generates harmony within one body and generates physical manifestations
or order and system.
. Eating habit affect health. (No over eating, don't eat rapidly, no soft drinks, no candy bar
or snack between meals, take more water, more fruits and balance of food.)
. Exercise/Meditation/Fasting.... Etc.



16. Budget Your Time and Money
(In our "spaceship earth", there is certain amount of natural resources. Same as individual, one
has limited time and money; therefore there is a need to have a system to spend them well.)

17. Use Cosmic "Habitforce".
Cosmic "Habitforce" is so obvious and can be overlooked easily. The power is always there
regardless if you aware of it or not. They are the physical laws which make our patterns of
natural behavior operate in predictable order and regularity. Blending the natural laws of the
universe with our own activities helps create the power, that force, that energy which bring
harmony, peace of mind, success.


"Whatever the mind can conceive and believe, the mind can achieve." - Napoleon Hill.



Bless You

KH Tang

(Note:This is just a note taken from study the Napoleon Hill's books and Audio CDs)



http://blessedfool.blogspot.com/

Watch the Video of Napoleon Hill here:-

http://blessedfool.blogspot.com/2009/10/self-development-idea-thought-is-first.html

ရွည္လ်ားေသာ Blog ပုိ႔စ္ ကို Scroll bar ျဖင့္ ေဖာ္ျပျခင္း

<div id="wrapper" style="width: 750px; height: 600px; overflow-y: scroll; scrollbar-arrow-color:blue; scrollbar-face-color: #e7e7e7; scrollbar-3dlight-color: #a0a0a0; scrollbar-darkshadow-color:#888888; background-image: url(http://i47.tinypic.com/21k9yra.jpg); font-size:10pt; font-weight:bold">


------- ဒီမွာ ပုိ႔စ္ စာသားေတြ၊ ပံုေတြ ျဖစ္ပါတယ္။ ------------

</div>


ဥပမာ ၾကည့္ရန္

Javascript to Show Hide Div Visibility

<html>
<head>
<title>Javascript Show Hide Div Visibility</title>

<style type="text/css">
.divStyle {
width:200px;
height:100px;
margin:0px auto;
}
</style>

<script language="javascript" type="text/javascript">
function showHideDiv()
{
var divstyle = new String();
divstyle = document.getElementById("div1").style.visibility;
if(divstyle.toLowerCase()=="visible" || divstyle == "")
{
document.getElementById("div1").style.visibility = "hidden";
}
else
{
document.getElementById("div1").style.visibility = "visible";
}
}
</script>
</head>

<body>

<div id="div1" class="divStyle">
Show Hide Div visibility using Javascript DOM.
</div>

<center>
<input type="button" value="show hide div" onclick="showHideDiv()" />
</center>

</body>
</html>

Javascript to Change CSS Class of Div Tag

<html>
<head>
<title>Javascript Change CSS Class of Div tag</title>

<style type="text/css">

.redText,.blueText {
width: 200px;
font-family: Arial;
}

.redText {
color : red
}

.blueText {
color : blue
}

</style>

<script language="javascript" type="text/javascript">

function changeCssClass(objDivID)
{
if(document.getElementById(objDivID).className=='redText')
{
document.getElementById(objDivID).className = 'blueText';
}
else
{
document.getElementById(objDivID).className = 'redText';
}
}

</script>

</head>
<body>

<center>
<div id="div1" class="redText">
By default text indside this HTML div tag is red.
Javascript function will change the CSS class<br />
of this Div tag and <br />
text color will change to blue dynamically.
</div>
<br />
<input type="button" value="click here" onclick="changeCssClass('div1')" />
</center>

</body>
</html>

zavascript to Change Div Background Color Style

<html >

<head >
<title >Javascript Change Background Color Style</title >

<script language="javascript" type="text/javascript" >
function changeBackgroundColor(objDivID)
{
var backColor = new String();

backColor = document.getElementById(objDivID).style.backgroundColor;

// IE works with hex code of color e.g.: #eeeeee
// Firefox works with rgb color code e.g.: rgb(238, 238, 238)
// Thats why both types are used in If-condition below
if(backColor.toLowerCase()=='#eeeeee' || backColor.toLowerCase()=='rgb(238, 238, 238)')
{
document.getElementById(objDivID).style.backgroundColor = '#c0c0c0';
}
else
{
document.getElementById(objDivID).style.backgroundColor = '#eeeeee';
}
}
</script >

</head >
<body >

<center >
<div id="div1" style="background-color : #EEEEEE; width: 200px; height: 100px" >
Javascript will change the background color of this Div tag dynamically.
</div >

<input type="button" value="click here" onclick="changeBackgroundColor('div1')" / >
</center >

</body >
</html >

Javascript to Change Div Background Image

<html >
<head >
<title >Javascript Change Div Background Image </title >

<style type="text/css" >

#div1 {
width:100px;
height:30px;
background-image:url(images/blue.gif);
}

p {
font-family:Verdana;
font-weight:bold;
font-size:11px
}

</style >

<script language="javascript" type="text/javascript" >
function changeDivImage()
{
var imgPath = new String();
imgPath = document.getElementById("div1").style.backgroundImage;

if(imgPath == "url(images/blue.gif)" || imgPath == "")
{
document.getElementById("div1").style.backgroundImage = "url(images/green.gif)";
}
else
{
document.getElementById("div1").style.backgroundImage = "url(images/blue.gif)";
}
}
</script >

</head >

<body >

<center >
<p >
This Javascript Example will change the background image of <br / >
HTML Div Tag onclick event.
</p >
<div id="div1" >
</div >
<br / >
<input type="button" value="Change Background Image" onclick="changeDivImage()" / >
</center >

</body >
</html >

Javascript Code to change Div innerHTML

<html >
<head >
<title >Javascript Change Div InnerHTML </title >

<script language="javascript" type="text/javascript" >

function changeDivHTML()
{
var previousInnerHTML = new String();

previousInnerHTML = document.getElementById('div1').innerHTML;

previousInnerHTML = previousInnerHTML.concat(" <h1 >New HTML Text added to the div HTML tag. </h1 >");

previousInnerHTML = previousInnerHTML.concat(" <p align=\"center\" >Paragraph child HTML element added <br / > to the div tag dynamically. </p >");

previousInnerHTML = previousInnerHTML.concat(" <span style=\"color:#ff0000\" >Span child HTML element added to the div tag dynamically. </span >");

document.getElementById('div1').innerHTML = previousInnerHTML;
}

</script >

</head >

<body >

<div id="div1" >
<b >innerHTML </b > placed inside the <b >div </b > element of HTML. <br / >
Javascript will change the innerHTML of this HTML div element.
</div >
<center >
<input type="button" value="Change Div innerHTML" onclick="changeDivHTML()" / >
</center >
</body >
</html >

KP Ephemeris တြက္နည္း Program (VB6)




KP ephemeris Program
=====================
*****************************************************
တြက္ခ်က္မယ္
**************************************************
Private Sub showEph()
'-----------------------------------------------------------------

Dim isTruEph As Boolean
Dim geoTrue() As String
geoTrue() = hp_ReadDatFile(App.Path + "\Sett\geotrue.dat", "_")
isTruEph = CBool(geoTrue(1))

'-----------------------------------------------------------------
Dim dayS As Integer
Dim monthS As Integer
Dim yearS As Integer
dayS = CInt(cmbDayS.Text)
monthS = CInt(cmbMonthS.Text)
yearS = CInt(cmbYearS.Text)

' Dim gmtDiff As Double 'GMT differance as double value
' gmtDiff = CDbl(cmbTzHH.Text) + (CDbl(cmbTzMM.Text) / 60#)
' If cmbTzPM.Text = "-" Then gmtDiff = gmtDiff * (-1#)

Dim julDateGMT As Double 'Raw julian day according to the birth data (first day of month)
julDateGMT = swe_julday(yearS, monthS, dayS, 0#, 1)

' Dim julDateUT As Double 'Corrected julian date
' julDateUT = julDateGMT - (gmtDiff / 24#)

'-----------------------------------------------------------------
Dim dayE As Integer
Dim monthE As Integer
Dim yearE As Integer
dayE = CInt(cmbDayE.Text)
monthE = CInt(cmbMonthE.Text)
yearE = CInt(cmbYearE.Text)

Dim julDateGMTend As Double 'Raw julian day according to the birth data (first day of month)
julDateGMTend = swe_julday(yearE, monthE, dayE, 0#, 1)

' Dim julDateUTend As Double 'Corrected julian date
' julDateUTend = julDateGMTend - (gmtDiff / 24#)

'--------------------
RTEph.SelIndent = 100
RTEph.Text = vbNullString
'--------------------

' NEW KP AYANAMSA
Dim newKPAyanEph As Double
newKPAyanEph = kp_NKPA(julDateGMT)

'--------------------
RTEph.SelText = vbNewLine
RTEph.SelText = "KP New Astro - Nirayana Planetary Positions" + vbNewLine
RTEph.SelText = vbNewLine
RTEph.SelText = "From : " + cmbDayS.Text + " / " + cmbMonthS.Text + " / " + cmbYearS.Text + " To : " + cmbDayE.Text + " / " + cmbMonthE.Text + " / " + cmbYearE.Text + " At 00:00 H GMT or 5:30 H Indian Standard Time" + vbNewLine
RTEph.SelText = vbNewLine
RTEph.SelText = "New KP Ayanamsha : " + hp_FormalDegSh(newKPAyanEph) + " ( " + cmbDayS.Text + " / " + cmbMonthS.Text + " / " + cmbYearS.Text + " )" + vbNewLine
RTEph.SelText = vbNewLine
RTEph.SelText = "Date" + Space(16) + pNameEph(0) + Space(15) + pNameEph(1) + Space(14) + pNameEph(2) + Space(15) + pNameEph(3) + Space(14) + pNameEph(4) + Space(15) + pNameEph(5) + Space(15) + pNameEph(6) + Space(15) + pNameEph(7) + Space(15) + pNameEph(9) + Space(15) + pNameEph(10) + vbNewLine
RTEph.SelText = String(171, "-") + vbNewLine
'--------------------

Dim curDate As String
'Dim sidTime As Double
'Planetary Position
Dim pPos_(11) As Double
Dim isRe_(11) As Double
Dim pReVal As Long
Dim pDetails(5) As Double
Dim errReturn As String

If (julDateGMTend - julDateGMT > 731) Then
MsgBox "Maximum difference must be less than 730 days.", vbCritical, "Too Long"
Exit Sub
End If


While (julDateGMT <= julDateGMTend + 0.01)

newKPAyanEph = kp_NKPA(julDateGMT)

'Sun (Ravi) 0
pReVal = swe_calc_ut(julDateGMT, 0, 256, pDetails(0), errReturn)
pPos_(0) = hp_Rnd0To360v(pDetails(0) - newKPAyanEph) 'NKPA** Correction
isRe_(0) = pDetails(3)

'Moon (Chandra) 1
pReVal = swe_calc_ut(julDateGMT, 1, 256, pDetails(0), errReturn)
pPos_(1) = hp_Rnd0To360v(pDetails(0) - newKPAyanEph) 'NKPA** Correction
isRe_(1) = pDetails(3)

'Mars (Kuja) 2
pReVal = swe_calc_ut(julDateGMT, 4, 256, pDetails(0), errReturn)
pPos_(2) = hp_Rnd0To360v(pDetails(0) - newKPAyanEph) 'NKPA** Correction
isRe_(2) = pDetails(3)

'Mercury (Budha) 3
pReVal = swe_calc_ut(julDateGMT, 2, 256, pDetails(0), errReturn)
pPos_(3) = hp_Rnd0To360v(pDetails(0) - newKPAyanEph) 'NKPA** Correction
isRe_(3) = pDetails(3)

'Jupiter (Guru) 4
pReVal = swe_calc_ut(julDateGMT, 5, 256, pDetails(0), errReturn)
pPos_(4) = hp_Rnd0To360v(pDetails(0) - newKPAyanEph) 'NKPA** Correction
isRe_(4) = pDetails(3)

'Venus (Sukra) 5
pReVal = swe_calc_ut(julDateGMT, 3, 256, pDetails(0), errReturn)
pPos_(5) = hp_Rnd0To360v(pDetails(0) - newKPAyanEph) 'NKPA** Correction
isRe_(5) = pDetails(3)

'Saturn (Sani) 6
pReVal = swe_calc_ut(julDateGMT, 6, 256, pDetails(0), errReturn)
pPos_(6) = hp_Rnd0To360v(pDetails(0) - newKPAyanEph) 'NKPA** Correction
isRe_(6) = pDetails(3)

'Asc.Node (Rahu) 7
If isTruEph = False Then 'Mean Node
pReVal = swe_calc_ut(julDateGMT, 10, 256, pDetails(0), errReturn)
pPos_(7) = hp_Rnd0To360v(pDetails(0) - newKPAyanEph) 'NKPA** Correction
isRe_(7) = pDetails(3) * (-1)
Else 'True Node
pReVal = swe_calc_ut(julDateGMT, 11, 256, pDetails(0), errReturn)
pPos_(7) = hp_Rnd0To360v(pDetails(0) - newKPAyanEph) 'NKPA** Correction
isRe_(7) = pDetails(3) * (-1)
End If
'Dec.Node (Kethu) 8
pPos_(8) = pPos_(7) + 180# 'Not Needed NKPA** Correction
If pPos_(8) >= 360# Then pPos_(8) = pPos_(8) - 360#
isRe_(8) = 10#

'Uranus 9
pReVal = swe_calc_ut(julDateGMT, 7, 256, pDetails(0), errReturn)
pPos_(9) = hp_Rnd0To360v(pDetails(0) - newKPAyanEph) 'NKPA** Correction
isRe_(9) = pDetails(3)

'Neptune 10
pReVal = swe_calc_ut(julDateGMT, 8, 256, pDetails(0), errReturn)
pPos_(10) = hp_Rnd0To360v(pDetails(0) - newKPAyanEph) 'NKPA** Correction
isRe_(10) = pDetails(3)


Dim y1 As Long, m1 As Long, d1 As Long, h1 As Double
Call swe_revjul(julDateGMT, 1, y1, m1, d1, h1)
curDate = Format(Int(d1), "00") + "-" + Format(m1, "00") + "-" + Format(y1, "0000")

'sidTime = swe_sidtime(julDateGMT)
'" " + hp_FormalTimeSh(sidTime) + "

RTEph.SelText = curDate + " " + hp_FormalDegSh(pPos_(0)) + pt_Refun(isRe_(0)) + hp_FormalDegSh(pPos_(1)) + pt_Refun(isRe_(1)) + hp_FormalDegSh(pPos_(2)) + pt_Refun(isRe_(2)) + hp_FormalDegSh(pPos_(3)) + pt_Refun(isRe_(3)) + hp_FormalDegSh(pPos_(4)) + pt_Refun(isRe_(4)) + hp_FormalDegSh(pPos_(5)) + pt_Refun(isRe_(5)) + hp_FormalDegSh(pPos_(6)) + pt_Refun(isRe_(6)) + hp_FormalDegSh(pPos_(7)) + pt_Refun(isRe_(7)) + hp_FormalDegSh(pPos_(9)) + pt_Refun(isRe_(9)) + hp_FormalDegSh(pPos_(10)) + pt_Refun(isRe_(10)) + vbNewLine

julDateGMT = julDateGMT + 1#

Wend

End Sub
***********************************************************************************
ေမာ္ဂ်ဴး (swedll32.dll) ကို ေခၚတင္ဖို႔။ (swedll32.dll) ဖိုင္က ဖုိလ္ဒါတစ္ခုထဲမွာ ရွိရပါမယ္။
***************************************************************************
'================================================================
' Description..: Krishnamurti (KP) Astrology Software
' Software.....: KP New Astro
' Date.........: 05/12/2010
' Version......: 1.0.xx beta
' Language.....: Visual Basic 6.0 Ent - SP 6
' Tested.......: Windows XP Professional - SP 3
' Copyright....: (C) 2009-2010 JSW
' E-Mail.......: kpnewastro@gmail.com
' Web..........: http://www.kpnewastro.blogspot.com
'================================================================
' Released under GNU general public license (version 2 or later)
'================================================================

'================================================================
' Visit http://www.astro.com for Swiss Ephemeris
'================================================================

Option Explicit

'For XP Style
Private Type tagInitCommonControlsEx
lngSize As Long
lngICC As Long
End Type
Private Declare Function InitCommonControlsEx Lib "COMCTL32.DLL" (iccex As tagInitCommonControlsEx) As Boolean
Private Const ICC_USEREX_CLASSES = &H200

'For URL Links
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

'SWE
Public Declare Function swe_azalt Lib "swedll32.dll" _
Alias "_swe_azalt@40" ( _
ByVal tjd_ut As Double, _
ByVal calc_flag As Long, _
ByRef geopos As Double, _
ByVal atpress As Double, _
ByVal attemp As Double, _
ByRef xin As Double, _
ByRef xaz As Double _
) As Long 'geopos must be the first of three array elements
'xin must be the first of two array elements
'xaz must be the first of three array elements

Public Declare Function swe_azalt_rev Lib "swedll32.dll" _
Alias "_swe_azalt_rev@24" ( _
ByVal tjd_ut As Double, _
ByVal calc_flag As Long, _
ByRef geopos As Double, _
ByRef xin As Double, _
ByRef xout As Double _
) As Long 'geopos must be the first of three array elements
'xin must be the first of two array elements
'xout must be the first of three array elements

Public Declare Function swe_calc Lib "swedll32.dll" _
Alias "_swe_calc@24" ( _
ByVal tjd As Double, _
ByVal ipl As Long, _
ByVal iflag As Long, _
ByRef x As Double, _
ByVal serr As String _
) As Long ' x must be first of six array elements
' serr must be able to hold 256 bytes

Public Declare Function swe_calc_d Lib "swedll32.dll" _
Alias "_swe_calc_d@20" ( _
ByRef tjd As Double, _
ByVal ipl As Long, _
ByVal iflag As Long, _
ByRef x As Double, _
ByVal serr As String _
) As Long ' x must be first of six array elements
' serr must be able to hold 256 bytes

Public Declare Function swe_calc_ut Lib "swedll32.dll" _
Alias "_swe_calc_ut@24" ( _
ByVal tjd_ut As Double, _
ByVal ipl As Long, _
ByVal iflag As Long, _
ByRef x As Double, _
ByVal serr As String _
) As Long ' x must be first of six array elements
' serr must be able to hold 256 bytes

Public Declare Function swe_calc_ut_d Lib "swedll32.dll" _
Alias "_swe_calc_ut_d@20" ( _
ByRef tjd_ut As Double, _
ByVal ipl As Long, _
ByVal iflag As Long, _
ByRef x As Double, _
ByVal serr As String _
) As Long ' x must be first of six array elements
' serr must be able to hold 256 bytes

Public Declare Function swe_close Lib "swedll32.dll" _
Alias "_swe_close@0" ( _
) As Long

Public Declare Function swe_close_d Lib "swedll32.dll" _
Alias "_swe_close_d@4" ( _
ByVal ivoid As Long _
) As Long ' argument ivoid is ignored

Public Declare Sub swe_cotrans Lib "swedll32.dll" _
Alias "_swe_cotrans@16" ( _
ByRef xpo As Double, _
ByRef xpn As Double, _
ByVal eps As Double _
)

Public Declare Function swe_cotrans_d Lib "swedll32.dll" _
Alias "_swe_cotrans_d@12" ( _
ByRef xpo As Double, _
ByRef xpn As Double, _
ByRef eps As Double _
) As Long

Public Declare Sub swe_cotrans_sp Lib "swedll32.dll" _
Alias "_swe_cotrans_sp@16" ( _
ByRef xpo As Double, _
ByRef xpn As Double, _
ByVal eps As Double _
)

Public Declare Function swe_cotrans_sp_d Lib "swedll32.dll" _
Alias "_swe_cotrans_sp_d@12" ( _
ByRef xpo As Double, _
ByRef xpn As Double, _
ByRef eps As Double _
) As Long

Public Declare Sub swe_cs2degstr Lib "swedll32.dll" _
Alias "_swe_cs2degstr@8" ( _
ByVal T As Long, _
ByVal s As String _
)

Public Declare Function swe_cs2degstr_d Lib "swedll32.dll" _
Alias "_swe_cs2degstr_d@8" ( _
ByVal T As Long, _
ByVal s As String _
) As Long

Public Declare Sub swe_cs2lonlatstr Lib "swedll32.dll" _
Alias "_swe_cs2lonlatstr@16" ( _
ByVal T As Long, _
ByVal pchar As Byte, _
ByVal mchar As Byte, _
ByVal s As String _
)

Public Declare Function swe_cs2lonlatstr_d Lib "swedll32.dll" _
Alias "_swe_cs2lonlatstr_d@16" ( _
ByVal T As Long, _
ByRef pchar As Byte, _
ByRef mchar As Byte, _
ByVal s As String _
) As Long

Public Declare Sub swe_cs2timestr Lib "swedll32.dll" _
Alias "_swe_cs2timestr@16" ( _
ByVal T As Long, _
ByVal sep As Long, _
ByVal supzero As Long, _
ByVal s As String _
)

Public Declare Function swe_cs2timestr_d Lib "swedll32.dll" _
Alias "_swe_cs2timestr_d@16" ( _
ByVal T As Long, _
ByVal sep As Long, _
ByVal supzero As Long, _
ByVal s As String _
) As Long

Public Declare Function swe_csnorm Lib "swedll32.dll" _
Alias "_swe_csnorm@4" ( _
ByVal P As Long _
) As Long

Public Declare Function swe_csnorm_d Lib "swedll32.dll" _
Alias "_swe_csnorm_d@4" ( _
ByVal P As Long _
) As Long

Public Declare Function swe_csroundsec Lib "swedll32.dll" _
Alias "_swe_csroundsec@4" ( _
ByVal P As Long _
) As Long

Public Declare Function swe_csroundsec_d Lib "swedll32.dll" _
Alias "_swe_csroundsec_d@4" ( _
ByVal P As Long _
) As Long

Public Declare Function swe_d2l Lib "swedll32.dll" _
Alias "_swe_d2l@8" ( _
) As Long

Public Declare Function swe_d2l_d Lib "swedll32.dll" _
Alias "_swe_d2l_d@4" ( _
) As Long

Public Declare Function swe_date_conversion Lib "swedll32.dll" _
Alias "_swe_date_conversion@28" ( _
ByVal Year_ As Long, _
ByVal Month_ As Long, _
ByVal Day_ As Long, _
ByVal utime As Double, _
ByVal cal As Byte, _
ByRef tjd As Double _
) As Long

Public Declare Function swe_date_conversion_d Lib "swedll32.dll" _
Alias "_swe_date_conversion_d@24" ( _
ByVal Year_ As Long, _
ByVal Month_ As Long, _
ByVal Day_ As Long, _
ByRef utime As Double, _
ByRef cal As Byte, _
ByRef tjd As Double _
) As Long

Public Declare Function swe_day_of_week Lib "swedll32.dll" _
Alias "_swe_day_of_week@8" ( _
ByVal jd As Double _
) As Long

Public Declare Function swe_day_of_week_d Lib "swedll32.dll" _
Alias "_swe_day_of_week_d@4" ( _
ByRef jd As Double _
) As Long

Public Declare Function swe_degnorm Lib "swedll32.dll" _
Alias "_swe_degnorm@8" ( _
ByVal jd As Double _
) As Double

Public Declare Function swe_degnorm_d Lib "swedll32.dll" _
Alias "_swe_degnorm_d@4" ( _
ByRef jd As Double _
) As Long

Public Declare Function swe_deltat Lib "swedll32.dll" _
Alias "_swe_deltat@8" ( _
ByVal jd As Double _
) As Double

Public Declare Function swe_deltat_d Lib "swedll32.dll" _
Alias "_swe_deltat_d@8" ( _
ByRef jd As Double, _
ByRef deltat As Double _
) As Long

Public Declare Function swe_difcs2n Lib "swedll32.dll" _
Alias "_swe_difcs2n@8" ( _
ByVal p1 As Long, _
ByVal p2 As Long _
) As Long

Public Declare Function swe_difcs2n_d Lib "swedll32.dll" _
Alias "_swe_difcs2n_d@8" ( _
ByVal p1 As Long, _
ByVal p2 As Long _
) As Long

Public Declare Function swe_difcsn Lib "swedll32.dll" _
Alias "_swe_difcsn@8" ( _
ByVal p1 As Long, _
ByVal p2 As Long _
) As Long

Public Declare Function swe_difcsn_d Lib "swedll32.dll" _
Alias "_swe_difcsn_d@8" ( _
ByVal p1 As Long, _
ByVal p2 As Long _
) As Long

Public Declare Function swe_difdeg2n Lib "swedll32.dll" _
Alias "_swe_difdeg2n@16" ( _
ByVal p1 As Double, _
ByVal p2 As Double _
) As Double

Public Declare Function swe_difdeg2n_d Lib "swedll32.dll" _
Alias "_swe_difdeg2n_d@12" ( _
ByRef p1 As Double, _
ByRef p2 As Double, _
ByRef diff As Double _
) As Long

Public Declare Function swe_difdegn Lib "swedll32.dll" _
Alias "_swe_difdegn@16" ( _
ByVal p1 As Double, _
ByVal p2 As Double _
) As Long

Public Declare Function swe_difdegn_d Lib "swedll32.dll" _
Alias "_swe_difdegn_d@12" ( _
ByRef p1 As Double, _
ByRef p2 As Double, _
ByRef diff As Double _
) As Long

Public Declare Function swe_fixstar Lib "swedll32.dll" _
Alias "_swe_fixstar@24" ( _
ByVal star As String, _
ByVal tjd As Double, _
ByVal iflag As Long, _
ByRef x As Double, _
ByVal serr As String _
) As Long ' x must be first of six array elements
' serr must be able to hold 256 bytes
' star must be able to hold 40 bytes

Public Declare Function swe_fixstar_d Lib "swedll32.dll" _
Alias "_swe_fixstar_d@20" ( _
ByVal star As String, _
ByRef tjd As Double, _
ByVal iflag As Long, _
ByRef x As Double, _
ByVal serr As String _
) As Long ' x must be first of six array elements
' serr must be able to hold 256 bytes
' star must be able to hold 40 bytes

Public Declare Function swe_fixstar_ut Lib "swedll32.dll" _
Alias "_swe_fixstar_ut@24" ( _
ByVal star As String, _
ByVal tjd_ut As Double, _
ByVal iflag As Long, _
ByRef x As Double, _
ByVal serr As String _
) As Long ' x must be first of six array elements
' serr must be able to hold 256 bytes
' star must be able to hold 40 bytes

Public Declare Function swe_fixstar_ut_d Lib "swedll32.dll" _
Alias "_swe_fixstar_ut_d@20" ( _
ByVal star As String, _
ByRef tjd_ut As Double, _
ByVal iflag As Long, _
ByRef x As Double, _
ByVal serr As String _
) As Long ' x must be first of six array elements
' serr must be able to hold 256 bytes
' star must be able to hold 40 bytes

Public Declare Function swe_get_ayanamsa Lib "swedll32.dll" _
Alias "_swe_get_ayanamsa@8" ( _
ByVal tjd_et As Double _
) As Double

Public Declare Function swe_get_ayanamsa_d Lib "swedll32.dll" _
Alias "_swe_get_ayanamsa_d@8" ( _
ByRef tjd_et As Double, _
ByRef ayan As Double _
) As Long

Public Declare Function swe_get_ayanamsa_ut Lib "swedll32.dll" _
Alias "_swe_get_ayanamsa_ut@8" ( _
ByVal tjd_ut As Double _
) As Double

Public Declare Function swe_get_ayanamsa_ut_d Lib "swedll32.dll" _
Alias "_swe_get_ayanamsa_ut_d@8" ( _
ByRef tjd_ut As Double, _
ByRef ayan As Double _
) As Long

Public Declare Sub swe_get_planet_name Lib "swedll32.dll" _
Alias "_swe_get_planet_name@8" ( _
ByVal ipl As Long, _
ByVal pname As String _
)

Public Declare Function swe_get_planet_name_d Lib "swedll32.dll" _
Alias "_swe_get_planet_name_d@8" ( _
ByVal ipl As Long, _
ByVal pname As String _
) As Long

Public Declare Function swe_get_tid_acc Lib "swedll32.dll" _
Alias "_swe_get_tid_acc@0" ( _
) As Double

Public Declare Function swe_get_tid_acc_d Lib "swedll32.dll" _
Alias "_swe_get_tid_acc_d@4" ( _
ByRef x As Double _
) As Long

Public Declare Function swe_houses Lib "swedll32.dll" _
Alias "_swe_houses@36" ( _
ByVal tjd_ut As Double, _
ByVal geolat As Double, _
ByVal geolon As Double, _
ByVal ihsy As Long, _
ByRef hcusps As Double, _
ByRef ascmc As Double _
) As Long ' hcusps must be first of 13 array elements
' ascmc must be first of 10 array elements

Public Declare Function swe_houses_d Lib "swedll32.dll" _
Alias "_swe_houses_d@24" ( _
ByRef tjd_ut As Double, _
ByRef geolat As Double, _
ByRef geolon As Double, _
ByVal ihsy As Long, _
ByRef hcusps As Double, _
ByRef ascmc As Double _
) As Long ' hcusps must be first of 13 array elements
' ascmc must be first of 10 array elements

Public Declare Function swe_houses_ex Lib "swedll32.dll" _
Alias "_swe_houses_ex@40" ( _
ByVal tjd_ut As Double, _
ByVal iflag As Long, _
ByVal geolat As Double, _
ByVal geolon As Double, _
ByVal ihsy As Long, _
ByRef hcusps As Double, _
ByRef ascmc As Double _
) As Long ' hcusps must be first of 13 array elements
' ascmc must be first of 10 array elements

Public Declare Function swe_houses_ex_d Lib "swedll32.dll" _
Alias "_swe_houses_ex_d@28" ( _
ByRef tjd_ut As Double, _
ByVal iflag As Long, _
ByRef geolat As Double, _
ByRef geolon As Double, _
ByVal ihsy As Long, _
ByRef hcusps As Double, _
ByRef ascmc As Double _
) As Long ' hcusps must be first of 13 array elements
' ascmc must be first of 10 array elements

Public Declare Function swe_houses_armc Lib "swedll32.dll" _
Alias "_swe_houses_armc@36" ( _
ByVal armc As Double, _
ByVal geolat As Double, _
ByVal eps As Double, _
ByVal ihsy As Long, _
ByRef hcusps As Double, _
ByRef ascmc As Double _
) As Long ' hcusps must be first of 13 array elements
' ascmc must be first of 10 array elements

Public Declare Function swe_houses_armc_d Lib "swedll32.dll" _
Alias "_swe_houses_armc_d@24" ( _
ByRef armc As Double, _
ByRef geolat As Double, _
ByRef eps As Double, _
ByVal ihsy As Long, _
ByRef hcusps As Double, _
ByRef ascmc As Double _
) As Long ' hcusps must be first of 13 array elements
' ascmc must be first of 10 array elements

Public Declare Function swe_house_pos Lib "swedll32.dll" _
Alias "_swe_house_pos@36" ( _
ByVal armc As Double, _
ByVal geolat As Double, _
ByVal eps As Double, _
ByVal ihsy As Long, _
ByRef xpin As Double, _
ByVal serr As String _
) As Double
' xpin must be first of 2 array elements

Public Declare Function swe_house_pos_d Lib "swedll32.dll" _
Alias "_swe_house_pos_d@28" ( _
ByRef armc As Double, _
ByRef geolat As Double, _
ByRef eps As Double, _
ByVal ihsy As Long, _
ByRef xpin As Double, _
ByRef hpos As Double, _
ByVal serr As String _
) As Long
' xpin must be first of 2 array elements

Public Declare Function swe_julday Lib "swedll32.dll" _
Alias "_swe_julday@24" ( _
ByVal Year_ As Long, _
ByVal Month_ As Long, _
ByVal Day_ As Long, _
ByVal Hour_ As Double, _
ByVal gregflg As Long _
) As Double

Public Declare Function swe_julday_d Lib "swedll32.dll" _
Alias "_swe_julday_d@24" ( _
ByVal Year_ As Long, _
ByVal Month_ As Long, _
ByVal Day_ As Long, _
ByRef Hour_ As Double, _
ByVal gregflg As Long, _
ByRef tjd As Double _
) As Long

Public Declare Function swe_lun_eclipse_how Lib "swedll32.dll" _
Alias "_swe_lun_eclipse_how@24" ( _
ByVal tjd_ut As Double, _
ByVal ifl As Long, _
ByRef geopos As Double, _
ByRef attr As Double, _
ByVal serr As String _
) As Long

Public Declare Function swe_lun_eclipse_how_d Lib "swedll32.dll" _
Alias "_swe_lun_eclipse_how_d@20" ( _
ByRef tjd_ut As Double, _
ByVal ifl As Long, _
ByRef geopos As Double, _
ByRef attr As Double, _
ByVal serr As String _
) As Long

Public Declare Function swe_lun_eclipse_when Lib "swedll32.dll" _
Alias "_swe_lun_eclipse_when@28" ( _
ByVal tjd_start As Double, _
ByVal ifl As Long, _
ByVal ifltype As Long, _
ByRef tret As Double, _
ByVal backward As Long, _
ByVal serr As String _
) As Long

Public Declare Function swe_lun_eclipse_when_d Lib "swedll32.dll" _
Alias "_swe_lun_eclipse_when_d@24" ( _
ByRef tjd_start As Double, _
ByVal ifl As Long, _
ByVal ifltype As Long, _
ByRef tret As Double, _
ByVal backward As Long, _
ByVal serr As String _
) As Long

Public Declare Function swe_nod_aps Lib "swedll32.dll" _
Alias "_swe_nod_aps@40" ( _
ByVal tjd_et As Double, _
ByVal ipl As Long, _
ByVal iflag As Long, _
ByVal method As Long, _
ByRef xnasc As Double, _
ByRef xndsc As Double, _
ByRef xperi As Double, _
ByRef xaphe As Double, _
ByVal serr As String _
) As Long

Public Declare Function swe_nod_aps_ut Lib "swedll32.dll" _
Alias "_swe_nod_aps_ut@40" ( _
ByVal tjd_ut As Double, _
ByVal ipl As Long, _
ByVal iflag As Long, _
ByVal method As Long, _
ByRef xnasc As Double, _
ByRef xndsc As Double, _
ByRef xperi As Double, _
ByRef xaphe As Double, _
ByVal serr As String _
) As Long

Public Declare Function swe_pheno Lib "swedll32.dll" _
Alias "_swe_pheno@24" ( _
ByVal tjd As Double, _
ByVal ipl As Long, _
ByVal iflag As Long, _
ByRef attr As Double, _
ByVal serr As String _
) As Long

Public Declare Function swe_pheno_ut Lib "swedll32.dll" _
Alias "_swe_pheno_ut@24" ( _
ByVal tjd As Double, _
ByVal ipl As Long, _
ByVal iflag As Long, _
ByRef attr As Double, _
ByVal serr As String _
) As Long

Public Declare Function swe_pheno_d Lib "swedll32.dll" _
Alias "_swe_pheno_d@20" ( _
ByRef tjd As Double, _
ByVal ipl As Long, _
ByVal iflag As Long, _
ByRef attr As Double, _
ByVal serr As String _
) As Long

Public Declare Function swe_pheno_ut_d Lib "swedll32.dll" _
Alias "_swe_pheno_ut_d@20" ( _
ByRef tjd As Double, _
ByVal ipl As Long, _
ByVal iflag As Long, _
ByRef attr As Double, _
ByVal serr As String _
) As Long

Public Declare Function swe_refrac Lib "swedll32.dll" _
Alias "_swe_refrac@28" ( _
ByVal inalt As Double, _
ByVal atpress As Double, _
ByVal attemp As Double, _
ByVal calc_flag As Long _
) As Double

Public Declare Sub swe_revjul Lib "swedll32.dll" _
Alias "_swe_revjul@28" ( _
ByVal tjd As Double, _
ByVal gregflg As Long, _
ByRef Year_ As Long, _
ByRef Month_ As Long, _
ByRef Day_ As Long, _
ByRef Hour_ As Double _
)

Public Declare Function swe_revjul_d Lib "swedll32.dll" _
Alias "_swe_revjul_d@24" ( _
ByRef tjd As Double, _
ByVal gregflg As Long, _
ByRef Year_ As Long, _
ByRef Month_ As Long, _
ByRef Day_ As Long, _
ByRef Hour_ As Double _
) As Long

Public Declare Function swe_rise_trans Lib "swedll32.dll" _
Alias "_swe_rise_trans@52" ( _
ByVal tjd_ut As Double, _
ByVal ipl As Long, _
ByVal starName As String, _
ByVal epheflag As Long, _
ByVal rsmi As Long, _
ByRef geopos As Double, _
ByVal atpress As Double, _
ByVal attemp As Double, _
ByRef tret As Double, _
ByVal serr As String _
) As Long

Public Declare Sub swe_set_ephe_path Lib "swedll32.dll" _
Alias "_swe_set_ephe_path@4" ( _
ByVal Path As String _
)

Public Declare Function swe_set_ephe_path_d Lib "swedll32.dll" _
Alias "_swe_set_ephe_path_d@4" ( _
ByVal Path As String _
) As Long

Public Declare Sub swe_set_jpl_file Lib "swedll32.dll" _
Alias "_swe_set_jpl_file@4" ( _
ByVal file As String _
)

Public Declare Function swe_set_jpl_file_d Lib "swedll32.dll" _
Alias "_swe_set_jpl_file_d@4" ( _
ByVal file As String _
) As Long

Public Declare Function swe_set_sid_mode Lib "swedll32.dll" _
Alias "_swe_set_sid_mode@20" ( _
ByVal sid_mode As Long, _
ByVal t0 As Double, _
ByVal ayan_t0 As Double _
) As Long

Public Declare Function swe_set_sid_mode_d Lib "swedll32.dll" _
Alias "_swe_sid_mode_d@12" ( _
ByVal sid_mode As Long, _
ByRef t0 As Double, _
ByRef ayan_t0 As Double _
) As Long

Public Declare Sub swe_set_topo Lib "swedll32.dll" _
Alias "_swe_set_topo@24" ( _
ByVal geolon As Double, _
ByVal geolat As Double, _
ByVal altitude As Double _
)

Public Declare Function swe_set_topo_d Lib "swedll32.dll" _
Alias "_swe_set_topo_d@12" ( _
ByRef geolon As Double, _
ByRef geolat As Double, _
ByRef altitude As Double _
) As Long

Public Declare Sub swe_set_tid_acc Lib "swedll32.dll" _
Alias "_swe_set_tid_acc@8" ( _
ByVal x As Double _
)

Public Declare Function swe_set_tid_acc_d Lib "swedll32.dll" _
Alias "_swe_set_tid_acc_d@4" ( _
ByRef x As Double _
) As Long

Public Declare Function swe_sidtime0 Lib "swedll32.dll" _
Alias "_swe_sidtime0@24" ( _
ByVal tjd_ut As Double, _
ByVal ecl As Double, _
ByVal nut As Double _
) As Double

Public Declare Function swe_sidtime0_d Lib "swedll32.dll" _
Alias "_swe_sidtime0_d@16" ( _
ByRef tjd_ut As Double, _
ByRef ecl As Double, _
ByRef nut As Double, _
ByRef sidt As Double _
) As Long

Public Declare Function swe_sidtime Lib "swedll32.dll" _
Alias "_swe_sidtime@8" ( _
ByVal tjd_ut As Double _
) As Double

Public Declare Function swe_sidtime_d Lib "swedll32.dll" _
Alias "_swe_sidtime_d@8" ( _
ByRef tjd_ut As Double, _
ByRef sidt As Double _
) As Long

Public Declare Function swe_sol_eclipse_how Lib "swedll32.dll" _
Alias "_swe_sol_eclipse_how@24" ( _
ByVal tjd_ut As Double, _
ByVal ifl As Long, _
ByRef geopos As Double, _
ByRef attr As Double, _
ByVal serr As String _
) As Long

Public Declare Function swe_sol_eclipse_how_d Lib "swedll32.dll" _
Alias "_swe_sol_eclipse_how_d@20" ( _
ByRef tjd_ut As Double, _
ByVal ifl As Long, _
ByRef geopos As Double, _
ByRef attr As Double, _
ByVal serr As String _
) As Long

Public Declare Function swe_sol_eclipse_when_glob Lib "swedll32.dll" _
Alias "_swe_sol_eclipse_when_glob@28" ( _
ByVal tjd_start As Double, _
ByVal ifl As Long, _
ByVal ifltype As Long, _
ByRef tret As Double, _
ByVal backward As Long, _
ByVal serr As String _
) As Long

Public Declare Function swe_sol_eclipse_when_glob_d Lib "swedll32.dll" _
Alias "_swe_sol_eclipse_when_glob_d@24" ( _
ByRef tjd_start As Double, _
ByVal ifl As Long, _
ByVal ifltype As Long, _
ByRef tret As Double, _
ByVal backward As Long, _
ByVal serr As String _
) As Long

Public Declare Function swe_sol_eclipse_when_loc Lib "swedll32.dll" _
Alias "_swe_sol_eclipse_when_loc@32" ( _
ByVal tjd_start As Double, _
ByVal ifl As Long, _
ByRef tret As Double, _
ByRef attr As Double, _
ByVal backward As Long, _
ByVal serr As String _
) As Long

Public Declare Function swe_sol_eclipse_when_loc_d Lib "swedll32.dll" _
Alias "_swe_sol_eclipse_when_loc_d@28" ( _
ByRef tjd_start As Double, _
ByVal ifl As Long, _
ByRef tret As Double, _
ByRef attr As Double, _
ByVal backward As Long, _
ByVal serr As String _
) As Long

Public Declare Function swe_sol_eclipse_where Lib "swedll32.dll" _
Alias "_swe_sol_eclipse_where@24" ( _
ByVal tjd_ut As Double, _
ByVal ifl As Long, _
ByRef geopos As Double, _
ByRef attr As Double, _
ByVal serr As String _
) As Long

Public Declare Function swe_sol_eclipse_where_d Lib "swedll32.dll" _
Alias "_swe_sol_eclipse_where_d@20" ( _
ByRef tjd_ut As Double, _
ByVal ifl As Long, _
ByRef geopos As Double, _
ByRef attr As Double, _
ByVal serr As String _
) As Long

Public Declare Function swe_time_equ Lib "swedll32.dll" _
Alias "_swe_time_equ@16" ( _
ByVal tjd_ut As Double, _
ByRef e As Double, _
ByVal serr As String _
) As Long

' values for gregflag in swe_julday() and swe_revjul()
Const SE_JUL_CAL As Integer = 0
Const SE_GREG_CAL As Integer = 1

' planet and body numbers (parameter ipl) for swe_calc()
Const SE_SUN As Integer = 0
Const SE_MOON As Integer = 1
Const SE_MERCURY As Integer = 2
Const SE_VENUS As Integer = 3
Const SE_MARS As Integer = 4
Const SE_JUPITER As Integer = 5
Const SE_SATURN As Integer = 6
Const SE_URANUS As Integer = 7
Const SE_NEPTUNE As Integer = 8
Const SE_PLUTO As Integer = 9
Const SE_MEAN_NODE As Integer = 10
Const SE_TRUE_NODE As Integer = 11
Const SE_MEAN_APOG As Integer = 12
Const SE_OSCU_APOG As Integer = 13
Const SE_EARTH As Integer = 14
Const SE_CHIRON As Integer = 15
Const SE_PHOLUS As Integer = 16
Const SE_CERES As Integer = 17
Const SE_PALLAS As Integer = 18
Const SE_JUNO As Integer = 19
Const SE_VESTA As Integer = 20

Const SE_NPLANETS As Integer = 21
Const SE_AST_OFFSET As Integer = 10000

' Hamburger or Uranian ficticious "planets"
Const SE_FICT_OFFSET As Integer = 40
Const SE_FICT_MAX As Integer = 999 'maximum number for ficticious planets
'if taken from file seorbel.txt
Const SE_NFICT_ELEM As Integer = 15 'number of built-in ficticious planets
Const SE_CUPIDO As Integer = 40
Const SE_HADES As Integer = 41
Const SE_ZEUS As Integer = 42
Const SE_KRONOS As Integer = 43
Const SE_APOLLON As Integer = 44
Const SE_ADMETOS As Integer = 45
Const SE_VULKANUS As Integer = 46
Const SE_POSEIDON As Integer = 47
' other ficticious bodies
Const SE_ISIS As Integer = 48
Const SE_NIBIRU As Integer = 49
Const SE_HARRINGTON As Integer = 50
Const SE_NEPTUNE_LEVERRIER As Integer = 51
Const SE_NEPTUNE_ADAMS As Integer = 52
Const SE_PLUTO_LOWELL As Integer = 53
Const SE_PLUTO_PICKERING As Integer = 54

' points returned by swe_houses() and swe_houses_armc()
' in array ascmc(0...10)
Const SE_ASC As Integer = 0
Const SE_MC As Integer = 1
Const SE_ARMC As Integer = 2
Const SE_VERTEX As Integer = 3
Const SE_EQUASC As Integer = 4 ' "equatorial ascendant"
Const SE_NASCMC As Integer = 5 ' number of such points

' iflag values for swe_calc()/swe_calc_ut() and swe_fixstar()/swe_fixstar_ut()
Const SEFLG_JPLEPH As Long = 1
Const SEFLG_MOSEPH As Long = 4
Const SEFLG_SWIEPH As Long = 2
Const SEFLG_SPEED As Long = 256
Const SEFLG_HELCTR As Long = 8
Const SEFLG_TRUEPOS As Long = 16
Const SEFLG_J2000 As Long = 32
Const SEFLG_NONUT As Long = 64
Const SEFLG_NOGDEFL As Long = 512
Const SEFLG_NOABERR As Long = 1024
Const SEFLG_EQUATORIAL As Long = 2048
Const SEFLG_XYZ As Long = 4096
Const SEFLG_RADIANS As Long = 8192
Const SEFLG_BARYCTR As Long = 16384
Const SEFLG_TOPOCTR As Long = 32768
Const SEFLG_SIDEREAL As Long = 65536

'eclipse codes
Const SE_ECL_CENTRAL As Long = 1
Const SE_ECL_NONCENTRAL As Long = 2
Const SE_ECL_TOTAL As Long = 4
Const SE_ECL_ANNULAR As Long = 8
Const SE_ECL_PARTIAL As Long = 16
Const SE_ECL_ANNULAR_TOTAL As Long = 32
Const SE_ECL_PENUMBRAL As Long = 64
Const SE_ECL_VISIBLE As Long = 128
Const SE_ECL_MAX_VISIBLE As Long = 256
Const SE_ECL_1ST_VISIBLE As Long = 512
Const SE_ECL_2ND_VISIBLE As Long = 1024
Const SE_ECL_3RD_VISIBLE As Long = 2048
Const SE_ECL_4TH_VISIBLE As Long = 4096

'sidereal modes, for swe_set_sid_mode()
Const SE_SIDM_FAGAN_BRADLEY As Long = 0
Const SE_SIDM_LAHIRI As Long = 1
Const SE_SIDM_DELUCE As Long = 2
Const SE_SIDM_RAMAN As Long = 3
Const SE_SIDM_USHASHASHI As Long = 4
Const SE_SIDM_KRISHNAMURTI As Long = 5
Const SE_SIDM_DJWHAL_KHUL As Long = 6
Const SE_SIDM_YUKTESHWAR As Long = 7
Const SE_SIDM_JN_BHASIN As Long = 8
Const SE_SIDM_BABYL_KUGLER1 As Long = 9
Const SE_SIDM_BABYL_KUGLER2 As Long = 10
Const SE_SIDM_BABYL_KUGLER3 As Long = 11
Const SE_SIDM_BABYL_HUBER As Long = 12
Const SE_SIDM_BABYL_ETPSC As Long = 13
Const SE_SIDM_ALDEBARAN_15TAU As Long = 14
Const SE_SIDM_HIPPARCHOS As Long = 15
Const SE_SIDM_SASSANIAN As Long = 16
Const SE_SIDM_GALCENT_0SAG As Long = 17
Const SE_SIDM_J2000 As Long = 18
Const SE_SIDM_J1900 As Long = 19
Const SE_SIDM_B1950 As Long = 20
Const SE_SIDM_USER As Long = 255

Const SE_NSIDM_PREDEF As Long = 21

Const SE_SIDBITS As Long = 256
'for projection onto ecliptic of t0
Const SE_SIDBIT_ECL_T0 As Long = 256
'for projection onto solar system plane
Const SE_SIDBIT_SSY_PLANE As Long = 512

' modes for planetary nodes/apsides, swe_nod_aps(), swe_nod_aps_ut()
Const SE_NODBIT_MEAN As Long = 1
Const SE_NODBIT_OSCU As Long = 2
Const SE_NODBIT_OSCU_BAR As Long = 3
Const SE_NODBIT_FOPOINT As Long = 256

' indices for swe_rise_trans()
Const SE_CALC_RISE As Long = 1
Const SE_CALC_SET As Long = 2
Const SE_CALC_MTRANSIT As Long = 4
Const SE_CALC_ITRANSIT As Long = 8
Const SE_BIT_DISC_CENTER As Long = 256 '/* to be added to SE_CALC_RISE/SET */
'/* if rise or set of disc center is */
'/* requried */
Const SE_BIT_NO_REFRACTION As Long = 512 '/* to be added to SE_CALC_RISE/SET, */
'/* if refraction is not to be considered */

' bits for data conversion with swe_azalt() and swe_azalt_rev()
Const SE_ECL2HOR As Long = 0
Const SE_EQU2HOR As Long = 1
Const SE_HOR2ECL As Long = 0
Const SE_HOR2EQU As Long = 1

' for swe_refrac()
Const SE_TRUE_TO_APP As Long = 0
Const SE_APP_TO_TRUE As Long = 1

Public Sub Main()
'Main Sub - Applying XP Visual Style.
Dim iccex As tagInitCommonControlsEx
With iccex
.lngSize = LenB(iccex)
.lngICC = ICC_USEREX_CLASSES
End With

InitCommonControlsEx iccex

On Error GoTo 0

Load frmMain
frmMain.Show

End Sub
*********************************************************************

ဘာ၀(၁၂)ပါး တြက္နည္းမ်ား


An Astrological House Formulary
Michael P. Munkasey
OVERVIEW
Astrological house systems are often thought of as some form of incomprehensible entity -- almost
as an evil that lurks behind the chart. In reality, it is not the houses themselves that are recondite,
but more correctly the mathematical description of the houses. Once an astrological practitioner
realizes that the mathematics of how a house system is created can be ignored, then the
application of the meanings of the houses and their usage in astrological practice are concentrated
upon. This article is not about the meanings of houses in a keyword sense. This article is about the
other parts of houses: their technical descriptions and mathematical formulations. Early in my
astrological studies I was given a wonderful opportunity by circumstances, which at the time were
not perceived as pleasant, to derive the mathematics of the various house systems. My sense of
curiosity compelled me to bring some order to an area where I could find no reasonable or
consistent sets of information. Then, unlike today, there were few ready reference books on the
mathematics of house systems, and I perceived the need to create understanding and order for all
interested parties then and in the future.
This article is intended both for the education of general NCGR members and also to provide
specific information to persons who wish to calculate house cusps for any known house system.
Provided herein, for the first time ever in one place, to my knowledge, is a short written description
of what all house systems and sensitive points which I could find described in the popular
astrological literature are in an astronomical sense. The word descriptions of the house systems
are purposely kept short, but each house system where mathematics are less than straight forward
is rigidly and accurately described in a way which would allow any reader with a reasonable
interest in pursuing this subject to calculate all house cusps. All that is needed is a hand calculator
or computer, some persistence, and a knowledge of how to read and use the types of
mathematical notations shown. Only a high school level of mathematics is required. For those
persons wishing to pursue this adventure I offer good calculating. To the other readers I offer in
one place, for the first time, a compendium of the mathematics of house systems and sensitive
points heretofore not available except privately.
MY HISTORY OF INVOLVEMENT
Contrary to the opinions of many who know me I was not well equipped in an educational sense to
do this type of work. While I liked mathematics as a subject when I was in school, the form of
mathematics needed for this study was not one where I had much expertise. So, I had to teach
myself forms of arithmetic which I had either long ago conveniently forgotten, or had never learned
formally in school. My purpose and drive behind this study was manifold and centered around
wanting to understand: why astrologers used different house systems; which house systems was
best to use from a mathematical sense; what the difference was among the various house
systems; what houses are in space and what role they perform in astrology; and last but not least,
to find short cut paths for computing various positions of the house cusps. This last was particularly
important, because this work was being done in that era before personal computers or
programmable calculators, and computing house cusps using logarithms for systems not
commonly available was a long and arduous task, and one which I did not like to do. So, necessity
being the mother of invention, I had to forge into areas where others had not adequately left
instructions for proceeding. (Note: definitions for most technical terms used in this article appear at
the end.)
After several months of effort I had managed to gather up word and other descriptions of the
various house systems. Over the years I found 22 different house systems described in the
astrological literature. What I did when I located these was to draw astronomical globes in diagram
after diagram showing what these houses systems did in space to divide the areas so that
astrologers could use house cusps in their practice. What I found is that there are two general
approaches for creating a house system: one thought is to take a point on the ecliptic and divide
the ecliptic according to a systematic scheme. This would then give the houses. The Equal House
System is one such example: the ascendant (ASC) is taken as a starting point and thirty degree
increments are added to the ASC for each subsequent house cusp. This is an easy system to use,
requires only a minimum of mathematics, and works anywhere there is an ecliptic visible. Having
an ecliptic visible becomes an important consideration, especially in the far polar regions where
distortions in space around the ecliptic are magnified, and an ecliptic may not always be
mathematically or actually present. The second system requires using one of the other great circles
of astronomy, dividing that in some acceptable manner, and then projecting that division onto the
ecliptic. These are the projection house systems, like Placidian and Regiomontanus. The Koch
house system is a variation on the projection house system methodology, and I sometimes classify
by itself while terming its approach to the mathematics of houses 'intersection' as opposed to
'projection'.
WHAT HOUSES ARE
Houses are the divisions of space around an event. An event which we wish to consider
astrologically occurs. It may be a birth, it may be a mundane event, it may be a horary question, or
it may be something other than these. An event occurs and astrologers wish to examine a
horoscope for that event. The next step is to determine the placement of that event in the hierarchy
of space. To do this we need to introduce some order to the space we are going to diagram -- and
diagram is exactly what we will do with the space. So, an event occurs, and now we must create a
frame for picturing the planets within our portion of space. Doing this poses certain important
questions which must be answered. How do we divide this space? What is our starting point for
this division? How do we translate how we see the planets from Earth with where they are in their
orbits around the Sun? What about the parts of the sky we can not see -- like those parts that are
on the other side of the earth? How do we represent those 'hidden' spaces? Since space is rather
'plastic', and if we can change our view of the event depending where in space we are viewing
from, then what constant boundaries can we create for classifying the space around our event?
These questions have a serious philosophical leaning, and are essentially solved when the
diagram of the horoscope is produced. That is, all questions such as stated above are solved when
the horoscope is drawn except the one question of which house system to use. One horoscope
produced usually implies that one house system was chosen for dividing space. Another
horoscope of the same event may show a completely different house system. But the nagging side
issue question always remains: which house system is best to use?
There is no simple or direct answer to that question. However, I can give you two good thoughts on
the subject: use that house system which divides space in such a way that the planets fall into
houses which describe their function in the nature of the event; and, use that house system which
gives cusps against which you can time events. That is, if the Moon function of this event is
described well by a Moon in the eighth house, then the house system you choose should not place
the Moon in the seventh or ninth, or some house other than the eighth house. Also, if subsequent
events can not be timed to the house cusps derived mathematically and plotted on the horoscope,
then choose some other house system. In general, I find that for natal events the Placidian system
works well and fulfills these two guidelines. Why it works well I do not know. It may well be that the
thought form created by a mass of astrologers using the Placidian system is all that lies behind its
functioning. I can not explain why it works, but my practical side allows me to see that it does work
well and consistently for natal events where it is used and applied. For events other than natal,
other house systems seem to work better. Some house systems also work well with natal events,
besides Placidian. The type of experimentation and conjecture of which house system to use
where and when, however, is beyond the scope and intention of this article.
HOUSES VS. THE PERSONAL SENSITIVE POINTS
One confusing issue which is often blurred over is the difference between house cusps, and the
personal sensitive points. The primary difference between houses and the personal sensitive
points is that houses show wedges or divisions of space while the personal sensitive points
represent a freezing of time in a horoscope. When one looks at the astronomy surrounding an
event it becomes quickly evident that there is an astronomically defined framework provided for
dividing the various portions of space, and there are points in space where these divisions intersect
the ecliptic. There are four levels of definition in the astronomical space surrounding an event, and
we can call these levels: ecliptic, equatorial, horizon, and lunar. Each of these levels allows us to
bring some mathematical order to the placement of the planets in space. Each of the levels allows
us to divide space and time in ways that are meaningful to us as astrologers. More importantly,
though, the mathematical intersections of these levels, or astronomical or mathematical planes as
they are also called, gives us eight rigidly defined sets of places where peaks, or points, which are
able to gather energy and potential are formed. Astrologers have generally named these points the
personal sensitive points, and specifically refer to them as: the ascendant (ASC), the MC (or
Medium Coeli), the equatorial ascendant (EQA) [popularly, but incorrectly, called 'the east point'],
the vertex (VTX), the co-ascendant (CAS), the polar ascendant (PAS), the Aries point (ARI) , and
the Moon's node (NOD).
Each of these points is really a pair of points, and one part of the pair can not be thought of without
also considering its companion: with the ascendant there is a descendant, with the MC there is an
IC, etc. The pairings of the points are unchangeable -- because one side exists by definition, so
does the other. The points and their pair names are listed at the end of this article. Further, each
personal sensitive point is formed when some great astronomical circle from one of the four levels
or planes mentioned above intersects the ecliptic. There are only eight ways this can be done, and
there are only eight sets of personal sensitive points. Each is astrologically equal to the other in
strength and function -- but not all are equally well defined in popular astrological literature. Since it
is the ecliptic that we plot on the outside of a horoscope, then places where the ecliptic is
intersected in a significant manner must be important astrologically.
In other places I have written extensively about the meanings of each of the personal sensitive
points. This is not the place to elaborate on their meanings, only their mathematical definitions. In
reality, they are quite simple to compute, and all that is required is the local sidereal time (LST) of
an event (which is the number gotten when the time of an event is combined with the terrestrial
longitude of the event, and Greenwich sidereal time taken from an ephemeris, along with a few
minor corrections), and a table of ascendants and MC's. Armed with this, a person can with just a
little practice calculate all of the personal sensitive points for an event, except the Moon's nodes, in
less than two minutes. Given the formulations, which follow shortly, the calculations can be placed
in a computing machine, and derived without the need for any tables.
ASTRONOMICAL CONSIDERATIONS
In the astronomy defining an event, there are great circles which divide the sphere of space into
logical parts. These great circles are called: meridian, horizon, prime vertical, celestial equator,
polar axis circle, ecliptic, and horizon. The Moon's nodes are a special case, where the plane of the
Moon's motion defines these where it cuts the ecliptic. All of the houses and sensitive points used
in astrology are a result of these circles or mathematical derivatives from these circles where these
circles or their derivatives cut the ecliptic. You may wish to use the notes and definitions at the end
of this article for a reference.
House systems use the great circles of astronomy as starting points for their definitions and also
for projection purposes. Having a good understanding of the astronomy of the horoscope does help
in being able to visualize the construction of the individual house systems. In this sense, the guides
and definitions at the end of this article are of help. Please note that certain house systems are
known by more than one name. While I have looked diligently to compile a list of all known and
described house systems in popular literature, I may have accidentally overlooked some. Do not
dwell too strongly on the word definitions which, admittedly, are short. It is the mathematics which
really define the procedure for calculating the various houses systems. I tried to derive the
mathematics clearly and directly, but I may have inadvertently made some errors. I would
appreciate any corrections and/or additions to this list to be sent to me thru NCGR. Also, I wish to
thank Gary Duncan, Neil Michelsen, and George Noonan for their assistance with this effort when it
was in its formative stages.
WRITTEN DEFINITIONS OF THE INDIVIDUAL HOUSE SYSTEMS
The Alcibitius Declination House System
(Sometimes spelled 'Alcabitius'). The diurnal arc of the ascendant is tri-sected and projected
by hour circles onto the ecliptic to form the house cusps.
The Alcibitius Semi-Arc House System
The diurnal arc of the ascendant is tri-sected and projected by vertical circles onto the
ecliptic to form the house cusps.
The Arcturan House System
The horizon circle is cut at thirty degree intervals starting at the east point of the horizon,
and these points are projected onto the ecliptic using longitude circles.
The Campanus House System
The prime vertical is cut at thirty degree intervals starting at the east point of the horizon,
and these points are projected onto the ecliptic using house circles.
The Classical House System
The diurnal arc of the ascendant is tri-sected and projected by hour circles onto the ecliptic
to form the house cusps, but five degrees is subtracted from the ASC to form the first house
cusp. This slight correction to the Alcibitius Declination house system described above was
used in antiquity to correct for observational effects due to atmospheric refraction close to
the horizon.
The Earth House System
Zero degrees of Libra is taken as the first house cusp and each house cusp is thirty degrees
farther along in the zodiac.
The Equal House System
The ascendant is taken as the cusp of the first house and each house is thirty degrees
further along in the zodiac. Note that in this house system the MC is not necessarily the
cusp of the tenth house.
The Horizontal House System
The horizon circle is cut at thirty degree intervals starting at the east point of the horizon,
and these points are projected onto the ecliptic using vertical circles.
The Koch House System
The diurnal arc of the ascendant is tri-sected and projected by ascendant arcs onto the
ecliptic to form the house cusps.
The MC House System
The midheaven (MC) is taken as the cusp of the tenth house and each house is thirty
degrees further along in the zodiac. Note that in this house system the ascendant (ASC) is
not necessarily the cusp of the first house.
The Meridian House System
The celestial equator circle is cut at thirty degree intervals starting at the Aries point, and
these points are projected onto the ecliptic using hour circles.
The Moon House System
The Moon is taken as the tenth house cusp and each house cusp is thirty degrees farther
along in the zodiac. Note that in this house system neither the ascendant nor the MC are
necessarily house cusps.
The Morinus House System
The celestial equator circle is cut at thirty degree intervals starting at the Aries point, and
these points are projected onto the ecliptic using longitude circles.
The Natural Graduation House System
A complicated mathematical variation of the Porphyry House System, as described on pp.
46- 47 in "New Waite's Compendium" by Colin Evans.
The Natural Hours House System
The times of sunrise and sunset are noted for the location and date of the horoscope. The
degrees of the ASC at Sun rise and Sun set give the degrees of the ascendant and
descendant respectively. The hemispheres between the ASC and DSC are divided into six
sectors, each representing two 'hours' of time. These sectors also give the house cusps.
Note that the ascendant and descendant are no longer tied together as a pair in this system,
and the MC may fall in any house.
The Octopos House System
The prime vertical is cut at forty-five degree intervals starting at the east point of the horizon,
and these points are projected onto the ecliptic using house circles. This produces eight
houses instead of twelve as by most other systems, and these are then numbered starting at
the descendant and going counter-clockwise, so that the house placed at the seventh house
is called the first house, and the house normally near the ninth house is the second house,
etc. For those persons with a fear of the twelfth house, this is the one to use.
The Placidian House System
The celestial equator circle is cut at thirty degree intervals starting at the Aries point, and
these points are projected onto the ecliptic using house circles. The original cusps are then
recalculated in a complicated adjustment cycle which continues until no further cuspal
movement is perceived.
The Porphyry House System
The arc between the MC and the ascendant is measured and tri-sected, with the ecliptic
locations becoming the eleventh and twelfth houses. Then the arc between the ASC and IC
is treated similarly for the cusps of the second and third houses. The ASC and MC are the
cusps of the first and tenth houses, and the other houses are opposite paired (e.g., the 8th
cusp is opposite the 2nd).
The Radiant House System
Same as the Horizontal House System.
Regiomontanus House System
The celestial equator circle is cut at thirty degree intervals starting at the Aries point, and
these points are projected onto the ecliptic using house circles. This is similar to the
Placidian house system, but without the complicated adjustment algorithm required by that
method.
The Solar House System
The position of the Sun is taken as the first house cusp and each house cusp is thirty
degrees farther along in the zodiac. Note that in this house system neither the ascendant
nor the MC are necessarily house cusps. This system is commonly used when the
ascendant and MC are not known.
The Sun House System
The Sun is taken as the fourth house cusp and each house cusp is thirty degrees farther
along in the zodiac. Note that in this house system neither the ascendant nor the MC are
necessarily house cusps.
The Topocentric House System
This is a very slight mathematical variation of the Placidian algorithm, which, supposedly,
allows for a more accurate calculation of the intermediate house cusps in the polar regions.
The Zariel House System
Identical to the Meridian House system, except in name.
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 360o or under 0o
should be converted to lie between 0o and 360o . That is, if you compute a house cusp as
being 372o then this should be changed to 12 Aries. Add 360o to any negative values or
results. House cusps with values between 0o and 29.99o lie in Aries; between 30o and
59.99o in Taurus; between 60o and 89.99o 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.75o 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.808333o .
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 ALCIBITIUS DECLINATION HOUSE SYSTEM FORMULATION
1. Compute the RAMC, MC, and ASC in the normal manner.
2. Determine the number of zodiacal degrees between the ASC and MC:
L = ASC - MC
3. Determine the Diurnal and Nocturnal Semi-arcs:
D = ARCTAN ( TAN L x COS e )
P = 180o - D
4. Determine these intermediate working values:
F = D ÷ 3 J = P ÷ 3
G = F x 2 K = J x 2
5. Compute the house cusp intervals as follows:
H11 = ARCTAN ( TAN F ÷ COS e )
H12 = ARCTAN ( TAN G ÷ COS e )
H2 = ARCTAN ( TAN K ÷ COS e )
H3 = ARCTAN ( TAN J ÷ COS e )
6. Compute the individual house cusps as follows:
C10 = MC C4 = 180o + C10
C11 = MC + H11 C5 = 180o + C11
C12 = MC + H12 C6 = 180o + C12
C1 = ASC C7 = 180o + C1
C2 = MC + H2 C8 = 180o + C2
C3 = MC + H3 C9 = 180o + C3
THE ALCIBITIUS SEMI-ARC HOUSE SYSTEM FORMULATION
1. Compute the RAMC, MC, and ASC in the normal manner.
2. Determine the right ascension of the ASC (RASC):
RASC = ARCTAN (TAN (ASC) x COS e )
3. Compute the RAMC to RASC interval:
T = RASC - RAMC (Add 360o if negative)
4. Compute the trisections of the diurnal and nocturnal arcs:
D = T ÷ 3
P = (T - 180o ) ÷ 3
5. Compute the RA of each of the house cusps:
RA11 = RAMC + D
RA12 = RA11 + D
RA2 = RASC + P
RA3 = RA2 + P
6. Compute the house cusp intervals as follows:
H11 = ARCCOT ( - ( ( TAN f x COS e ) + (SIN RA11 x COS e) ) ÷ COS RA11)
H12 = ARCCOT ( - ( ( TAN f x COS e ) + (SIN RA12 x COS e) ) ÷ COS RA12)
H2 = ARCCOT ( - ( ( TAN f x COS e ) + (SIN RA2 x COS e) ) ÷ COS RA2)
H3 = ARCCOT ( - ( ( TAN f x COS e ) + (SIN RA3 x COS e) ) ÷ COS RA3)
7. Compute the individual house cusps as follows:
C10 = MC C4 = 180o + C10
C11 = MC + H11 C5 = 180o + C11
C12 = MC + H12 C6 = 180o + C12
C1 = ASC C7 = 180o + C1
C2 = ASC + H2 C8 = 180o + C2
C3 = ASC + H3 C9 = 180o + C3
THE ARCTURAN HOUSE SYSTEM FORMULATION
This house system works very well in polar areas, but gives erratic and unpredictable results in the
tropical regions.
1. Compute the RAMC, MC, and ASC in the normal manner.
2. Determine the following constants for later usage:
Compute the Decl. of the ASC: D = ARCSIN (SIN ASC x SIN e )
Oblique Ascension of the East Point: J = RAMC + 90o
G, the angle between the ecliptic and the horizon:
G = ARCCOS ( ( SIN f x COS e ) + (COS f x SIN e x COS J) )
K, the arc in degrees from the East Point to the ASC:
K = ARCSIN ( SIN D ÷ COS f )
3. Determine the house cusp intervals:
H10 = K + 90o H1 = K + 0o (or, 180o)
H11 = K + 60o H2 = K + 150o
H12 = K + 30o H3 = K + 120o
4. Determine the ecliptic to cusp angle:
R10 = ARCTAN ( COS G x TAN H10 )
R11 = ARCTAN ( COS G x TAN H11 )
R12 = ARCTAN ( COS G x TAN H12 )
R1 = ARCTAN ( COS G x TAN H1 )
R2 = ARCTAN ( COS G x TAN H2 )
R3 = ARCTAN ( COS G x TAN H3 )
5. Compute the individual house cusps as follows:
C10 = ASC - R10 C4 = 180o + C10
C11 = ASC - R11 C5 = 180o + C11
C12 = ASC - R12 C6 = 180o + C12
C1 = ASC - R1 C7 = 180o + C1
C2 = ASC - R2 C8 = 180o + C2
C3 = ASC - R3 C9 = 180o + C3
The R value when added to the ASC may give you the opposite side house cusp as a result. Add
180o to your answer if this occurs.
THE CAMPANUS HOUSE SYSTEM FORMULATION
1. Compute the RAMC, MC, and ASC in the normal manner.
2. Determine the following house cusp intervals:
H11 = 30o H2 = 120o
H12 = 60o H3 = 150o
3. Compute an intermediate number:
J11 = ARCCOT ( COS f x TAN H11 ) J2 = ARCCOT ( COS f x TAN H2 )
J12 = ARCCOT ( COS f x TAN H12 ) J3 = ARCCOT ( COS f x TAN H3 )
4. Compute the Prime Vertical interval:
F11 = RAMC + 90o - J11 F2 = RAMC + 90o - J2
F12 = RAMC + 90o - J12 F3 = RAMC + 90o - J3
5. Compute the house cusp positions as follows:
P11 = ARCSIN ( SIN H11 x SIN f ) P2 = ARCSIN ( SIN H2 x SIN f )
P12 = ARCSIN ( SIN H12 x SIN f ) P3 = ARCSIN ( SIN H3 x SIN f )
6. Compute the associate angles as follows:
M11 = ARCTAN ( TAN P11 ÷ COS F11 ) M12 = ARCTAN ( TAN P12 ÷ COS F12 )
M2 = ARCTAN ( TAN P2 ÷ COS F2 ) M3 = ARCTAN ( TAN P3 ÷ COS F3 )
7. Compute the ecliptic intervals:
R11 = ARCTAN ( ( TAN F11 x COS M11 ) ÷ COS ( M11 + e) )
R12 = ARCTAN ( ( TAN F12 x COS M12 ) ÷ COS ( M12 + e) )
R2 = ARCTAN ( ( TAN F2 x COS M2 ) ÷ COS ( M2 + e) )
R3 = ARCTAN ( ( TAN F3 x COS M3 ) ÷ COS ( M3 + e) )
8. Compute the individual house cusps as follows:
C10 = MC C4 = 180o + C10
C11 = MC + R11 C5 = 180o + C11
C12 = MC + R12 C6 = 180o + C12
C1 = ASC C7 = 180o + C1
C2 = MC + R2 C8 = 180o + C2
C3 = MC + R3 C9 = 180o + C3
THE CLASSICAL HOUSE SYSTEM FORMULATION
1. Compute the RAMC, MC, and ASC in the normal manner.
2. Determine the First Cusp Locus Longitude:
L1 = ASC - 5o
3. Determine Right Ascension of the First Locus:
A1 = RASC = ARCTAN (TAN L1 x COS e)
4. Determine the local hour angle of the MC:
t = ARCCOS ( - ( ( TAN f x TAN e ) x SIN (A1 ) )
5. Tri-sect the hour angle arcs:
g = t ÷ 3
h = ( 180o - t ) ÷ 3
6. Determine the right ascension of the tenth house cusp:
A10 = A1 - t
7. Compute the house cusp positions as follows:
A11 = A10 + g
A12 = A11 + g
A2 = A1 + h
A3 = A2 + h
8. Compute the individual house cusps as follows:
C10 = ARCTAN (TAN A10 ÷ COS e) C4 = 180o + C10
C11 = ARCTAN (TAN A11 ÷ COS e) C5 = 180o + C11
C12 = ARCTAN (TAN A12 ÷ COS e) C6 = 180o + C12
C1 = ARCTAN (TAN A1 ÷ COS e) C7 = 180o + C1
C2 = ARCTAN (TAN A2 ÷ COS e) C8 = 180o + C2
C3 = ARCTAN (TAN A3 ÷ COS e) C9 = 180o + C3
THE HORIZONTAL HOUSE SYSTEM FORMULATION
1. Compute the RAMC, MC, and ASC in the normal manner.
2. Compute the P point:
P = ARCTAN ( TAN RAMC x COS e )
3. Compute the angle between the horizon and the ecliptic:
G = ARCSIN ( COS f x SIN (RAMC + 90o ) ) ÷ SIN ASC )
4. Compute:
J = ASC - P
K = ARCTAN ( TAN J x COS G )
5. Assign the house cusp intervals:
H10 = 90o H2 = 0o
H11 = 60o H2 = -30o
H12 = 30o H3 = -60o
6. Compute an intermediate result:
M10 = H10 + K M1 = H1 + K
M11 = H11 + K M2 = H2 + K
M12 = H12 + K M3 = H3 + K
7. Compute the next intermediate result as follows:
R10 = ARCTAN ( TAN M10 ÷ COS G )
R11 = ARCTAN ( TAN M11 ÷ COS G )
R12 = ARCTAN ( TAN M12 ÷ COS G )
R1 = ARCTAN ( TAN M1 ÷ COS G )
R2 = ARCTAN ( TAN M2 ÷ COS G )
R3 = ARCTAN ( TAN M3 ÷ COS G )
8. Compute the individual house cusps as follows:
C10 = ASC - R10 C4 = 180o + C10
C11 = ASC - R11 C5 = 180o + C11
C12 = ASC - R12 C6 = 180o + C12
C1 = ASC - R1 C7 = 180o + C1
C2 = ASC - R2 C8 = 180o + C2
C3 = ASC - R3 C9 = 180o + C3
THE KOCH HOUSE SYSTEM FORMULATION
1. Compute the RAMC, MC, and ASC in the normal manner. Use the MC as the cusp of the tenth
house.
2. Calculate the declination of the MC:
D = ARCSIN ( SIN MC x SIN e )
3. Calculate the ascensional difference of the MC:
J = ARCSIN ( TAN D x TAN f )
4. Calculate the oblique ascension of the MC:
OAMC = RAMC - J
5. Calculate the general house cusp displacement interval:
DX = ( ( RAMC + 90o ) - OAMC ) ÷ 3 )
(This should be a positive number; add 360o to any negative DX number)
6. Compute the house cusp positions as follows:
H11 = ( OAMC + DX - 90o )
H12 = H11 + DX
H1 = H12 + DX
H2 = H1 + DX
H3 = H2 + DX
7. Calculate the individual house cusps:
C11 = ARCCOT (- ( (TAN f x SIN e) + (SIN H11 x COS e) ) ÷ COS H11)
C12 = ARCCOT (- ( (TAN f x SIN e) + (SIN H12 x COS e) ) ÷ COS H12)
C1 = ARCCOT (- ( (TAN f x SIN e) + (SIN H1 x COS e) ) ÷ COS H1)
C2 = ARCCOT (- ( (TAN f x SIN e) + (SIN H2 x COS e) ) ÷ COS H2)
C3 = ARCCOT (- ( (TAN f x SIN e) + (SIN H3 x COS e) ) ÷ COS H3)
8. Compute the individual house cusps as follows:
C10 = MC C4 = 180o + C10
C11 = C11 C5 = 180o + C11
C12 = C12 C6 = 180o + C12
C1 = C1 C7 = 180o + C1
C2 = C2 C8 = 180o + C2
C3 = C3 C9 = 180o + C3
THE MERIDIAN HOUSE SYSTEM FORMULATION
1. Compute the RAMC, MC, and ASC in the normal manner.
2. Determine the house cusp intervals:
H10 = 0o H1 = 90o
H11 = 30o H2 = 120o
H12 = 60o H3 = 150o
3. Determine the ecliptic interval point for each cusp:
F10 = RAMC + H10
F11 = RAMC + H11
F12 = RAMC + H12
F1 = RAMC + H1
F2 = RAMC + H2
F3 = RAMC + H3
4. Compute the house cusps:
C10 = ARCTAN ( TAN F10 ÷ COS e )
C11 = ARCTAN ( TAN F11 ÷ COS e )
C12 = ARCTAN ( TAN F12 ÷ COS e )
C1 = ARCTAN ( TAN F1 ÷ COS e )
C2 = ARCTAN ( TAN F2 ÷ COS e )
C3 = ARCTAN ( TAN F3 ÷ COS e )
5. Determine the individual house cusps as follows:
C10 = C10 C4 = 180o + C10
C11 = C11 C5 = 180o + C11
C12 = C12 C6 = 180o + C12
C1 = C1 C7 = 180o + C1
C2 = C2 C8 = 180o + C2
C3 = C3 C9 = 180o + C3
THE MORINUS HOUSE SYSTEM FORMULATION
1. Compute the RAMC, MC, and ASC in the normal manner.
2. Determine the house cusp intervals:
H10 = 0o H1 = 90o
H11 = 30o H2 = 120o
H12 = 60o H3 = 150o
3. Determine the ecliptic interval point for each cusp:
F10 = RAMC + H10
F11 = RAMC + H11
F12 = RAMC + H12
F1 = RAMC + H1
F2 = RAMC + H2
F3 = RAMC + H3
4. Compute the house cusps:
C10 = ARCTAN ( TAN F10 x COS e )
C11 = ARCTAN ( TAN F11 x COS e )
C12 = ARCTAN ( TAN F12 x COS e )
C1 = ARCTAN ( TAN F1 x COS e )
C2 = ARCTAN ( TAN F2 x COS e )
C3 = ARCTAN ( TAN F3 x COS e )
5. Determine the individual house cusps as follows:
C10 = C10 C4 = 180o + C10
C11 = C11 C5 = 180o + C11
C12 = C12 C6 = 180o + C12
C1 = C1 C7 = 180o + C1
C2 = C2 C8 = 180o + C2
C3 = C3 C9 = 180o + C3
THE NATURAL HOURS HOUSE SYSTEM FORMULATION
1. Compute the RAMC, MC, and ASC in the normal manner.
2. Determine the times of sunrise and sunset for the location of the chart. You can consult your
local newspaper, tables in the "Nautical Almanac", or using a table of ascendants and MC's
determine what clock time during the day the Sun's degree would be conjunct the ASC and the
DSC. Finally, if you wish to calculate that information astronomically, you can also do that, but I am
not providing those formulas or methods here because they can become too tricky, especially in
polar latitudes where the Sun doesn't rise or set during every 24 hour period.
3. Suppose you determine that there are twelve hours and thirty-six minutes of daylight, and, thus
eleven hours and twenty-four minutes of night for the day of the event at your event location. Then
convert these hours and minutes to arcs of a circle as follows:
12H 36M = 12.6 Hrs ( ( 12.6 ÷ 24 ) x 360o ) = 189o of daylight arc
360 - 189 = 171o of night time arc
4. Compute the cuspal increments:
D = 189o ÷ 6 = 31o 30' for the daylight increment
N = 171o ÷ 6 = 28o 30' for the night time increment
5. Compute the house cusps:
C12 = ASC - D
C11 = C12 - D
C10 = C11 - D
C9 = C10 - D
C8 = C9 - D
C7 = C8 - D
C1 = ASC
C2 = ASC + N
C3 = C2 + N
C4 = C3 + N
C5 = C4 + N
C6 = C5 + N
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 + 30o H2 = RAMC + 120o
H12 = RAMC + 60o H3 = RAMC + 150o
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 = 180o + C11
C12 = R12 C6 = 180o + C12
C2 = R2 C8 = 180o + C2
C3 = R3 C9 = 180o + C3
THE REGIOMONTANUS 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.
2. Determine the following house cusp intervals:
H11 = 30o H2 = 120o
H12 = 60o H3 = 150o
3. Set the equatorial intervals:
F11 = RAMC + H11 F2 = RAMC + H2
F12 = RAMC + H12 F3 = RAMC + H3
4. Compute the house poles:
P11 = ARCTAN ( TAN f x SIN H11 ) P2 = ARCTAN ( SIN f x SIN H2 )
P12 = ARCTAN ( TAN f x SIN H12 ) P3 = ARCTAN ( SIN f x SIN H3 )
5. Compute the first intermediate values:
M11 = ARCTAN ( TAN P11 ÷ COS F11 )
M12 = ARCTAN ( TAN P12 ÷ COS F12 )
M2 = ARCTAN ( TAN P2 ÷ COS F2 )
M3 = ARCTAN ( TAN P3 ÷ COS F3)
6. Compute the intermediate house cusps:
R11 = ARCTAN ( ( TAN F11 x COS M11 ) ÷ COS ( M11 + e) )
R12 = ARCTAN ( ( TAN F12 x COS M12 ) ÷ COS ( M12 + e) )
R2 = ARCTAN ( ( TAN F2 x COS M2 ) ÷ COS ( M2 + e) )
R3 = ARCTAN ( ( TAN F3 x COS M3 ) ÷ COS ( M3 + e) )
7. Compute the individual house cusps as follows:
C10 = MC C4 = 180o + C10
C11 = R11 C5 = 180o + C11
C12 = R12 C6 = 180o + C12
C1 = ASC C7 = 180o + C1
C2 = R2 C8 = 180o + C2
C3 = R3 C9 = 180o + C3
THE TOPOCENTRIC 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.
2. Determine the following house cusp intervals:
H11 = RAMC + 30o H2 = RAMC + 120o
H12 = RAMC + 60o H3 = RAMC + 150o
3. Set the Semi-arc ratios:
P11 = ARCTAN ( TAN f ÷ 3 )
P12 = ARCTAN ( 2 x ( TAN f ÷ 3 ) )
P2 = ARCTAN ( 2 x ( TAN f ÷ 3 ) )
P3 = ARCTAN ( TAN f ÷ 3 )
4. Compute the intermediate angle M:
M11 = ARCTAN (TAN P11 ÷ COS H11 )
M12 = ARCTAN (TAN P12 ÷ COS H12 )
M2 = ARCTAN (TAN P2 ÷ COS H2 )
M3 = ARCTAN (TAN P3 ÷ COS H3 )
5. 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) )
6. Compute the individual house cusps as follows:
C10 = MC C4 = 180o + C10
C11 = R11 C5 = 180o + C11
C12 = R12 C6 = 180o + C12
C1 = ASC C7 = 180o + C1
C2 = R2 C8 = 180o + C2
C3 = R3 C9 = 180o + C3
A variation of this system, devised by Alexander Marr of Germany to give 8 cusps instead of the 12
normally used, requires changing steps 2 and 3 above as follows:
Substitute: Ha = RAMC + 45o Hb = RAMC + 135o
Pa = Pb = ARCTAN ( TAN f ÷ 2 ) & then recalculate
This gives a cusp with mid-point like qualities which Mr. Marr claims produces interesting
correspondences. Your investigation is recommended.
Definition of Terms and Abbreviations
BODY: A planet, a star, or some similar object which exists in space and time.
CELESTIAL EQUATOR: A great circle denoted by an extension of the Earth's equator infinitely
projected into space. This is the circle along which the measurement of right ascension is made.
CELESTIAL SPHERE: That sphere which would be formed if one were to infinitely extend the
'sphere' of Earth outward into space.
CO-EQUATOR: The mirror image of the Earth's equator. The equator mathematically associated
with the co-latitude of a place on Earth.
CO-LATITUDE: The number obtained when the terrestrial latitude is subtracted from ninety
degrees. For the city of Philadelphia, located at forty degrees north terrestrial latitude, the colatitude,
or angular distance of Philadelphia from the Earth's North Pole, is fifty degrees.
CO-POLAR AXIS CIRCLE: The great circle formed when the mathematics used to derive the polar
axis circle is mirrored from the Earth's poles, rather than from the Earth's equator.
ECLIPTIC: That great circle of the celestial sphere which the Sun traces, when seen from the
Earth, in its yearly travels against the backdrop of the sky.
ECLIPTIC PLANE or SYSTEM: The mathematical plane which contains the Solar System, with the
Sun as its center and its planets at the center of their motions. A sphere of space using the ecliptic
as its equator.
EQUATORIAL PLANE: The mathematical plane represented by infinitely extending the Earth's
equator into space.
EQUATORIAL SYSTEM: A sphere of space using the celestial equator as its main central circle or
equator.
GREAT CIRCLE: A circle contained within the celestial sphere which has as its center the center
point of the celestial sphere.
HORIZON: A great circle, for which there are actually four associated terms:Visible, Rational,
Sensible, and Celestial. In the way that we use these terms, the Visible Horizon is our view of
where the earth and the sky meet off in the distance from where we stand on or near the earth. The
Celestial Horizon is the horizon we use mathematically as our starting point to calculate houses
and sensitive points, and it is the visible horizon as if that horizon were starting at the center of the
earth (as opposed to where we are located on or near the surface of the earth) and was extended
infinitely into space.
HORIZON PLANE or SYSTEM: The plane which contains the horizon. The same as the celestial
horizon. A sphere of space, with the Celestial Horizon serving as its equator. See also: Horizon.
HOUR CIRCLE: A great circle which is perpendicular to the Celestial Equator and which passes
through a particular body in space.
HOUSE CIRCLE: A great circle which has as its poles the North and South points of the Horizon,
and which is perpendicular to the Prime Vertical.
LOCAL SIDEREAL TIME: The time calculated for a horoscope when a time of event is added to
the longitude correction, the time zone correction, the acceleration, the delta T correction, and the
sidereal time from an ephemeris.
LONGITUDE CIRCLE: A great circle which starts at the pole of the ecliptic and travels around the
Celestial Sphere perpendicular to the ecliptic. It is like a circle of longitude, but in the ecliptic
system, as opposed to on a globe of the earth.
MERIDIAN: A great circle of the Horizon system which passes through the Zenith, the nadir, and
the North and South points of the horizon.
NADIR: The South Pole of the horizon system. Opposed to the Zenith.
OBLIQUITY: The angle in space formed between the ecliptic and the celestial equator. Presently it
is about twenty-three and a half degrees and decreasing slowly with time.
PERPENDICULAR: Ninety degrees. Circles which meet at ninety degree angles.
POLAR AXIS CIRCLE: A great circle which passes through the North and South Poles of the Earth
and the East and West points of the horizon.
POLE: When describing three or four dimensional space (using time as a fourth dimension) a pole
is a mathematical point that is ninety degrees everywhere from a circle. For instance, the earth's
North or South Poles are ninety degrees from all points on the earth's equator.
PRIME VERTICAL: A great circle which passes through the Zenith, the Nadir, and the East and
West points of the horizon. It is ninety degrees from the meridian, and vice-versa.
VERTICAL CIRCLE: A great circle which is perpendicular to the horizon and passes through the
Zenith and the Nadir.
ZENITH: The North Pole of the horizon system. The point in the horizon system which is over your
head. Opposed to the nadir.
ZODIAC: A small portion of the celestial sphere which is about eight degrees on either side of the
ecliptic circle.