Dependencies:   BufferedSerial

Revision:
7:5fa6f21eb739
Parent:
6:df6b8b2468d8
--- a/funcs.cpp	Tue May 18 00:04:27 2021 +0000
+++ b/funcs.cpp	Mon May 24 15:32:13 2021 +0000
@@ -10,14 +10,18 @@
 #define pi 3.14159265359
 
 
+    int *x_cel;
+    int *y_cel;
     int x_c;
     int y_c;
+    
     int next_x;
     int next_y;
     float auxx;
     float auxy;
-    double dist_odometria;
-    
+    int dist_odometria;
+    int x_end;
+    int y_end;
     
     //Funcao para criar um mapa simples com um quadrado no meio
 void read_map(int Map_Matrix[80][80]){
@@ -36,8 +40,8 @@
     } 
 }
 
-    
-int distancia_prevista (int x , int y, int x_celula, int y_celula, float Angle, int Map_Matrix[80][80]){
+/*    
+void distancia_prevista (int x , int y, int x_celula, int y_celula, float Angle, int Map_Matrix[80][80],float dist_odometria){
     
     // x_celula --> posição odometria x
     // y_celula --> posição odometria y
@@ -66,14 +70,51 @@
             y_c = ceil(auxy) - 1;
         
         
-        
           dist_odometria = ((next_x-x)*(next_x-x)) + ((next_y-y)*(next_y-y));
           dist_odometria = sqrt(dist_odometria);
     
-    return(dist_odometria);
+    //return(dist_odometria);
     }// fim do while 
     
     
     // usei o next_x_cel com erro de que ele faz de 5 em 5 cm
     // mas tb posso meter de 1 em 1 ou ate menos
 
+*/
+/*
+int DistanciaPrevBresh(int x, int y, int x_celula, int y_celula, float angle, int Map_Matrix[80][80] ){
+    
+    if(angle < pi/2 && angle > 3*pi/2) 
+    x_end = 80;
+    else
+    x_end = 0;
+    
+    if(angle < 0 && angle < pi) 
+    y_end = 80;
+    else
+    y_end = 0;
+    
+    
+int find = 0;
+    
+    x_cel = x_bresenham(x_celula, y_celula, x_end, y_end);
+    y_cel = y_bresenham(x_celula, y_celula, x_end, y_end);
+    
+    
+    while(find == 0){
+        int i = 0;
+        if(Map_Matrix[x_cel[i]][y_cel[i]] == 1){
+            find = 1;
+            }
+        else{
+           i=i+1;
+            }
+    }
+        
+    dist_odometria = ((x_c-x_celula)*(x_c-x_celula)) + ((y_c-y_celula)*(y_c-y_celula));
+    dist_odometria = sqrt(dist_odometria);
+              
+    return(dist_odometria);
+    }
+    
+*/
\ No newline at end of file