žçÀÇ À§Ä¡ÀÇ °è»ê


ÇÔ¼ö¸í
solarPos  žçÀÇ È²°æ, Áö½É °Å¸®¸¦ °è»êÇÑ´Ù
Çü½Ä
long solarPos(double *lng, long j, double d);
Àμö
lng  (Ãâ·Â) Ȳ°æ(´ÜÀ§, ¹ø)
j    (ÀÔ·Â) ¼¼°è Ç¥ÁؽúÎÅÍ È¯»êÇÑ À¯¸®¿ì½ºÀÏÀÇ Á¤¼ö ºÎºÐ
d    (ÀÔ·Â) ¼¼°è Ç¥ÁؽúÎÅÍ È¯»êÇÑ À¯¸®¿ì½ºÀÏÀÇ ¼Ò¼ö ºÎºÐ
ÇÔ¼öÄ¡
Áö½É °Å¸®(Áö±¸¡¤Å¾ç Á߽ɰ£ÀÇ °Å¸®)(´ÜÀ§, ų·Î¡¤¹ÌÅÍ)
ÁÖÀÇ »çÇ×
¼öÇÐ ¶óÀ̺귯¸® cos()°¡ ÇÊ¿ä.

¿ë·Ê(solarPos-test.c )
double lng;
solarPos(&lng, i2450266L, 0.0);

ÇÁ·Î±×·¥(solarPos.c )
long solarPos(double *lng, long j, double d)
{
    typedef struct { double k, a, b; } TBL;
    static TBL l[16] = {
    {  1.9147,  35999.05, 267.52 }, { -0. 0048,  35999.05, 267.52 },
    {  0.0200,  71998.1,  265.1  }, {  0.0020,  32964.0,  158.0  },
    {  0.0018,     19.0,  159.0  }, {  0.0018, 445267.0,  208.0  },
    {  0.0015,  45038.0,  254.0  }, {  0.0013,  22519.0,  352.0  },
    {  0.0007,  65929.0,   45.0  }, {  0.0007,   3035.0,  110.0  },
    {  0.0007,   9038.0,   64.0  }, {  0.0006,  33718.0,  316.0  },
    {  0.0005,    155.0,  118.0  }, {  0.0005,   2281.0,  221.0  },
    {  0.0004,  29930.0,   48.0  }, {  0.0004,  31557.0,  161.0  }};
    static TBL c[8] = {
    {  0.016706,  35999.05, 177.53 }, { -0. 000042,  35999.05, 177.53 },
    {  0.000139,  71998.0,  175.0  }, {  0.000031, 445267.0,  298.0  },
    {  0.000016,  32964.0,   68.0  }, {  0.000016,  45038.0,  164.0  },
    {  0.000005,  22519.0,  233.0  }, {  0.000005,  33718.0,  226.0  }};
    int i;
    double s, t, r;

    t = (j + d - 2451545.0)/36525. 0;
    s = 280.4659 + 36000.7695 * t;
    for (i = 0; i < 16; i++) {
        r = l[i]. a * t + l[i]. b;
        s += l[i]. k * cos(r * 0.017453292519943);
    }
    while (s < 0) s += 360.0;
    while (s >= 360.0) s-= 360.0;
    *lng = s;

    s = 1.000140;
    for (i = 0; i < 8; i++) {
        r = c[i]. a * t + c[i]. b;
        s += c[i]. k * cos(r * 0.017453292519943);
    }
    return (long)(s * 149597870.0);
}
¼³¸í
Áö±¸·ÎºÎÅÍ °üÂûÇϸé(ÀÚ), žçÀº Ç×¼ºÀÇ »çÀÌÀÇ, Á¤ÇØÁø ±æ À§¸¦ µ¿ ÀÖ°í (ÀÌ)¶ó°í ÀÖ´Ù. žçÀÌ Åë°úÇÏ´Â ±æÀ» Ȳµµ¶ó°í ÇÑ´Ù. µû¶ó¼­, žçÀÇ È²À§´Â °ÅÀÇ 0 ÀÌ´Ù. ¶Ç, Ȳ°æÀÇ 0 ¹ø°ú´Â ÃáºÐÁ¡¿¡ žçÀÌ ÀÖ´Â (°÷)Áß¿¡ ÀÖ´Ù.

Áö±Ý »ç¿ëµÇ°í Àִ žç·ÂÀ¸·Î´Â, ¸Å³â 2¿ù 4 È÷Ÿġº½Àº Ȳ°æ 315µµ, 3¿ù 21ÀÏ ÃáºÐÀº 0 ¹ø, 6¿ù 22ÀÏ ÇÏÁö´Â 90¹ø, 8¿ù 8 È÷Ÿġ°¡À»Àº 180¹ø, 9¿ù 24ÀÏ ÃߺÐÀº 180¹ø, 12¿ù 22ÀÏ µ¿Áö´Â 270¹ø.

º»ÇÁ·Î±×·¥À» »ç¿ëÇϸé(ÀÚ), ¾î´À °¢ÀÇ Å¾çÀÇ È²°æ ¹× Áö±¸±îÁöÀÇ °Å¸®°¡ ¾È´Ù.

µ¡ºÙ¿© ÀϺ» ½Ã°£ JST¸¦ ¼¼°è Ç¥Áؽà UT·Î °íÄ¡·Á¸é , UT = JST - 9 ·Î °è»ê ÁÁ´Ù.

°ü·Ã ÇÔ¼ö
¼¼°è Ç¥Áؽø¦ À¯¸®¿ì½ºÀϷΠȯ»êÇÑ´Ù