def _get_ut_i(self, seg, sx, sy):
        """
        Returns the U and T coordinate for a specific trace segment

        :param seg:
            End points of the segment edge

        :param sx:
            Sites longitudes rendered into coordinate system

        :param sy:
            Sites latitudes rendered into coordinate system
        """
        p0x, p0y, p1x, p1y = seg[0, 0], seg[0, 1], seg[1, 0], seg[1, 1]
        # Unit vector normal to strike
        t_i_vec = [p1y - p0y, -(p1x - p0x), 0.0]
        t_i_hat = t_i_vec / numpy.linalg.norm(t_i_vec)
        # Unit vector along strike
        u_i_vec = [p1x - p0x, p1y - p0y, 0.0]
        u_i_hat = u_i_vec / numpy.linalg.norm(u_i_vec)
        # Vectors from P0 to sites
        rsite = numpy.column_stack([sx - p0x, sy - p0y])
        return numpy.sum(u_i_hat[:-1] * rsite, axis=1),\
            numpy.sum(t_i_hat[:-1] * rsite, axis=1)
def _get_ut_i ( self , seg , sx , sy ) : p0x , p0y , p1x , p1y = seg [ 0 , 0 ] , seg [ 0 , 1 ] , seg [ 1 , 0 ] , seg [ 1 , 1 ] t_i_vec = [ p1y - p0y , - ( p1x - p0x ) , 0.0 ] t_i_hat = t_i_vec / numpy . linalg . norm ( t_i_vec ) u_i_vec = [ p1x - p0x , p1y - p0y , 0.0 ] u_i_hat = u_i_vec / numpy . linalg . norm ( u_i_vec ) rsite = numpy . column_stack ( [ sx - p0x , sy - p0y ] ) return numpy . sum ( u_i_hat [ : - 1 ] * rsite , axis = 1 ) , numpy . sum ( t_i_hat [ : - 1 ] * rsite , axis = 1 )
Returns the U and T coordinate for a specific trace segment

        :param seg:
            End points of the segment edge

        :param sx:
            Sites longitudes rendered into coordinate system

        :param sy:
            Sites latitudes rendered into coordinate system