private static int getTipoInterseccionSegmentColineales(int u1, int v1, int u2, int v2, int x1, int y1, int x2, int y2)
    {
        int res;
        double d1, d2, dism, m1, m2, m3, m4;
            // res := 1  se intersectan en un punto
            // res := 2  se intersectan en mas de un punto
            // res := 3  NOOO se intersectan

            d1 = getDistPuntos(u1,v1,u2,v2);
            d2 = getDistPuntos(x1,y1,x2,y2);

            // las 4 posibles distancias mayores
            m1 = getDistPuntos(u1,v1,x1,y1);
            m2 = getDistPuntos(u1,v1,x2,y2);
            m3 = getDistPuntos(u2,v2,x1,y1);
            m4 = getDistPuntos(u2,v2,x2,y2);

            // encontramos la distancia mayor en: dism
            dism = m1;
            if(m2>dism)
              dism = m2;
            if(m3>dism)
              dism = m3;
            if(m4>dism)
              dism = m4;

            if(sonIguales((d1+d2),dism))
            {
              res = 1;  // se intersectan en un vertice
            }
            else 
            { 
                if((d1+d2)>dism)
                {
                   res = 2;  // se intersectan en mas de un punto
                }
                else
                {
                    res = 3;  // no se intersectan
                }
            }
        return res;
    }