Skip to content

Delaunay triangulation on 2D data using meshpy #62

@thomasaarholt

Description

@thomasaarholt

Hi! Thanks for writing this package!

I'm wanting to perform Delaunay triangulation on (large, ~10 million) 2D scatter points, for purposes of interpolation of new points. I was intending to benchmark meshpy / triangle's implementation, but I'm not sure how to get it to work!

With Scipy's Delaunay function (based on qhull), one gives it a number of points and it returns (among other things) a list of integers, where each row lists the indices of the three points that are connected to the point associated with the row index (that sentence came out possibly a bit confusing).

But how does one do something similar with meshpy?

points = np.array([[0, 0], [0, 1.1], [1, 0], [1, 1]])
from scipy.spatial import Delaunay
tri = Delaunay(points)
tri.vertices
array([[2, 3, 0],
       [3, 1, 0]], dtype=int32)

I can't seem to get any output when trying the following, and I am not sure how to proceed.

points = np.array([[0, 0], [0, 1.1], [1, 0], [1, 1]])

mesh_info = MeshInfo()
mesh_info.set_points(points)
mesh = build(mesh_info)
print(np.array(mesh.neighbors))
print(np.array(mesh.facets))
print(np.array(mesh.faces))
print(np.array(mesh.elements))
print(np.array(mesh.points))
print(np.array(mesh.element_volumes))
print(np.array(mesh.point_attributes))
# all return []

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions