📄 convert_coord.h
字号:
#ifndef _CONVERT_COORD_H_#define _CONVERT_COORD_H_#ifndef _COORD_3D_H_#define _COORD_3D_H_struct point3d_t { float lat; /**< latitude */ float lon; /**< longitude */ float prf; /**< depth */};#endif#ifndef _COORD_GEO_H_#define _COORD_GEO_H_struct coord_geo_t { double lat; /**< latitude */ double lon; /**< longitude (in rad or degree ?) */ double prof;/**< depth (in km)*/};#endif #ifndef _COORD_CART_H_#define _COORD_CART_H_struct coord_cart_t { double x; /**< plan xy axe equateur */ double y; /**< plan xz axe meridien origine */ double z; /**< depth (in kms) */};#endif#if defined _COORD_GEO_H_ && defined _COORD_3D_H_struct coord_geo_t * point3d2geo( struct point3d_t *p) { struct coord_geo_t *g=malloc(sizeof(struct coord_geo_t)); g->lat = p->lat * TO_RAD; g->lon = p->lon * TO_RAD; g->prof = p->prf; return(g);}#endif#if defined _COORD_CART_H_ && defined _COORD_3D_H_/** * coordinates transformation : point3d (georaphic) (angles are in radians) * coordinates to cartesian coordinates */ struct coord_cart_t * point3d2cart ( const struct point3d_t *point3d) { struct coord_cart_t *coord_cart; double r, cos_lat, sin_lat, cos_lon, sin_lon; coord_cart = (struct coord_cart_t *) malloc (sizeof (struct coord_cart_t)); assert (coord_cart); r = RE - point3d->prf; cos_lat = cos (point3d->lat * TO_RAD); sin_lat = sin (point3d->lat * TO_RAD); cos_lon = cos (point3d->lon * TO_RAD); sin_lon = sin (point3d->lon * TO_RAD); coord_cart->x = r * cos_lat * cos_lon; coord_cart->y = r * cos_lat * sin_lon; coord_cart->z = r * sin_lat; return (coord_cart);}#endif#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -