本文整理汇总了C++中DayTime::secOfDay方法的典型用法代码示例。如果您正苦于以下问题:C++ DayTime::secOfDay方法的具体用法?C++ DayTime::secOfDay怎么用?C++ DayTime::secOfDay使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DayTime
的用法示例。
在下文中一共展示了DayTime::secOfDay方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GMST
//------------------------------------------------------------------------------------
double GMST(DayTime t)
{
try {
// days' since epoch = +/-(integer+0.5)
double days = t.JD() - 2451545;
int d=int(days);
if(d < 0 && days==double(d)) d++;
days = d + (days<0.0 ? -0.5 : 0.5);
double Tp = days/36525.0;
// Compute GMST
double G;
//G = 24060.0 + 50.54841 + 8640184.812866*Tp; // seconds (24060s = 6h 41min)
//G /= 86400.0; // instead, divide the above equation by 86400.0 manually...
G = 0.27847222 + 0.00058505104167 + 100.0021390378009*Tp;
G += (0.093104 - 6.2e-6*Tp)*Tp*Tp/86400.0; // seconds/86400 = circles
double r=1.002737909350795 + (5.9006e-11 - 5.9e-15*Tp)*Tp;
G += r*t.secOfDay()/86400.0; // circles
G *= 360.0; // degrees
//G = fmod(G,360.0);
//if(G < -180.0) G += 360.0;
//if(G > 180.0) G -= 360.0;
return G;
}
catch(Exception& e) { GPSTK_RETHROW(e); }
catch(exception& e) { Exception E("std except: "+string(e.what())); GPSTK_THROW(E); }
catch(...) { Exception e("Unknown exception"); GPSTK_THROW(e); }
}