typedef struct
{
int x;
int y;
} point_t;
int main () {
// c -118.09577465 36.57831430
// a -118.09568882 36.57829285
// b -118.09598923 36.57792807
point_t a = {-118.09568882/MAP_UINT, 36.57829285/MAP_UINT};
point_t b = {-118.09598923/MAP_UINT, 36.57792807/MAP_UINT};
point_t c = {-118.09577465/MAP_UINT, 36.57831430/MAP_UINT};
// bool is_in_middle = false; //每次检查区域都要初始化为假
//bool res = false;
point_t cc;
int x_ba, y_ba, x_ca, y_ca;
uint32_t len;
x_ba = b.x - a.x;
y_ba = b.y - a.y;
x_ca = c.x - a.x;
y_ca = c.y - a.y;
double gamma = 1.0f * (x_ba * x_ca + y_ba * y_ca) / (pow(x_ba, 2) + pow(y_ba, 2));
if (gamma > 1)
{
cc = b;
}
else if (gamma < 0)
{
cc = a;
}
else
{
cc.x = (int)(gamma * x_ba + (double)a.x);
cc.y = (int)(gamma * y_ba + (double)a.y);
//is_in_middle = true;
//*(check_param->p_projection_pot) = cc;
printf("cc %d %d %f %f\n", cc.x, cc.y, cc.x*MAP_UINT, cc.y*MAP_UINT);
}
//JSRUN引擎2.0,支持多达30种语言在线运行,全仿真在线交互输入输出。
//float f = 100.0;
//double d = 1.0e2;
//long double ld = 1.0e2;
//printf("float: %f.\n", f);
//printf("Hello world! - c.jsrun.net.");
printf("%f %f,",1071878 * 0.000021457672119, 1025274 * 0.000021457672119);
printf("%f %f\n",5266182 * 0.000021457672119 , 5312785 * 0.000021457672119);
printf("%f %f\n",5310452 * 0.000021457672119 ,1051884 * 0.000021457672119);
//int rgb[] = {1,254,237};
//int rgb[] = {2,0,206};
//int rgb[] = {2,2,91};
//int rgb[] = {2,128,148};
//int rgb[] = {2,0,143};
//printf("%f", (rgb[0]*256*256 + rgb[1]*256 + rgb[2])*0.1 - 10000);
int32_t cur_longitude = 1138803560;
int32_t cur_latitude = 225596907;
int32_t last_longitude = 1138804004;
int32_t last_latitude = 225596161;
//logs_i("get_cur_prj_to_seg_start_pnt: %d %d %d %d\n", cur_longitude, cur_latitude, last_longitude, last_latitude);
if (!(cur_longitude == last_longitude && cur_latitude == last_latitude) &&
!(cur_longitude == 0 && cur_latitude == 0) && !(cur_longitude == -1 && cur_latitude == -1) &&
!(last_longitude == 0 && last_latitude == 0) && !(last_longitude == -1 && last_latitude == -1))
{
//printf("binggo");
}
//5310454 1051883 5310440 1051893 5310452 1051884
return 0;
}