igl.copyleft¶
Python API reference for igl.copyleft.
marching_cubes¶
marching_cubes(values: float64[m], points: float64[m, n], x_res: int, y_res: int, z_res: int, isovalue: float = 0.0) -> tuple[float64[m, n], int64[m, n]]
Perform marching cubes to extract an isosurface from a scalar field on a regular grid.
Parameters
values— #points vector of scalar values (<0 inside, >0 outside)points— #points by 3 grid point positions (x-fastest order: index = x + yx_res + zx_res*y_res)x_res— grid resolution in xy_res— grid resolution in yz_res— grid resolution in zisovalue— isovalue to reconstruct (default: 0.0)
Returns
- tuple (vertices, faces): - vertices #V by 3 mesh vertex positions - faces #F by 3 mesh triangle indices
marching_cubes(values: float64[m], points: float64[m, n], indices: int64[m, n], isovalue: float = 0.0) -> tuple[float64[m, n], int64[m, n]]
Perform marching cubes on a sparse grid defined by explicit cube corner indices.
Parameters
values— #points vector of scalar valuespoints— #points by 3 grid point positionsindices— #cubes by 8 array of corner indices into points/valuesisovalue— isovalue to reconstruct (default: 0.0)
Returns
- tuple (vertices, faces): - vertices #V by 3 mesh vertex positions - faces #F by 3 mesh triangle indices
progressive_hulls¶
progressive_hulls(V: float64[m, n], F: int32[m, n], max_m: int = 0) -> tuple[float64[m, n], int64[m, n], int64[m]]
Performs progressive hull simplification on a mesh, collapsing edges until a target number of faces is reached.
Parameters
V— #V by dim list of vertex positionsF— #F by 3 list of face indices into Vmax_m— Target number of output facesU— Output vertex positionsG— Output face indices into UJ— Indices into F indicating the birth face for each face in G
quadprog¶
quadprog(G: float64[m, n], g0: float64[m], CE: float64[m, n] = Ellipsis, ce0: float64[m] = Ellipsis, CI: float64[m, n] = Ellipsis, ci0: float64[m] = Ellipsis) -> float64[m]
Solve a dense convex quadratic program.
Minimizes: 0.5 x' G x + g0' x Subject to: CE' x + ce0 = 0 CI' x + ci0 >= 0
Parameters
G— #x by #x positive semi-definite quadratic cost matrixg0— #x linear cost vectorCE— #x by #ce equality constraint matrix (optional)ce0— #ce equality constraint rhs (optional)CI— #x by #ci inequality constraint matrix (optional)ci0— #ci inequality constraint rhs (optional)
Returns
- x #x solution vector @raises RuntimeError if the solver fails