-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathgrados.txt
48 lines (48 loc) · 1.07 KB
/
grados.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
function grados = fcn(linea1,pendiente,p_vert,cuadrante,cuenta2,etapa,grado)
gra=0;
linea=linea1(1:cuenta2,:);
if(etapa==1)
gra=Egrados(linea,cuadrante,pendiente,p_vert);
if(abs(gra)<5)
gra=0;
end
end
grado1=grado+gra;
if(grado1>180)
grado1=grado1-360;
elseif(grado1<-180)
grado1=grado1+360;
end
grados=grado1;
end
function grad=Egrados(linea,cuadrante,pendiente,p_vert)
grad=0;
switch(cuadrante)
case 1
if(max(linea(:,1))>30)
grad=90-atand(pendiente);
end
case 2
if(p_vert>30)
grad=(180-(90-atand(abs(pendiente))));
end
case 3
if(p_vert>30)
grad=-(180-(90-atand(abs(pendiente))));
end
case 4
if(max(linea(:,1))>30)
grad=-(90-atand(abs(pendiente)));
end
case 5
if(p_vert>30)
grad=90;
end
case 6
if(p_vert>30)
grad=-90;
end
otherwise
grad=0;
end
end