// 秒寻科技 // 队列排序 // 周涛 // 2023-03-04 #include "../includes/includes.h" // 计算两点之间的距离 // 输入参数,单位厘米 // 返回参数,单位米 flt32 util_distance_cal_p2p_distance(int32 x1, int32 y1, int32 x2, int32 y2) { flt32 fDistance = 0.0; flt32 xx = (flt32)(x1 - x2) / 100; flt32 yy = (flt32)(y1 - y2) / 100; fDistance = (flt32)sqrt(xx * xx + yy * yy); return fDistance; } // 计算两点之间的距离 // 输入参数,单位厘米 // 返回参数,单位米 flt32 util_distance_cal_p2p_space_distance(int32 x1, int32 y1, int32 z1, int32 x2, int32 y2, int32 z2) { flt32 fDistance = 0.0; flt32 xx = (flt32)(x1 - x2); flt32 yy = (flt32)(y1 - y2); flt32 zz = (flt32)(z1 - z2); fDistance = (flt32)sqrt(xx * xx + yy * yy + zz * zz); fDistance /= 100; return fDistance; } // 根据一个数,在该数左右两侧范围内生成一个随机数 // dwBaseData:基数 // wRange:单边偏移 int32 util_distance_gen_rand_num(int32 dwBaseData, uint16 wRange) { int32 dwTotalRange = 2 * wRange + 1; // 总范围 int32 dwRemainder = 0; int32 randomNum = 0; // 随机数 // 初始化随机数生成器 srand(time(NULL)); // 生成随机数 dwRemainder = rand() % dwTotalRange; // 生成 [0, dwTotalRange) 范围内的随机数 randomNum = dwBaseData - wRange + dwRemainder; // 生成所需的随机数 return randomNum; }