🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
Constants.h
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24
25AST_NAMESPACE_BEGIN
26
27
33// 时间系统常量
34
35constexpr double kJ1900Epoch = 2415020.0;
36constexpr double kJ1950Epoch = 2433282.5;
37constexpr double kJ2000Epoch = 2451545.0;
38constexpr double kJ2100Epoch = 2488070.0;
39
40constexpr double kB1900Epoch = 2415020.31352;
41// 原本定义为 2433282.4234591, 后改为SPICE中的定义 2433282.42345905
42constexpr double kB1950Epoch = 2433282.42345905;
43
44
45constexpr double kTTMinusTAI = 32.184;
46constexpr double kGPSMinusTAI = 19.0;
47constexpr double kTTMinusTAIInDay = 32.184/86400;
48constexpr double kMJDRefEpoch = 2400000.5;
49
50
51// pi相关常量
52
53constexpr double kPI = 3.141592653589793238462643383279502884197169399375105;
54constexpr double kTwoPI = 6.283185307179586476925286766558 ;
55constexpr double kFourPI = 12.566370614359172953850573533116 ;
56constexpr double kHalfPI = 1.5707963267948966192313216916395 ;
57constexpr double kThirdPI = 1.047197551196597746154214461093 ;
58constexpr double kQuarterPI = 0.78539816339744830961566084581975 ;
59constexpr double kSqrPI = 9.869604401089358618834490999873 ;
60
61
62// 天文常量
63
64constexpr double kAU = 1.49597870691e11;
65constexpr double kLightSpeed = 2.99792458e8;
66constexpr double kGrav = 6.673e-11;
67
68
69// 地球相关常量
70
71constexpr double kEarthGrav = 3.986004418e14;
72constexpr double kEarthGrav_EGM2008 = 3.986004415e14;
73constexpr double kEarthRadius = 6378137.0;
74constexpr double kEarthMinRadius = 6.35675231424E6;
75constexpr double kEarthFlatFact = 3.35281066475E-3;
76constexpr double kEarthSiderealDay = 86164.09054;
77constexpr double kEarthSiderealYear = 365.25636;
78
79// constexpr double kEarthAngVel = 7.2921151467e-5; ///< 地球标称平均角速度 (WGS84) [rad/s](kTwoPI/86164.0919)
80constexpr double kEarthAngVel = 7.292115146706979e-5;
81
82// @fixme 这里应该使用恒星日吧
83// constexpr double kEarthMeanMotion = 1.9910643985790994404796035026544e-7; ///< 地球公转平均角速度 (2pi/365.2420897/86400) rad/sec
84// constexpr double kEarthMeanMotion = kTwoPI / (kEarthSiderealYear * 86400);
85
86
87// 月球相关常量
88
89constexpr double kMoonGrav = 4.9028029535968e+12;
90constexpr double kMoonRadius = 1737400.0;
91constexpr double kMoonMinRadius = 1737400.0;
92
93
94// 木星相关常量
95
96constexpr double kJupiterGrav = 1.26712000000000e+017;
97constexpr double kJupiterRadius = 7.14920000000000e+007;
98constexpr double kJupiterMinRadius = 6.68540000000000e+007;
99
100// 火星相关常量
101
102constexpr double kMarsGrav = 4.28283719012840e+013;
103constexpr double kMarsRadius = 3.39700000000000e+006;
104constexpr double kMarsMinRadius = 3.37500000000000e+006;
105
106
107// 水星相关常量
108
109constexpr double kMercuryGrav = 2.20320800000000e+013;
110constexpr double kMercuryRadius = 2.43970000000000e+006;
111constexpr double kMercuryMinRadius = 2.43970000000000e+006;
112
113
114// 海王星相关常量
115
116constexpr double kNeptuneGrav = 6.87130000000000e+015;
117constexpr double kNeptuneRadius = 2.52690000000000e+007;
118constexpr double kNeptuneMinRadius = 2.48000000000000e+007;
119
120
121// 冥王星相关常量
122
123constexpr double kPlutoGrav = 1.00907600000000e+012;
124constexpr double kPlutoRadius = 1.16200000000000e+006;
125constexpr double kPlutoMinRadius = 1.16200000000000e+006;
126
127
128// 土星相关常量
129
130constexpr double kSaturnGrav = 3.79340000000000e+016;
131constexpr double kSaturnRadius = 6.02680000000000e+007;
132constexpr double kSaturnMinRadius = 5.43640000000000e+007;
133
134
135// 太阳相关常量
136
137constexpr double kSunGrav = 1.327122E20;
138constexpr double kSunRadius = 695990000.0;
139constexpr double kSunMinRadius = 695990000.0;
140
141
142
143// 天王星相关常量
144
145constexpr double kUranusGrav = 5.80320000000000e+015;
146constexpr double kUranusRadius = 2.55590000000000e+007;
147constexpr double kUranusMinRadius = 2.49730000000000e+007;
148
149
150// 金星相关常量
151
152constexpr double kVenusGrav = 3.24858800000000e+014;
153constexpr double kVenusRadius = 6.05190000000000e+006;
154constexpr double kVenusMinRadius = 6.05190000000000e+006;
155
156
157
158// 长度单位转换常数
159
160constexpr double kMeterToKilometer = 1.0e-03;
161constexpr double kMeterToCentimeter = 1.0e+02;
162constexpr double kMeterToMillimeter = 1.0e+03;
163constexpr double kMeterToMicroMeter = 1.0e+06;
164constexpr double kMeterToNanometer = 1.0e+09;
165
166constexpr double kKilometerToMeter = 1.0e03;
167constexpr double kCentimeterToMeter = 1.e-02;
168constexpr double kMillimeterToMeter = 1.e-03;
169constexpr double kMicroMeterToMeter = 1.e-06;
170constexpr double kNanometerToMeter = 1.e-09;
171
172// 时间单位转换常数
173
174constexpr double kSecToMin = 0.0166666666666666667;
175constexpr double kSecToHour = 0.000277777777777777778;
176constexpr double kSecToDay = 0.0000115740740740740741;
177
178constexpr double kMinToSec = 60.0;
179constexpr double kMinToHour = 0.0166666666666666667;
180constexpr double kMinToDay = 0.000694444444444444444;
181
182constexpr double kHourToSec = 3600.0;
183constexpr double kHourToMin = 60.0;
184constexpr double kHourToDay = 0.0416666666666666667;
185
186constexpr double kDayToSec = 8.64e04;
187constexpr double kDayToMin = 1440.0;
188constexpr double kDayToHour = 24.0;
189
190constexpr double kMilliSecToSec = 1.0e-03;
191constexpr double kMicroSecToSec = 1.0e-06;
192constexpr double kNanoSecToSec = 1.0e-09;
193constexpr double kPicoSecToSec = 1.0e-12;
194
195constexpr double kSecToMilliSec = 1.0e+03;
196constexpr double kSecToMicroSec = 1.0e+06;
197constexpr double kSecToNanoSec = 1.0e+09;
198constexpr double kSecToPicoSec = 1.0e+12;
199
200// 天数、秒数相关常量
201
202constexpr double kDaysPerJulianCentury = 36525.0;
203constexpr double kDaysPerJulianYear = 365.25;
204constexpr double kSecondsPerDay = 86400.0;
205constexpr double kSecondsPerHour = 3600.0;
206constexpr double kSecondsPerMinute = 60.0;
207constexpr double kSecondsPerJulianYear = 31557600.0;
208
209// 角度单位转换常数
210
211constexpr double kRadToDeg = 57.2957795130823208767;
212constexpr double kDegToRad = 0.017453292519943295769236907684886;
213constexpr double kArcSecToRad = 4.848136811095359935899141e-6;
214constexpr double kArcMinToRad = 2.9088820866572159615394846141477e-4;
215constexpr double kTimeSecToRad = 7.2722052166430399038487115353692e-5;
216constexpr double kTimeMinToRad = 0.0043633231299858239423092269212215;
217constexpr double kRevolutionToRad = kTwoPI;
218
219
223A_ALWAYS_INLINE double aLightSpeed() noexcept
224{
225 return kLightSpeed;
226}
227
228
232AST_NAMESPACE_END
constexpr double kMoonRadius
月球赤道半径 [m]. (IAU2000);
定义 Constants.h:90
constexpr double kEarthMinRadius
地球最小(南北极)半径 (WGS84)[m]
定义 Constants.h:74
constexpr double kSecToPicoSec
秒到皮秒
定义 Constants.h:198
constexpr double kSecondsPerMinute
一分钟的秒数
定义 Constants.h:206
constexpr double kCentimeterToMeter
厘米到米
定义 Constants.h:167
constexpr double kJ1900Epoch
J1900历元
定义 Constants.h:35
constexpr double kGrav
万有引力常数 [m^3/kg*s^2]
定义 Constants.h:66
constexpr double kMJDRefEpoch
简约儒略日的参考历元
定义 Constants.h:48
constexpr double kSunMinRadius
太阳最小半径
定义 Constants.h:139
constexpr double kArcSecToRad
弧秒到弧度 kDegToRad/3600.0 度分秒的秒
定义 Constants.h:213
constexpr double kRevolutionToRad
周期数到弧度 2.0 * kPI
定义 Constants.h:217
constexpr double kJupiterGrav
木星引力常数
定义 Constants.h:96
constexpr double kSecondsPerHour
一小时的秒数
定义 Constants.h:205
constexpr double kMarsGrav
火星引力常数(GMM2B)
定义 Constants.h:102
constexpr double kQuarterPI
PI/4
定义 Constants.h:58
constexpr double kSunGrav
太阳引力常数 [m^3/s^2]
定义 Constants.h:137
constexpr double kTimeMinToRad
时间分到弧度,时分秒的分
定义 Constants.h:216
constexpr double kTwoPI
2*PI
定义 Constants.h:54
constexpr double kMinToDay
分钟到天
定义 Constants.h:180
constexpr double kMercuryMinRadius
水星最小半径
定义 Constants.h:111
constexpr double kNeptuneGrav
海王星引力常数
定义 Constants.h:116
constexpr double kMercuryGrav
水星引力常数
定义 Constants.h:109
constexpr double kDaysPerJulianYear
儒略年天数
定义 Constants.h:203
constexpr double kKilometerToMeter
千米到米
定义 Constants.h:166
constexpr double kAU
天文单位 (IAU 1976)[m]
定义 Constants.h:64
constexpr double kMicroMeterToMeter
微米到米
定义 Constants.h:169
constexpr double kMeterToNanometer
米到纳米
定义 Constants.h:164
constexpr double kDayToHour
天到小时
定义 Constants.h:188
constexpr double kNanometerToMeter
纳米到米
定义 Constants.h:170
constexpr double kJ1950Epoch
J1950历元
定义 Constants.h:36
constexpr double kSecToDay
秒到天
定义 Constants.h:176
constexpr double kHourToDay
小时到天
定义 Constants.h:184
constexpr double kSaturnGrav
土星引力常数
定义 Constants.h:130
constexpr double kMoonGrav
月球引力常数 [m^3/s^2]. (GLGM2)
定义 Constants.h:89
constexpr double kPlutoGrav
冥王星引力常数
定义 Constants.h:123
constexpr double kHourToSec
小时到秒
定义 Constants.h:182
constexpr double kSecToMilliSec
秒到毫秒
定义 Constants.h:195
constexpr double kEarthSiderealDay
地球平恒星日 [s]
定义 Constants.h:76
constexpr double kDegToRad
角度到弧度 kPI/180.0
定义 Constants.h:212
constexpr double kUranusGrav
天王星引力常数
定义 Constants.h:145
constexpr double kMarsRadius
火星赤道半径
定义 Constants.h:103
constexpr double kMarsMinRadius
火星最小半径
定义 Constants.h:104
constexpr double kGPSMinusTAI
GPS 时间相对原子时的偏置[s]
定义 Constants.h:46
constexpr double kThirdPI
PI/3
定义 Constants.h:57
constexpr double kSecondsPerDay
一天的秒数
定义 Constants.h:204
constexpr double kEarthFlatFact
地球扁率 (WGS84), f=1-b/a
定义 Constants.h:75
constexpr double kVenusMinRadius
金星最小半径
定义 Constants.h:154
constexpr double kMinToHour
分钟到小时
定义 Constants.h:179
constexpr double kMeterToCentimeter
米到厘米
定义 Constants.h:161
constexpr double kNeptuneRadius
海王星赤道半径
定义 Constants.h:117
constexpr double kJupiterMinRadius
木星最小半径
定义 Constants.h:98
constexpr double kEarthAngVel
地球标称平均角速度 rad/s
定义 Constants.h:80
constexpr double kMeterToMicroMeter
米到微米
定义 Constants.h:163
constexpr double kSecToHour
秒到小时
定义 Constants.h:175
constexpr double kSecondsPerJulianYear
儒略年秒数(kDaysPerJulianYear * kSecondsPerDay)
定义 Constants.h:207
constexpr double kSaturnRadius
土星赤道半径
定义 Constants.h:131
constexpr double kJupiterRadius
木星赤道半径
定义 Constants.h:97
constexpr double kPlutoMinRadius
冥王星最小半径
定义 Constants.h:125
constexpr double kMicroSecToSec
微秒到秒
定义 Constants.h:191
constexpr double kMilliSecToSec
毫秒到秒
定义 Constants.h:190
constexpr double kEarthGrav_EGM2008
地球引力常数 (EGM2008) [m^3/s^2]
定义 Constants.h:72
constexpr double kArcMinToRad
弧分到弧度 kDegToRad/60.0 度分秒的分
定义 Constants.h:214
constexpr double kEarthRadius
地球赤道半径 (WGS84)[m]
定义 Constants.h:73
constexpr double kHourToMin
小时到分钟
定义 Constants.h:183
constexpr double kEarthSiderealYear
地球平恒星年 [day]
定义 Constants.h:77
constexpr double kFourPI
4*PI
定义 Constants.h:55
constexpr double kHalfPI
0.5*kAsPI
定义 Constants.h:56
constexpr double kUranusRadius
天王星半径
定义 Constants.h:146
constexpr double kNanoSecToSec
纳秒到秒
定义 Constants.h:192
constexpr double kJ2000Epoch
J2000历元
定义 Constants.h:37
constexpr double kSecToMin
秒到分钟
定义 Constants.h:174
constexpr double kTTMinusTAIInDay
地球时相对原子时的偏置[day]
定义 Constants.h:47
constexpr double kUranusMinRadius
天王星最小半径
定义 Constants.h:147
constexpr double kMoonMinRadius
月球最小半径(m)
定义 Constants.h:91
constexpr double kDaysPerJulianCentury
儒略世纪天数
定义 Constants.h:202
constexpr double kMercuryRadius
水星赤道半径
定义 Constants.h:110
constexpr double kB1900Epoch
B1900历元
定义 Constants.h:40
constexpr double kPlutoRadius
冥王星赤道半径
定义 Constants.h:124
constexpr double kSecToMicroSec
秒到微秒
定义 Constants.h:196
constexpr double kJ2100Epoch
J2100历元
定义 Constants.h:38
constexpr double kVenusRadius
金星半径
定义 Constants.h:153
A_ALWAYS_INLINE double aLightSpeed() noexcept
获取真空中的光速
定义 Constants.h:223
constexpr double kMeterToMillimeter
米到毫米
定义 Constants.h:162
constexpr double kPI
PI
定义 Constants.h:53
constexpr double kTimeSecToRad
时间秒到弧度,时分秒的秒
定义 Constants.h:215
constexpr double kSqrPI
PI*PI, PI squared
定义 Constants.h:59
constexpr double kRadToDeg
弧度到角度 180.0/kPI
定义 Constants.h:211
constexpr double kMillimeterToMeter
毫米到米
定义 Constants.h:168
constexpr double kDayToSec
天到秒
定义 Constants.h:186
constexpr double kSunRadius
太阳半径 [m]
定义 Constants.h:138
constexpr double kSecToNanoSec
秒到纳秒
定义 Constants.h:197
constexpr double kTTMinusTAI
地球时相对原子时的偏置[s]
定义 Constants.h:45
constexpr double kNeptuneMinRadius
海王星最小半径
定义 Constants.h:118
constexpr double kMeterToKilometer
米到千米
定义 Constants.h:160
constexpr double kLightSpeed
光速 (IAU 1976 value) [m/s]
定义 Constants.h:65
constexpr double kVenusGrav
金星引力常数
定义 Constants.h:152
constexpr double kPicoSecToSec
皮秒(微微秒)到秒
定义 Constants.h:193
constexpr double kDayToMin
天到分钟
定义 Constants.h:187
constexpr double kEarthGrav
地球引力常数 (WGS84) [m^3/s^2]
定义 Constants.h:71
constexpr double kMinToSec
分钟到秒
定义 Constants.h:178
constexpr double kB1950Epoch
B1950历元
定义 Constants.h:42
constexpr double kSaturnMinRadius
土星最小半径
定义 Constants.h:132