亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
99re8在线精品视频免费播放| 韩日av一区二区| 日韩欧美在线网站| 粉嫩久久99精品久久久久久夜| 91久久奴性调教| 久久国产日韩欧美精品| 亚洲天堂成人网| 精品日本一线二线三线不卡| 色一情一乱一乱一91av| 国产一区二区三区日韩| 亚洲国产毛片aaaaa无费看| 欧美精彩视频一区二区三区| 欧美一区二区视频在线观看2020| 日韩av一区二区在线影视| 亚洲欧洲综合另类在线| 国产日韩欧美综合在线| 日韩一区二区不卡| 91久久精品国产91性色tv| 波多野结衣亚洲| 国产精品一区二区在线看| 久久99国产精品尤物| 日韩精品色哟哟| 午夜视频一区在线观看| 亚洲精品视频在线观看网站| 国产精品久久三| 中文欧美字幕免费| 久久久久9999亚洲精品| 日韩欧美的一区二区| 欧美日韩在线不卡| 91色在线porny| 国产精品综合二区| 免费成人小视频| 日韩美女精品在线| 日韩精品一区二区三区视频播放 | 欧美久久久一区| 成人av先锋影音| 国产乱妇无码大片在线观看| 亚洲午夜一二三区视频| 久久精品一区四区| 日韩欧美激情一区| 欧美日韩国产小视频| 91丨九色丨黑人外教| 成人综合婷婷国产精品久久蜜臀| 久久夜色精品国产欧美乱极品| 国产专区综合网| 人人狠狠综合久久亚洲| 亚洲国产成人va在线观看天堂| 欧美丰满高潮xxxx喷水动漫| 色婷婷久久久亚洲一区二区三区| 一区二区三区精品视频在线| 国产精品国产三级国产aⅴ原创| av中文一区二区三区| 高清beeg欧美| 国产91对白在线观看九色| 精品亚洲成a人在线观看| 麻豆视频观看网址久久| 日本午夜一本久久久综合| 亚洲大片免费看| 午夜欧美视频在线观看 | 欧美一级理论片| 欧美精品自拍偷拍| 91麻豆精品国产无毒不卡在线观看| 久久国产精品露脸对白| 麻豆国产一区二区| 免播放器亚洲一区| 韩国女主播成人在线观看| 国产制服丝袜一区| 激情欧美一区二区| 国产精品一区二区x88av| 国产成人在线色| 99国产精品久久久久久久久久| 日韩电影免费在线观看网站| 免费在线成人网| 国产精品综合久久| 暴力调教一区二区三区| 欧美自拍丝袜亚洲| 6080国产精品一区二区| 欧美午夜不卡视频| 欧美精品tushy高清| 国产亚洲欧美色| 一区二区三区在线视频观看 | 国内成人精品2018免费看| 蜜桃传媒麻豆第一区在线观看| 国产亚洲va综合人人澡精品| 亚洲国产精品99久久久久久久久| 一本色道久久综合狠狠躁的推荐| 日韩精品欧美精品| 久久爱www久久做| av色综合久久天堂av综合| 在线免费不卡电影| 精品剧情v国产在线观看在线| 欧美日韩成人一区| 2021国产精品久久精品| 18欧美亚洲精品| 三级在线观看一区二区| 日本不卡一区二区三区| 婷婷激情综合网| 国产一区二区三区高清播放| 色婷婷久久久综合中文字幕| 日韩欧美国产综合在线一区二区三区| 色猫猫国产区一区二在线视频| 天堂va蜜桃一区二区三区| 国产精品伊人色| 欧美日韩久久久| 国产欧美日韩综合| 亚洲成av人影院| 成人午夜视频在线| 欧美精品自拍偷拍| 国产午夜亚洲精品理论片色戒| 欧美一区二区美女| 欧美经典一区二区| 丝袜美腿成人在线| 成人精品在线视频观看| 欧美一区二区美女| 亚洲午夜影视影院在线观看| 国产精品一区二区久久精品爱涩| 国产精品一区二区在线观看网站 | 久久老女人爱爱| 一区二区三区小说| 国产一区不卡视频| 欧美高清dvd| 亚洲男人的天堂一区二区| 久久成人免费网站| 日本韩国精品在线| 日本一二三四高清不卡| 麻豆视频一区二区| 欧美精品一卡两卡| 亚洲精品中文在线观看| 国产精品综合二区| 在线电影国产精品| 夜色激情一区二区| 成人免费看视频| 久久免费电影网| 狠狠狠色丁香婷婷综合久久五月| 国模少妇一区二区三区| 欧美嫩在线观看| 亚洲一区二区视频在线观看| av午夜一区麻豆| 国产精品乱人伦| 国产福利91精品| 欧美日韩免费一区二区三区视频 | 性久久久久久久久久久久| 91在线无精精品入口| 久久嫩草精品久久久精品一| 日韩成人一区二区| 99re热这里只有精品视频| 久久久久久久久免费| 国产一区二区三区不卡在线观看| 91蝌蚪porny成人天涯| 日韩毛片高清在线播放| jlzzjlzz欧美大全| 国产精品高潮久久久久无| 成人免费电影视频| 亚洲国产精品高清| 成人高清视频在线观看| 国产精品色眯眯| fc2成人免费人成在线观看播放| 精品污污网站免费看| 亚洲曰韩产成在线| 欧美午夜电影网| 首页国产丝袜综合| 欧美性生活大片视频| 三级欧美韩日大片在线看| 欧美电影一区二区| 日韩不卡一区二区三区 | 91精品办公室少妇高潮对白| 国产精品美女www爽爽爽| 成人三级伦理片| 麻豆精品在线看| 日韩亚洲电影在线| 精品一区二区三区免费观看| 久久久亚洲精品石原莉奈| 国产成人av一区二区| 国产欧美精品一区| 99在线精品免费| 亚洲一区二区三区在线| 欧美另类z0zxhd电影| 蜜臀91精品一区二区三区| 久久美女艺术照精彩视频福利播放| 中文字幕一区二区在线播放| 一本一道久久a久久精品综合蜜臀| 精品对白一区国产伦| 国产成a人亚洲| 成人免费小视频| 欧美理论在线播放| 国产精品99久久久久久久vr| 综合久久久久久| 4hu四虎永久在线影院成人| 韩国女主播一区| 亚洲女与黑人做爰| 日韩午夜av电影| 成人精品鲁一区一区二区| 亚洲人被黑人高潮完整版| 欧美亚洲日本一区| 国产一区二区0| 一区二区国产视频| 精品少妇一区二区三区视频免付费| 亚洲成人高清在线| 久久免费偷拍视频| 欧美三级韩国三级日本三斤|