split Math/Physics/Time const to new files.

This commit is contained in:
2021-05-10 11:25:21 +08:00
parent 37c49f4865
commit 5de4e0822d
8 changed files with 311 additions and 263 deletions

View File

@@ -0,0 +1,79 @@
#ifndef HGL_MATH_PHYSICS_CONST_INCLUDE
#define HGL_MATH_PHYSICS_CONST_INCLUDE
namespace hgl
{
constexpr double HGL_GOLDEN_RATIO =0.61803398874989484820458683436563811772030917980576;//<2F>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD>
constexpr double HGL_SILVER_RATIO =2.4142135623730950488; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
constexpr double HGL_SPEED_OF_SOUND =331.3f; //<2F><><EFBFBD><EFBFBD>(<28><>/<2F><>)
constexpr double HGL_SPEED_OF_LIGHT =299792458; //<2F><><EFBFBD><EFBFBD>(<28><>/<2F><>)
constexpr double HGL_ABSOLUTE_ZERO =-273.15f; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
constexpr double HGL_UNIVERSAL_GRAVITATION =6.67384e-11; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
constexpr double HGL_EARTH_GRAVITATIONAL_ACCELERATION =9.80665; //<2F><><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD><><C5A3>)
constexpr double HGL_EARTH_MASS =5.9722e+24; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
constexpr double HGL_EARTH_RADIUS =6371000; //<2F><><EFBFBD><EFBFBD><EFBFBD>뾶(<28><>)
/**
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param m1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param m2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param length <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵľ<C4B5><C4BE><EFBFBD>
*/
template<typename T>
inline T UniversalGravitation(const T m1,const T m2,const T length)
{
return HGL_UNIVERSAL_GRAVITATION*((m1*m2)/(length*length));
}
/**
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶȼ<D9B6><C8BC><EFBFBD><br>
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)/(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBBEB6>ƽ<EFBFBD><C6BD>)=<3D><><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>
* @param m <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param raidus <20><><EFBFBD><EFBFBD><EFBFBD>
* @return <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD><><C5A3>)
*/
template<typename T>
inline T UniversalGravitation(const T m,const T radius)
{
return (HGL_UNIVERSAL_GRAVITATION*m)/(radius*radius);
}
/**
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param m <20><><EFBFBD><EFBFBD>
* @param v <20>ٶ<EFBFBD>
* @param r <20><><EFBFBD><EFBFBD>
*/
template<typename T>
inline T CentripetalForce(const T m,const T v,const T r)
{
return (m*v*v)/r;
}
/**
* <20><><EFBFBD>ٶȼ<D9B6><C8BC><EFBFBD>
* @param power <20><><EFBFBD><EFBFBD>
* @param weight <20><><EFBFBD><EFBFBD>
*/
template<typename T>
inline T AddSpeed(const T &power,const T &weight)
{
return power/weight;
}
/**
* <20><><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD><CBB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD>Խ<EFBFBD><EFBFBD><ECA3AC><EFBFBD><EFBFBD>Խ<EFBFBD><D4BD>)
* @param m0 <20><>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD>
* @param v <20>˶<EFBFBD><CBB6>ٶ<EFBFBD>
*/
template<typename T>
inline T RunWeight(const T &m0,const T &v)
{
return m0/sqrt(1-(v*v)/(HGL_SPEED_OF_LIGHT*HGL_SPEED_OF_LIGHT));
}
}//namespace hgl
#endif//HGL_MATH_PHYSICS_CONST_INCLUDE