亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sgp4unit.cpp

?? NORAD公布的兩行星歷數據計算軌道參數模型
?? CPP
?? 第 1 頁 / 共 5 頁
字號:
/*     ----------------------------------------------------------------
*
*                               sgp4unit.cpp
*
*    this file contains the sgp4 procedures for analytical propagation
*    of a satellite. the code was originally released in the 1980 and 1986
*    spacetrack papers. a detailed discussion of the theory and history
*    may be found in the 2006 aiaa paper by vallado, crawford, hujsak,
*    and kelso.
*
*                            companion code for
*               fundamentals of astrodynamics and applications
*                                    2007
*                              by david vallado
*
*       (w) 719-573-2600, email dvallado@agi.com
*
*    current :
*              16 nov 07  david vallado
*                           misc fixes for better compliance
*    changes :
*              20 apr 07  david vallado
*                           misc fixes for constants
*              11 aug 06  david vallado
*                           chg lyddane choice back to strn3, constants, misc doc
*              15 dec 05  david vallado
*                           misc fixes
*              26 jul 05  david vallado
*                           fixes for paper
*                           note that each fix is preceded by a
*                           comment with "sgp4fix" and an explanation of
*                           what was changed
*              10 aug 04  david vallado
*                           2nd printing baseline working
*              14 may 01  david vallado
*                           2nd edition baseline
*                     80  norad
*                           original baseline
*       ----------------------------------------------------------------      */

#include "sgp4unit.h"

const char help = 'n';
FILE *dbgfile;

#define pi 3.14159265358979323846


/* ----------- local functions - only ever used internally by sgp4 ---------- */
static void dpper
     (
       double e3,     double ee2,    double peo,     double pgho,   double pho,
       double pinco,  double plo,    double se2,     double se3,    double sgh2,
       double sgh3,   double sgh4,   double sh2,     double sh3,    double si2,
       double si3,    double sl2,    double sl3,     double sl4,    double t,
       double xgh2,   double xgh3,   double xgh4,    double xh2,    double xh3,
       double xi2,    double xi3,    double xl2,     double xl3,    double xl4,
       double zmol,   double zmos,   double inclo,
       char init,
       double& ep,    double& inclp, double& nodep,  double& argpp, double& mp
     );

static void dscom
     (
       double epoch,  double ep,     double argpp,   double tc,     double inclp,
       double nodep,  double np,
       double& snodm, double& cnodm, double& sinim,  double& cosim, double& sinomm,
       double& cosomm,double& day,   double& e3,     double& ee2,   double& em,
       double& emsq,  double& gam,   double& peo,    double& pgho,  double& pho,
       double& pinco, double& plo,   double& rtemsq, double& se2,   double& se3,
       double& sgh2,  double& sgh3,  double& sgh4,   double& sh2,   double& sh3,
       double& si2,   double& si3,   double& sl2,    double& sl3,   double& sl4,
       double& s1,    double& s2,    double& s3,     double& s4,    double& s5,
       double& s6,    double& s7,    double& ss1,    double& ss2,   double& ss3,
       double& ss4,   double& ss5,   double& ss6,    double& ss7,   double& sz1,
       double& sz2,   double& sz3,   double& sz11,   double& sz12,  double& sz13,
       double& sz21,  double& sz22,  double& sz23,   double& sz31,  double& sz32,
       double& sz33,  double& xgh2,  double& xgh3,   double& xgh4,  double& xh2,
       double& xh3,   double& xi2,   double& xi3,    double& xl2,   double& xl3,
       double& xl4,   double& nm,    double& z1,     double& z2,    double& z3,
       double& z11,   double& z12,   double& z13,    double& z21,   double& z22,
       double& z23,   double& z31,   double& z32,    double& z33,   double& zmol,
       double& zmos
     );

static void dsinit
     (
       gravconsttype whichconst,
       double cosim,  double emsq,   double argpo,   double s1,     double s2,
       double s3,     double s4,     double s5,      double sinim,  double ss1,
       double ss2,    double ss3,    double ss4,     double ss5,    double sz1,
       double sz3,    double sz11,   double sz13,    double sz21,   double sz23,
       double sz31,   double sz33,   double t,       double tc,     double gsto,
       double mo,     double mdot,   double no,      double nodeo,  double nodedot,
       double xpidot, double z1,     double z3,      double z11,    double z13,
       double z21,    double z23,    double z31,     double z33,    double ecco,
       double eccsq,  double& em,    double& argpm,  double& inclm, double& mm,
       double& nm,    double& nodem,
       int& irez,
       double& atime, double& d2201, double& d2211,  double& d3210, double& d3222,
       double& d4410, double& d4422, double& d5220,  double& d5232, double& d5421,
       double& d5433, double& dedt,  double& didt,   double& dmdt,  double& dndt,
       double& dnodt, double& domdt, double& del1,   double& del2,  double& del3,
       double& xfact, double& xlamo, double& xli,    double& xni
     );

static void dspace
     (
       int irez,
       double d2201,  double d2211,  double d3210,   double d3222,  double d4410,
       double d4422,  double d5220,  double d5232,   double d5421,  double d5433,
       double dedt,   double del1,   double del2,    double del3,   double didt,
       double dmdt,   double dnodt,  double domdt,   double argpo,  double argpdot,
       double t,      double tc,     double gsto,    double xfact,  double xlamo,
       double no,
       double& atime, double& em,    double& argpm,  double& inclm, double& xli,
       double& mm,    double& xni,   double& nodem,  double& dndt,  double& nm
     );

static void initl
     (
       int satn,      gravconsttype whichconst,
       double ecco,   double epoch,  double inclo,   double& no,
       char& method,
       double& ainv,  double& ao,    double& con41,  double& con42, double& cosio,
       double& cosio2,double& eccsq, double& omeosq, double& posq,
       double& rp,    double& rteosq,double& sinio , double& gsto
     );

/* -----------------------------------------------------------------------------
*
*                           procedure dpper
*
*  this procedure provides deep space long period periodic contributions
*    to the mean elements.  by design, these periodics are zero at epoch.
*    this used to be dscom which included initialization, but it's really a
*    recurring function.
*
*  author        : david vallado                  719-573-2600   28 jun 2005
*
*  inputs        :
*    e3          -
*    ee2         -
*    peo         -
*    pgho        -
*    pho         -
*    pinco       -
*    plo         -
*    se2 , se3 , sgh2, sgh3, sgh4, sh2, sh3, si2, si3, sl2, sl3, sl4 -
*    t           -
*    xh2, xh3, xi2, xi3, xl2, xl3, xl4 -
*    zmol        -
*    zmos        -
*    ep          - eccentricity                           0.0 - 1.0
*    inclo       - inclination - needed for lyddane modification
*    nodep       - right ascension of ascending node
*    argpp       - argument of perigee
*    mp          - mean anomaly
*
*  outputs       :
*    ep          - eccentricity                           0.0 - 1.0
*    inclp       - inclination
*    nodep        - right ascension of ascending node
*    argpp       - argument of perigee
*    mp          - mean anomaly
*
*  locals        :
*    alfdp       -
*    betdp       -
*    cosip  , sinip  , cosop  , sinop  ,
*    dalf        -
*    dbet        -
*    dls         -
*    f2, f3      -
*    pe          -
*    pgh         -
*    ph          -
*    pinc        -
*    pl          -
*    sel   , ses   , sghl  , sghs  , shl   , shs   , sil   , sinzf , sis   ,
*    sll   , sls
*    xls         -
*    xnoh        -
*    zf          -
*    zm          -
*
*  coupling      :
*    none.
*
*  references    :
*    hoots, roehrich, norad spacetrack report #3 1980
*    hoots, norad spacetrack report #6 1986
*    hoots, schumacher and glover 2004
*    vallado, crawford, hujsak, kelso  2006
  ----------------------------------------------------------------------------*/

static void dpper
     (
       double e3,     double ee2,    double peo,     double pgho,   double pho,
       double pinco,  double plo,    double se2,     double se3,    double sgh2,
       double sgh3,   double sgh4,   double sh2,     double sh3,    double si2,
       double si3,    double sl2,    double sl3,     double sl4,    double t,
       double xgh2,   double xgh3,   double xgh4,    double xh2,    double xh3,
       double xi2,    double xi3,    double xl2,     double xl3,    double xl4,
       double zmol,   double zmos,   double inclo,
       char init,
       double& ep,    double& inclp, double& nodep,  double& argpp, double& mp
     )
{
     /* --------------------- local variables ------------------------ */
     const double twopi = 2.0 * pi;
     double alfdp, betdp, cosip, cosop, dalf, dbet, dls,
          f2,    f3,    pe,    pgh,   ph,   pinc, pl ,
          sel,   ses,   sghl,  sghs,  shll, shs,  sil,
          sinip, sinop, sinzf, sis,   sll,  sls,  xls,
          xnoh,  zf,    zm,    zel,   zes,  znl,  zns;

     /* ---------------------- constants ----------------------------- */
     zns   = 1.19459e-5;
     zes   = 0.01675;
     znl   = 1.5835218e-4;
     zel   = 0.05490;

     /* --------------- calculate time varying periodics ----------- */
     zm    = zmos + zns * t;
     // be sure that the initial call has time set to zero
     if (init == 'y')
         zm = zmos;
     zf    = zm + 2.0 * zes * sin(zm);
     sinzf = sin(zf);
     f2    =  0.5 * sinzf * sinzf - 0.25;
     f3    = -0.5 * sinzf * cos(zf);
     ses   = se2* f2 + se3 * f3;
     sis   = si2 * f2 + si3 * f3;
     sls   = sl2 * f2 + sl3 * f3 + sl4 * sinzf;
     sghs  = sgh2 * f2 + sgh3 * f3 + sgh4 * sinzf;
     shs   = sh2 * f2 + sh3 * f3;
     zm    = zmol + znl * t;
     if (init == 'y')
         zm = zmol;
     zf    = zm + 2.0 * zel * sin(zm);
     sinzf = sin(zf);
     f2    =  0.5 * sinzf * sinzf - 0.25;
     f3    = -0.5 * sinzf * cos(zf);
     sel   = ee2 * f2 + e3 * f3;
     sil   = xi2 * f2 + xi3 * f3;
     sll   = xl2 * f2 + xl3 * f3 + xl4 * sinzf;
     sghl  = xgh2 * f2 + xgh3 * f3 + xgh4 * sinzf;
     shll  = xh2 * f2 + xh3 * f3;
     pe    = ses + sel;
     pinc  = sis + sil;
     pl    = sls + sll;
     pgh   = sghs + sghl;
     ph    = shs + shll;

     if (init == 'n')
       {
       pe    = pe - peo;
       pinc  = pinc - pinco;
       pl    = pl - plo;
       pgh   = pgh - pgho;
       ph    = ph - pho;
       inclp = inclp + pinc;
       ep    = ep + pe;
       sinip = sin(inclp);
       cosip = cos(inclp);

       /* ----------------- apply periodics directly ------------ */
       //  sgp4fix for lyddane choice
       //  strn3 used original inclination - this is technically feasible
       //  gsfc used perturbed inclination - also technically feasible
       //  probably best to readjust the 0.2 limit value and limit discontinuity
       //  0.2 rad = 11.45916 deg
       //  use next line for original strn3 approach and original inclination
       //  if (inclo >= 0.2)
       //  use next line for gsfc version and perturbed inclination
       if (inclp >= 0.2)
         {
           ph     = ph / sinip;
           pgh    = pgh - cosip * ph;
           argpp  = argpp + pgh;
           nodep  = nodep + ph;
           mp     = mp + pl;
         }
         else
         {
           /* ---- apply periodics with lyddane modification ---- */
           sinop  = sin(nodep);
           cosop  = cos(nodep);
           alfdp  = sinip * sinop;
           betdp  = sinip * cosop;
           dalf   =  ph * cosop + pinc * cosip * sinop;
           dbet   = -ph * sinop + pinc * cosip * cosop;
           alfdp  = alfdp + dalf;
           betdp  = betdp + dbet;
           nodep  = fmod(nodep, twopi);
           //  sgp4fix for afspc written intrinsic functions
           // nodep used without a trigonometric function ahead
           if (nodep < 0.0)
               nodep = nodep + twopi;
           xls    = mp + argpp + cosip * nodep;
           dls    = pl + pgh - pinc * nodep * sinip;
           xls    = xls + dls;
           xnoh   = nodep;
           nodep  = atan2(alfdp, betdp);
           //  sgp4fix for afspc written intrinsic functions
           // nodep used without a trigonometric function ahead
           if (nodep < 0.0)
               nodep = nodep + twopi;
           if (fabs(xnoh - nodep) > pi)
             if (nodep < xnoh)
                nodep = nodep + twopi;
               else
                nodep = nodep - twopi;
           mp    = mp + pl;
           argpp = xls - mp - cosip * nodep;
         }
       }   // if init == 'n'

//#include "debug1.cpp"
}  // end dpper

/*-----------------------------------------------------------------------------

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美三级一区二区| 欧美亚洲综合久久| 日韩精品视频网站| 国产精品日韩成人| 精品久久久久久久久久久久久久久| 91一区一区三区| 成人午夜精品一区二区三区| 久久精品国产99国产精品| 国产精品女同互慰在线看| 欧美电影免费观看完整版| 欧美日韩高清一区二区三区| av福利精品导航| 99精品久久免费看蜜臀剧情介绍| 国产一区二区三区在线观看精品| 亚洲成人一区二区| 日本中文字幕一区二区有限公司| 天堂午夜影视日韩欧美一区二区| 美洲天堂一区二卡三卡四卡视频| 亚洲国产wwwccc36天堂| 亚洲一区二区三区四区在线免费观看| 一区二区久久久久久| 亚洲国产成人va在线观看天堂| 亚洲一线二线三线久久久| 亚洲v精品v日韩v欧美v专区| 亚洲成在人线在线播放| 日韩av在线发布| 精品午夜一区二区三区在线观看| 极品少妇xxxx精品少妇偷拍| 国产另类ts人妖一区二区| 国产99一区视频免费| 日本高清免费不卡视频| 宅男噜噜噜66一区二区66| 久久久蜜桃精品| 一区二区三区毛片| 免费在线观看成人| 91色在线porny| 日韩女优制服丝袜电影| 亚洲乱码国产乱码精品精可以看| 午夜精品福利久久久| a美女胸又www黄视频久久| 51精品国自产在线| 一区二区三区四区不卡在线| 精品制服美女久久| 欧美亚洲动漫另类| 亚洲成a人片在线不卡一二三区| 亚洲高清免费视频| jlzzjlzz欧美大全| 精品国产一区二区精华| 一区二区三区久久久| 国产一区二区不卡在线| 欧美日韩精品免费| 亚洲综合视频在线观看| yourporn久久国产精品| 久久先锋影音av| 精品一区二区三区免费观看| 91天堂素人约啪| 中文字幕第一页久久| 国产一区二区三区四区五区入口| 欧美高清视频一二三区| 亚洲成人免费av| 欧美日韩在线免费视频| 亚洲欧美国产三级| 在线中文字幕一区二区| 久久久久久久久岛国免费| 蜜桃免费网站一区二区三区| 欧美色电影在线| 亚洲电影视频在线| 欧美在线视频不卡| 视频一区视频二区中文字幕| 欧美日韩亚洲国产综合| 亚洲综合色视频| 91国产免费观看| 亚洲国产精品尤物yw在线观看| 欧美在线高清视频| 日韩成人免费在线| 亚洲国产精品久久人人爱蜜臀| 91色.com| 毛片av一区二区| 国产欧美一区二区精品性色超碰| 国产一本一道久久香蕉| 欧美激情一区二区三区不卡 | 亚洲高清免费在线| 日韩精品中文字幕一区| 国产乱码一区二区三区| 中文av一区二区| 欧美国产精品中文字幕| 在线观看av不卡| 国产成人亚洲综合a∨猫咪| 国产精品成人免费| 91麻豆精品国产| 国产成人啪免费观看软件| 亚洲免费观看在线视频| 日韩午夜三级在线| 色综合天天综合| 国产在线不卡视频| 亚洲地区一二三色| 国产精品嫩草影院com| 欧美裸体一区二区三区| 91免费小视频| 狠狠色狠狠色合久久伊人| 夜夜嗨av一区二区三区 | 欧美亚洲高清一区二区三区不卡| 久久精品99国产精品| 亚洲同性gay激情无套| 久久先锋资源网| 91精品国产综合久久香蕉的特点| 波多野结衣中文字幕一区 | 国产精品大尺度| 久久久av毛片精品| 日韩欧美专区在线| 亚洲男人都懂的| 久久久精品人体av艺术| 欧美一区二区观看视频| 色哟哟一区二区在线观看| 国产一区二区三区四| 国产一区二区调教| 狠狠色丁香婷综合久久| 精品在线播放免费| 免费一级欧美片在线观看| 婷婷成人综合网| 伦理电影国产精品| 国产乱码字幕精品高清av| 国产精品一区二区果冻传媒| 久久疯狂做爰流白浆xx| 国产精品66部| 成人一区二区视频| 91伊人久久大香线蕉| 精品视频一区三区九区| 欧美区视频在线观看| 欧美日韩成人激情| 久久综合给合久久狠狠狠97色69| 欧美精品一区二区久久婷婷| 欧美一级二级三级乱码| 99在线精品一区二区三区| 欧美视频一区二区三区在线观看| 911精品国产一区二区在线| 精品国内片67194| 亚洲欧洲av另类| 麻豆视频观看网址久久| 成人午夜在线播放| 欧美妇女性影城| 国产精品无圣光一区二区| 亚洲一区二区成人在线观看| 久久99国产精品久久| 91在线国产福利| 精品日韩欧美在线| 亚洲曰韩产成在线| 成人精品国产一区二区4080| 日韩一区二区三免费高清| 亚洲欧美另类图片小说| 一本久道中文字幕精品亚洲嫩| 欧美熟乱第一页| 中文字幕av一区 二区| 日韩黄色一级片| 欧洲精品中文字幕| 中文字幕日韩欧美一区二区三区| 美女视频黄久久| 在线观看av一区| 一区二区视频在线| 成人理论电影网| 日韩精品中午字幕| 日本在线不卡一区| 亚洲成人动漫在线免费观看| 欧美大片日本大片免费观看| 91蜜桃网址入口| 成人av午夜影院| 国产一区二区精品久久91| 亚洲精品美腿丝袜| 亚洲男同性视频| 久久精品视频免费观看| 日韩一区二区三区视频| 91精品国产综合久久福利软件| 欧美日韩一本到| 日韩一级大片在线观看| 欧美在线色视频| 67194成人在线观看| 91麻豆精品国产| 久久亚洲欧美国产精品乐播| 欧洲一区二区av| 日韩一级片在线播放| 国产精品日韩成人| 日韩精品成人一区二区在线| 国产一区二区中文字幕| 色婷婷综合激情| 精品成人一区二区三区四区| 国产日韩欧美电影| 亚洲成人先锋电影| 国内久久精品视频| 一本久久精品一区二区| 精品粉嫩aⅴ一区二区三区四区| 亚洲少妇中出一区| 久久国产精品第一页| 粉嫩久久99精品久久久久久夜| 欧美性淫爽ww久久久久无| 久久久天堂av| 日韩中文字幕1| 在线视频国内一区二区| 久久久久99精品国产片| 亚洲综合在线电影| 成人黄色777网|