Skip to main content

Unusual mesh processing tools

Project description

Meshiki

A collection of unusual mesh processing algorithms.

Install

# from pypi, will build extension at first time
pip install meshiki

# locally
cd meshiki
pip install . 

Usage

Trigs-to-Quads

          Triangulate       We want this!
    Quads ----------> Trigs ------------> Quads
(obj, blender)   (glb, fbx, ...)

This algorithm is aimed for converting a triangulated quad-dominant mesh back to a mixed tri/quad mesh, with as many as possible reasonable quad faces. Our implementation is based on maximum weighted graph matching, and is usually better compared to the built-in tool (Edit Mode -> Face -> Tris to Quads) of blender.

from meshiki import Mesh

mesh = Mesh.load('mesh.glb', verbose=False)
mesh.quadrangulate()
mesh.export('mesh.obj') # must use obj for quad faces

Salient point sampling

This algorithm samples salient points from mesh surface as proposed in Dora.

from meshiki import Mesh, fps, load_mesh, triangulate

# load mesh
vertices, faces = load_mesh(mesh_path, clean=True)
# make sure it's pure-trig
faces = triangulate(faces)
mesh = Mesh(vertices, faces)
# sample 64K salient points
salient_points = mesh.salient_point_sample(64000, thresh_bihedral=30) # np.ndarray, [64000, 3]

We also implement uniform sampling and furthest point sampling:

# sample 128K uniform points
uniform_points = mesh.uniform_point_sample(128000) # np.ndarray, [128000, 3]
# use FPS to subsample 8K points from uniform points
fps_points = fps(uniform_points, N_FPS, backend='kdline') # np.ndarray, [8000, 3]

Acknowledgement

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

meshiki-0.0.5.tar.gz (62.4 kB view details)

Uploaded Source

File details

Details for the file meshiki-0.0.5.tar.gz.

File metadata

  • Download URL: meshiki-0.0.5.tar.gz
  • Upload date:
  • Size: 62.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for meshiki-0.0.5.tar.gz
Algorithm Hash digest
SHA256 c0012290f96589e96ab8d9afb646545bc79dbcab459743eca37a85784a909ac1
MD5 95fa454ffdd6da46255f54bd1f90e39b
BLAKE2b-256 1ab30b5cf9f94d4dfb219dc59e835710db9421a81255a424030c7ae62b1b5771

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshiki-0.0.5.tar.gz:

Publisher: pypi-publish.yml on ashawkey/meshiki

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page