%-----------------------------------------------------------
% Carlos Cabral 2003 - Dep.UA

% funçao para calcular os parametros dos segmentos de recta 
%----------------------------------------------------------

function [segmrecta,angbwrectas_r]=SEGMENT_PARAMETERS(cart_data,tamanho,segmento)

        for k4=1:tamanho(1) % Calculo do declive dos segmentos de recta (angulo que fazem com a horizontal) Usando somente os pontos EXTREMOS
            angrecta(k4,:)=atan((cart_data(segmento(k4,2),2)-cart_data(segmento(k4,1),2))/(cart_data(segmento(k4,2),1)-cart_data(segmento(k4,1),1)));
        end
        
        % Calculo das equaçoes de cada uma das rectas usando (REGRESSAO LINEAR)
        for k4=1:tamanho(1)

            if and((abs(angrecta(k4,:))*180/pi) < 115, (abs(angrecta(k4,:))*180/pi) > 65) %teste para verificar se a recta é vertical e assim fazer a rotaçao para evitar problemas de regressao linear
                % rotaçao de 90º (x,y)=>(-y,x)
                segmrecta(k4,:)=polyfit(-cart_data(segmento(k4,1):segmento(k4,2),2),cart_data(segmento(k4,1):segmento(k4,2),1),1);
                % equacao da nova recta y=(-1/m)*x+(1/m)*b sendo m e b os obtidos da recta anterior                           
                segmrecta(k4,:)=[-1/segmrecta(k4,1) 1/segmrecta(k4,1)*segmrecta(k4,2)];
                ang_segmrecta(k4)=atan(segmrecta(k4,1));
            else
                segmrecta(k4,:)=polyfit(cart_data(segmento(k4,1):segmento(k4,2),1),cart_data(segmento(k4,1):segmento(k4,2),2),1);
                ang_segmrecta(k4)=atan(segmrecta(k4,1));
            end
        end
        
        % ciclo para ver o angulo entre rectas (usando dados obtidos da regressao linear)
        for k4=1:tamanho(1)-1
            angbwrectas_r(k4)=abs(-ang_segmrecta(k4)*180/pi+ang_segmrecta(k4+1)*180/pi);
        end
