Browse Source

优化历史轨迹

lixioayao 5 years ago
parent
commit
d7e1843981
2 changed files with 6 additions and 20 deletions
  1. 0 15
      a.cpp
  2. 6 5
      his_location.h

+ 0 - 15
a.cpp

@@ -1,15 +0,0 @@
-#include <complex>
-#include "point.h"
-
-	double make_arg(const point &pt,const point &p)
-	{
-		return  std::arg(std::complex<double>(pt.x,pt.y)-std::complex<double>(p.x,p.y));
-	}
-
-int main()
-{
-    printf("00 --- 10 %f\n",make_arg(point(1,0),point(0,0)));
-    printf("00 --- 01 %f\n",make_arg(point(0,1),point(0,0)));
-    printf("00 --- -10 %f\n",make_arg(point(-1,0),point(0,0)));
-    printf("00 --- 0-1 %f\n",make_arg(point(0,-1),point(0,0)));
-}

+ 6 - 5
his_location.h

@@ -86,15 +86,16 @@ struct location_card
 		if(point::eq(p.x,pt.x,0.2) && point::eq(p.y,pt.y,0.2)) return false;
         double dis1=m_p.dist(pt);
         if(dis1<2)return false;
-        double dis = p.dist(pt);
-		double arg = make_arg(pt,p);
+        //double dis = p.dist(pt);
+        double dis = m_p.dist(pt);
+		double arg = make_arg(pt,m_p);
         //查看路径方向是否改变
         bool change_flag=(arg-m_arg > -1e-10 && arg-m_arg<1e-10);
         //change_flag为true,标识没有发生变化
        // if(change_flag)m_direct_index=0;
 		log_info("his_location:line_changed:%d,%f,m_arg:%f,%s,%f,%f",m_cardid,arg,m_arg, change_flag?"same":"not same",m_arg-arg,dis);
-        if(dis<0.5 && fabs(fabs(arg)+fabs(m_arg)-3.141593)< 0.000005)
-            return false;
+        //if(dis<0.5 && fabs(fabs(arg)+fabs(m_arg)-3.141593)< 0.000005)
+         //   return false;
         //判断10次反向才做下一步动作
        // if(fabs(fabs(arg)+fabs(m_arg)-3.141593)< 0.000005)
        // {
@@ -126,7 +127,7 @@ struct location_card
 		double t	= time - m_timestamp;
 		double avge_speed= dist/t*1000;
 		log_info("his_location cardid:%d:v:%.2f,avge_v:%.2f,(%.2f--%.2f)",m_cardid,v,avge_speed,0.7*avge_speed,1.3*avge_speed);
-		if(v<(1-0.3)*avge_speed && v>(1+0.3)*avge_speed)
+		if(v<(1-0.3)*avge_speed || v>(1+0.3)*avge_speed)
 		  flag=true;
 		  
 		return flag;