Thursday, November 3, 2011

Mathematical Background of computer astrology - part 3 (ලග්න ස්ඵුථය හා ලග්නය සෙවීම )

 ලග්නය සෙවීම

     මේ සදහා ප්‍රධාන වශයෙන්
         *උපන් දිනය
         *උපන් වේලාව
         *උපන් ස්ථානය (අක්‍ෂාංශය හා දේශාංශය)

   උපයෝගී කරගනී.මෙම දත්ත අනුව තවත් පරාමිති තුනක් ගනනය කර ගතයුතුය
     1) අයනාංශය(Ayanamsa)
     2) ඇලය(Obliquity)
     3) තාරකා(නක්‍ෂත්‍ර) කාලය (Sideral Time)
         මෙම පරාමිති ඔස්සේ ලග්න ස්ඵුථය හා ලග්නය සෙවීම සිදු කල හැකිය.
 (මෙහිදී අයනාංශය යොදා ගන්නේ පෙරදිග ජ්‍යොතිෂයේදී අයනය රහිත (නිරයන) ක්‍රමය උපයෝගී වන බැවිනි.මෙහි අයනය යනු "වෙනස් වීම" දැක්වීමට යොදන වචනයකි.මෙහිදී අයනය ලෙස සලකන්නේ පෘථිවියේ භ්‍රමණ අක්‍ෂය කාලයත් සමඟ පූර්වායනය වීමයි.
     ජ්‍යොතිෂ මෘදුකාංග වලදී අයනාංශය ගනනය කිරීම සදහා විවිධ තාරකා විද්‍යාඥයන් දෛවඥයන් විසින් හදුන්වා දී ඇති සමීකරණ භාවිතා කරයි.ආචාර්ය බී.වී. රාමන් මහතාගේ හා එන්.සී ලහිරි මහතාගේ මෙන්ම ක්‍රිෂ්ණමුර්ති මහතාගේ අයනාංශ සමීකරණ භාවිතා කරන අතර මා දන්නේ ලහිරි අයනාංශ සමීකරණය පමණි. මෙම ලිපි පෙල් මීට පෙර දැක්වූ මූලික අංකනයන් සමඟ සැලකූ විට
     උපන් වර්ෂය = y   ,    මාසය = m     හා දිනය = d   ලෙසත්
      උපන් වේලාව(පැය 24 ඔරලෝසු වේලාවෙන්)  පැය = h     විනාඩි = mt
      උපන් ස්ථානයේ අක්‍ෂාංශ  අංශක = latdeg          කලා = latmt     (උතුරු/දකුණු)
      උපන් ස්ථානයේ දේශාංශ  අංශක =logndeg           කලා = lognmt     (නැගෙනහිර/බටහිර)


  මෙම දත්ත උපයෝගී කොටගෙන ජූලියන් දින අංකය   අගය හා ඒ ඇසුරින් දවස සොයන හැටි මෙම ලිපිපෙලේ පලමු ලිපියෙන් දැක්වීය. b6  අගය 
                                           b6 = (j - 694025 + h6) /36525
                                  මෙහි  h6 = (h + mt / 60 - 17.5) / 24      සමීකරනයෙන් ගත් විට 

1) ලහිරි අයනාංශය = ayanamsa = 22.460148 + (1.3960042) x b6 + {(3.08 x e -4(b6) x (b6) )}

 2)  obliquity = 23.452294 - (0.0130125 x b6 )  (පෘථිවියේ ඇලය දළ වශයෙන් අංශක 23.44කි).

 3) නක්‍ෂත්‍ර(තාරකා) කාලය = ST =  Sideral Time = 24 x { [(x1 + x2 + x3)/24] හි දශම අගය }
        (x1 + x2 + x3)/24  = 21.5438 ලෙස ලැබුණි නම්  [(x1 + x2 + x3)/24] හි දශම අගය  = 0.5438 වේ

මෙහි
   x1 = 24 x {[0.2769 + (100.00214] x b6 ] හි දශම අගය }
   x2 = [h + (mt/60) - 17.33] + 12.00
   x3 = [logndeg + (lognmt/60)] / 15
    නැගෙනහිර දේශාංශ සදහා x3 (ධනx3) අගයද බටහිර දේශාංශ සදහා -x3( සෘණx3)  අගයද ගත යුතුය. 
 තාරකා කාලය(ST) < 0 නම් ST අගයට 24 ක් එකතු කර ලැබෙන අගය තාරකා කාලය(ST) ලෙස ගත යුතුය.
උදා  ST = -0.5 ලැබුනි නම් ST ලෙස ගන්නේ 23.5 අගයයි. 

 මෙම ST අගයෙන් ගනනය කර ගන්නා 


               a0 =ST
               c0 = latdeg + (latmt/60)    ( උතුරු අක්‍ෂාංශ සදහා c0 අගයද දකුණු අක්‍ෂාංශ සදහා -c0  අගයද ගත යුතුය) 
               d0 = Obliquity  
                               අගයන් පහත දැක්වෙන ත්‍රිකෝණමිතක ශ්‍රිතයට ආදේශවේ.

  ඉහත   a0,c0,d0 අගයන් අනුව ගොඩ නැගී ඇති මෙම ත්‍රිකෝණමිතික සූත්‍රය ඝණ ජ්‍යාමිතිය ඇසුරින් ජන්මියා උපන් පෘථවි ලක්‍ෂයට අදාල දෛශිකය ඇසුරින් ගොඩ නැගී ඇත.


 ඉහත  a0,c0,d0, වැනි කෝණ අගයන් sin,cos tan  වැනි ත්‍රිකෝණමිතික ශ්‍රිත තුල ක්‍රියාත්මක කරඇත්තේ රේඩියන් වලට හැරවීමෙනි.වැඩසටහනේ z1 =3.14159265359     ,       z2 =z1/180         අගයන් මගින් මෙම අංශක හා රේඩියන් පරිවර්තනය සිදු කොට ඇත.

                      
    *  a0 , c0 දෙකම එකවර ශුන්‍යය (0) වන විට G = 90.0 වේ. 

  *  1) G<0  නම් පමනක් පලමුව G අගයට 180 ක් එකතු කර ගත යුතුය.
      2) (b0 -G )>75 නම් පමනක් දෙවනුව   G අගයට තවත් 180 ක් එකතු කර ගත යුතුය.
 ඉහත 1) හා 2) අවස්ථාවලින් පස අවසානයේ ලැබෙන G අගය  GF නම්
   ලග්නයේ මධ්‍ය කේන්ද්‍රය CP = GF - ayanamsa
   
       * CP< 0   නම් CP අගයට 360 ක් එකතු කර එම අගය CP අගය ලෙස ගත යුතුය
       * CP>360 නම් CP  අගයෙන් 360ක් අඩු කොට එම අගය CP අගය ලෙස ගත යුතුය.  

          ලග්න අංකය = { (අවසන්CP අගය) /30 }හි නිඛිල අගය  + 1   

           ලග්න අංකය 1,2,3,...12  වීම අනුව මේෂ,වෘෂභ,මිථුන,.....,මීන ලග්න ලැබේ.  

  මෙම ගණිතය උපයෝගී කරගෙන යම් වේලාවක උපදින අයකුගේ ලග්න ස්ථුථය හා ලග්නය ගනනය කිරීමට සකසන ලද   C වැඩසටහනක් පහත දක්වා ඇති අතර එම වැඩසටහනේ කම්පයිල් ඔවුට් පුට් වින්ඩෝව භාගත කර ගැනීමට පහසුවද  පහලින් දක්වා ඇත.එය භාගත කර ඔබගේ උපන් වේලාවට ලැබෙන ලග්නය ගනනය කර බලන්න.

   * * වෙනත් ග්‍රහයන්ගේ ගුරුත්වාකර්ෂණ බලපෑම හා අයනාංශයට එකතු විය යුතු දෝෂ නිමාන කොටස් ඇතුල් කොට නැතත් මෙමගින් ඔබේ උපන්  වේලාවට අදල ලග්න ස්ඵුථය හා ලග්නය ඉතා නිවැරදිව ලැබේ.ඔබ ලග්න මායිමකදී ඉපදී ඇති විට මින් ලැබෙන ලග්නය ඔබ භාවිතා කරන ලග්නයට ආසන්න ලග්නය විය හැක.

                            උපන් ලග්නය සෙවීමේ මෙම වැඩසටහන භාගත කරගැනීමට මෙතනින් යන්න(Download ASCENDIN File).

----------------------------------------------------------------------------------------------



#include<stdio.h>
#include<conio.h>
#include<math.h>

# define TRUE 1

extern double sqrt(), sin(), cos(), tan(), atan(), atan2(), fabs(), fmod();
double ps,pt,z1,z2,b6,s1,lat,longt,aya,obliq,sidtime,h6,G;
int ret = 0, page =1, line, r3[13], s3[13], varga[13][7];
double plnt[26];
char *ras[] = {"MESHA","VRUSHABA","MITHUNA","KATAKA","SINHA","KANNYA","THULA","VHUSCHIKA","DHANU","MAKARA","KUMBA","MEENA"};
long int LG;

long int jd(d,m,y)
long int d,m,y;
{
 long int j,a9,y9,m9,a1,b1,c1,d1,JDN;
 float b;

  a9 = (14-m)/12;
  y9 = y + 4800 - a9 ;
  m9 = m + 12*a9 -3 ;

  a1= (153*m9 +2)/5;
  b1 = y9/4;
  c1 = y9/100;
  d1 = y9/400;

  JDN = d + a1 + 365*y9 + b1 - c1 + d1 - 32045 ;

  j = JDN - 1720995 ;

 return(j);
 }


double fract(x)
double x;
{
    long int i;
    double y;

    i = x;
    y = x - i;
    return y;
}

ayan()
{
       plnt[0] = 22.460148 + 1.396042*b6 + 3.08e-4*b6*b6;
return 0;
}

bhav()
{
   double a0,b0,c0;
   int i;
   double bhavspl();

   aya = plnt[0];
   obliq = 23.452294 - 0.0130125 * b6;
   a0 = 24 * fract(0.2769 + 100.00214 * b6);
   b0 = h6 * 24 + 12;
   c0 = longt / 15;
   sidtime = 24 * fract( (a0+b0+c0) / 24);
   if (sidtime < 0)
       sidtime += 24.0;

   G = bhavspl(sidtime,lat);
   LG = G/30;

  printf("Ayanamsa        : %7.2lf\n", plnt[0]);
  printf("obliquity       : %7.2lf\n", obliq);
  printf("sideral Time    : %7.2lf\n\n", sidtime);
  printf("Ascendant Longitude    : %7.2lf \n",G);
  printf("Lagnaya     : %s \n",ras[LG]);
return 0;
}


double bhavspl(a0, c0)
double a0, c0;
{
  double r0, w0, b0, g0;

  r0 = aya;
  w0 = obliq * z2;
  b0 = a0 *15 + 90.0;
  if (b0 >= 360.0)
      b0 -= 360.0;
  a0 *= z1 /12;
  c0 *= z2;
  if (a0 == 0.0 && c0 == 0.0)
      return 90.0;
  g0 = atan(-cos(a0)/(sin(c0) * sin(w0)/cos(c0)+sin(a0)*cos(w0)));
  g0 /= z2;
  if (g0 < 0.0)
      g0 += 180.0;
  if (b0 -g0 > 75.0)
      g0 += 180.0;
      g0 -= r0;
  if (g0 < 0.0)
      g0 += 360.0;
  if (g0 > 360.0)
      g0 -= 360.0;
      return g0;
}


main()
{
long int d,m,y,j,h,mt,i ;
int latdeg, latmt, longdeg, longmt,an,bn;
double fract(), planet(),aa1,bb1 ;
char ns,ew;

ps = 0.0;
 pt = 0.0;
 z1 = 3.14159265359;
 z2 = z1/180;
 s1 = 99.99826;

printf("          PROGRAMMED BY :B.D. CHANDANA PRABATH\n");

printf("\n\n\n\nEnter Your Birth Day (Day.Month.Year)  Ex:- 1979/03/16 =16.3.1979  \n ");
 scanf("%ld.%ld.%ld", &d, &m, &y);
 printf("\n\n\n\n\nEnter Birth Time (h.mt) (24 hour)  Ex:- 10:31AM=10.31 , 10.31PM=22.31   \n ");
 scanf("%ld.%ld", &h, &mt);
 printf("\n\n\n\nEnter Birth city Latitude(latdeg.latmt n/s:)  Ex :- Kalutara=6.22 n  \n ");
 scanf("%d.%d %c", &latdeg, &latmt, &ns);
 printf("\n\n\n\nEnter Birth city Longitude(longdeg.longmt e/w:)  Ex:- Kalutara=79.58 e  \n ");
 scanf("%d.%d %c", &longdeg, &longmt, &ew);
 lat = (double)latdeg + (double)latmt / 60;
 if (ns == 'S' || ns == 's')
 lat = -lat;
 longt = (double)longdeg + (double)longmt / 60;
 if (ew == 'W' || ew == 'w')
 longt = -longt;

 j = jd(d,m,y);
 h6 = ((double)h + (double)mt / 60 - 17.5) / 24;
 b6 = (j - 694025 + h6) /36525;
 j = (j+4)%7;
 ayan();
 bhav();
 getch();
 return 0;
}


 


2 comments:

Sam said...

mama obe lipi godak kiyewwa..ewa itha watinawa..mata podi prashanayak thiyenawa..mama lankawen mage kendare pareeksha karalama kiwwa posi podi apala thiyenawa kiyala...mama denata inne Americawe..inna thena anuwa(akshansha deshansha wenas nisa) mata thiyena graha balapema wenas wenawada..? mama ahala thiyenawa eka correct karala handahana kiyawaganna puluwan kiyala..eka eththada?

Sam said...

lankawedi balapu kendarayakin kiyana graha apala, den Americawe inna kenekta wenas widiyatada balapane?

Related Posts Plugin for WordPress, Blogger...