Scipy Delaunay triangles curve points issue

65 views Asked by At

I have number of 2D points. I have to triangulate those points, for which I use Scipy Delaunay. But my triangles are returning plain shape instead of curved shape.

Here is my code:

def triangulate_points(_points):
    np_points = [np.array(_) for _ in _points]
    tri = Delaunay(np_points)
    indices = tri.simplices
    triangles = indices.tolist()
    
    vertices_list = []
    index = len(triangles)
    for i in range(len(triangles)):
        index -= 1
        _ = triangles[index]
        quad_0 = _points[_[0]]
        quad_1 = _points[_[1]]
        quad_2 = _points[_[2]]
        vertex_0 = Vector3(quad_0[0], quad_0[1])  # {'x': quad_0[0], 'y':quad_0[1], 'z':0.0}
        vertex_1 = Vector3(quad_1[0], quad_1[1])  # {'x': quad_1[0], 'y':quad_1[1], 'z':0.0}
        vertex_2 = Vector3(quad_2[0], quad_2[1])  # {'x': quad_2[0], 'y':quad_2[1], 'z':0.0}
        vertices_list.append(vertex_0)
        vertices_list.append(vertex_1)
        vertices_list.append(vertex_2)
    return vertices_list

Expected output

Current output

where I am doing a mistake?

0

There are 0 answers