(self)
return {'v0': border_vertices[v0], 'v1': border_vertices[v1]}
return pair of points on surface border that have largest pairwise geodesic distance
return pair of points on surface border that have largest pairwise geodesic distance
return pair of points on surface border that have largest pairwise geodesic distance
def furthest_border_points(self):
        """return pair of points on surface border that have largest pairwise geodesic distance"""

        border_mask = self.boundary_vertices
        border_vertices = np.nonzero(border_mask)[0]
        n_border_vertices = border_vertices.shape[0]
        border_pairwise_distances = np.zeros((n_border_vertices, n_border_vertices))
        for v, vertex in enumerate(border_vertices):
            border_pairwise_distances[v, :] = self.geodesic_distance([vertex])[border_mask]
        max_index = np.argmax(border_pairwise_distances)
        v0, v1 = np.unravel_index(max_index, border_pairwise_distances.shape)
        return {'v0': border_vertices[v0], 'v1': border_vertices[v1]}
def furthest_border_points ( self ) : border_mask = self . boundary_vertices border_vertices = np . nonzero ( border_mask ) [ 0 ] n_border_vertices = border_vertices . shape [ 0 ] border_pairwise_distances = np . zeros ( ( n_border_vertices , n_border_vertices ) ) for v , vertex in enumerate ( border_vertices ) : border_pairwise_distances [ v , : ] = self . geodesic_distance ( [ vertex ] ) [ border_mask ] max_index = np . argmax ( border_pairwise_distances ) v0 , v1 = np . unravel_index ( max_index , border_pairwise_distances . shape ) return { 'v0' : border_vertices [ v0 ] , 'v1' : border_vertices [ v1 ] }