tmp update

This commit is contained in:
张壹 2024-09-12 07:05:41 +08:00
parent 333339dc6a
commit 0bcf481b95
3 changed files with 23 additions and 35 deletions

View File

@ -88,16 +88,11 @@ double gctl::sqrtn(double d,int n,double eps)
return halfx; return halfx;
} }
/** double gctl::geographic_area(double lon1, double lon2, double lat1, double lat2, double R)
* @brief {
* return fabs(R*R*(arc(lon2) - arc(lon1))*(sind(lat2) - sind(lat1)));
* @param[in] x_len x方向半径 }
* @param[in] y_len y方向半径
* @param[in] x_arc
* @param[in] arc x轴正方向的夹角
*
* @return
*/
double gctl::ellipse_radius_2d(double x_len, double y_len, double arc, double x_arc) double gctl::ellipse_radius_2d(double x_len, double y_len, double arc, double x_arc)
{ {
if (fabs(x_len - y_len) < 1e-8) // 就是个圆 直接加 if (fabs(x_len - y_len) < 1e-8) // 就是个圆 直接加
@ -108,20 +103,6 @@ double gctl::ellipse_radius_2d(double x_len, double y_len, double arc, double x_
return sqrt(pow(x_len*cos(arc-x_arc),2) + pow(y_len*sin(arc-x_arc),2)); return sqrt(pow(x_len*cos(arc-x_arc),2) + pow(y_len*sin(arc-x_arc),2));
} }
/**
* @brief
*
* 线线
*
*
* @param x_len x方向半径
* @param y_len y方向半径
* @param arc x轴正方向的夹角
* @param elev
* @param out_arc
* @param out_rad
* @param x_arc x轴正方向绕原点逆时针旋转的角度 0
*/
void gctl::ellipse_plus_elevation_2d(double x_len, double y_len, double arc, double elev, void gctl::ellipse_plus_elevation_2d(double x_len, double y_len, double arc, double elev,
double &out_arc, double &out_rad, double x_arc) double &out_arc, double &out_rad, double x_arc)
{ {
@ -158,17 +139,6 @@ void gctl::ellipse_plus_elevation_2d(double x_len, double y_len, double arc, dou
return; return;
} }
/**
* @brief
*
* @param[in] x_len x方向半径
* @param[in] y_len y方向半径
* @param[in] z_len z方向半径
* @param[in] phi x轴正方向的夹角
* @param[in] theta z轴正方向的夹角
*
* @return
*/
double gctl::ellipsoid_radius(double x_len, double y_len, double z_len, double phi, double theta) double gctl::ellipsoid_radius(double x_len, double y_len, double z_len, double phi, double theta)
{ {
return x_len*y_len*z_len/sqrt(pow(y_len*z_len*sin(theta)*cos(phi),2) + return x_len*y_len*z_len/sqrt(pow(y_len*z_len*sin(theta)*cos(phi),2) +

View File

@ -71,6 +71,18 @@ namespace gctl
*/ */
double sqrtn(double val, int order, double eps = 1e-5); double sqrtn(double val, int order, double eps = 1e-5);
/**
* @brief
*
* @param lon1
* @param lon2
* @param lat1
* @param lat2
* @param R
* @return
*/
double geographic_area(double lon1, double lon2, double lat1, double lat2, double R);
/** /**
* @brief * @brief
* *

View File

@ -42,6 +42,12 @@ namespace gctl
return (T(0) < d) - (d < T(0)); return (T(0) < d) - (d < T(0));
} }
template <typename T>
inline T arc(T deg)
{
return deg*GCTL_Pi/180.0;
}
template <typename T> template <typename T>
inline T sind(T deg) inline T sind(T deg)
{ {