Simplify meshes including vertex features.
Project description
Quadric mesh simplification
A leightweight package for simplifying a mesh containing node features. The algorithm from Surface Simplification Using Quadric Error Metrics was implemented using cython.
Only python versions >= 3.6 are supported
Installation
with pip
$ pip install quad_mesh_simplify
from source if distribution is not supported
Download this repository and build the package by running:
$ pip install -r requirements.txt
$ python setup.py build_ext --inplace
$ pip install .
Usage
This package provides one simple function to reduce a given mesh. This can be done for simple meshes or meshes with vertex features.
simplify_mesh(positions, face, num_nodes, features=None, threshold=0., max_err=np.Infinity)
positions (numpy array): array of shape [num_nodes x 3] containing the x, y, z position for each node
face (numpy array): array of shape [num_faces x 3] containing the indices for each triangular face
num_nodes (int): number of nodes that the final mesh will have
threshold (number, optional): threshold of vertices distance to be a valid pair
features (numpy array): features for all nodes [num_nodes x feature_length]
threshold (double): if the distance between two vertices is below this threshold, they are considered as valid pairs that can be merged.
max_err (double): no vertices are merged that have an error higher than this number. IMPORTANT: if provided it is not guaranteed that the output will have less than num_nodes vertices.
Returns: new_positions, new_face, (new_features)
Reduce a simple mesh
from quad_mesh_simplify import simplify_mesh
new_positions, new_face = simplify_mesh(positions, face, <final_num_nodes>)
Reduce a mesh with vertex features
from quad_mesh_simplify import simplify_mesh
new_positions, new_face = simplify_mesh(positions, face, <final_num_nodes>, features=features)
Reduce a mesh with a threshold for the minimal distance
from quad_mesh_simplify import simplify_mesh
new_positions, new_face = simplify_mesh(positions, face, <final_num_nodes>, threshold=0.5)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file quad_mesh_simplify-1.1.5-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: quad_mesh_simplify-1.1.5-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 26.7 kB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.10.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
37fc2aeb7363a3b52d218d214eb4cc60b2d67e0bf20d80cc53a4543f2ac18917
|
|
| MD5 |
9c0e84cbed49b0c72703ada9f7c40024
|
|
| BLAKE2b-256 |
63f0da87d33b6c31d82b7697c229ae4137ac60e896241ee4182f979935832929
|
File details
Details for the file quad_mesh_simplify-1.1.5-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl.
File metadata
- Download URL: quad_mesh_simplify-1.1.5-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
- Upload date:
- Size: 128.4 kB
- Tags: CPython 3.10, manylinux: glibc 2.12+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ed804ed1ef7aa5ffa6d1f5fa47e432f5ae1f80c97a3798d28307bd8583ba7e6e
|
|
| MD5 |
c8d1b3eefe0e44d497826758c2048e6c
|
|
| BLAKE2b-256 |
d8958b5c3cfc7b1bfd6412aac6fd044d08576ac74b2711bde8c31b7ccd902862
|
File details
Details for the file quad_mesh_simplify-1.1.5-cp310-cp310-macosx_10_9_x86_64.whl.
File metadata
- Download URL: quad_mesh_simplify-1.1.5-cp310-cp310-macosx_10_9_x86_64.whl
- Upload date:
- Size: 33.3 kB
- Tags: CPython 3.10, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
586964cd0f7d2dc91753cef8b440139d07db0626dddee7107f5ce6d056676e32
|
|
| MD5 |
ca495fd09635bcd935f9977cb7419189
|
|
| BLAKE2b-256 |
dff8d524d2bd415c7e7046e7439d2cd119c527df075ea8c9cdac623efa9ddc67
|
File details
Details for the file quad_mesh_simplify-1.1.5-cp39-cp39-win_amd64.whl.
File metadata
- Download URL: quad_mesh_simplify-1.1.5-cp39-cp39-win_amd64.whl
- Upload date:
- Size: 27.4 kB
- Tags: CPython 3.9, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
76f413301ca998df6944910dfdadb261fe087e701edfbbb582cbf9eb1007a4e7
|
|
| MD5 |
3a86ade4f5c660baeeaf5545763be699
|
|
| BLAKE2b-256 |
14396ca2a563a39a7afc87544012c952380db88e03914e3e2b75e2e62ce665e6
|
File details
Details for the file quad_mesh_simplify-1.1.5-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl.
File metadata
- Download URL: quad_mesh_simplify-1.1.5-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
- Upload date:
- Size: 131.9 kB
- Tags: CPython 3.9, manylinux: glibc 2.12+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2c06fbcba583537c14df266dd3b8af542046678ca3f82b2379d781d82878b6af
|
|
| MD5 |
33792755006760b4283f7538a23d1b78
|
|
| BLAKE2b-256 |
a2f9419b9172d5ac7a428daf1fe1614fac3f1eab96b58fbaa4ffa32f7a020437
|
File details
Details for the file quad_mesh_simplify-1.1.5-cp39-cp39-macosx_10_9_x86_64.whl.
File metadata
- Download URL: quad_mesh_simplify-1.1.5-cp39-cp39-macosx_10_9_x86_64.whl
- Upload date:
- Size: 31.6 kB
- Tags: CPython 3.9, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a70da5f67b43e9dbda07e80683de6fca9b5fc268f3c8cb3af0c600f72ee27f48
|
|
| MD5 |
602e3ddfbfe63c1b87709e74a095524e
|
|
| BLAKE2b-256 |
a5db3f9434716abda7eeef0771c5d0aa2a1614782a562d9d0c138c19b7724d75
|
File details
Details for the file quad_mesh_simplify-1.1.5-cp38-cp38-win_amd64.whl.
File metadata
- Download URL: quad_mesh_simplify-1.1.5-cp38-cp38-win_amd64.whl
- Upload date:
- Size: 27.5 kB
- Tags: CPython 3.8, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f5aa56b02b7fb7146194e6dbec336493044fc4ef150a574c4e1456a55f16b427
|
|
| MD5 |
40f01c4bda31dd40d6c6806ea24a402b
|
|
| BLAKE2b-256 |
2887911ee4c60c558cd8e3f5062ef71fc5a84b756423d65887dc147c0be6fec9
|
File details
Details for the file quad_mesh_simplify-1.1.5-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl.
File metadata
- Download URL: quad_mesh_simplify-1.1.5-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
- Upload date:
- Size: 143.9 kB
- Tags: CPython 3.8, manylinux: glibc 2.12+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
95be2317dd236ed6d9286599c0e795abb57c31befbe79e31a9c1b8950e616ae6
|
|
| MD5 |
5fc3851d692fcaeae63d2fa27ae541f4
|
|
| BLAKE2b-256 |
fd56a93fb1907cbcf89218ad7a1306e20748ffc2d4e30b9bbcbe91a98a0d20ce
|
File details
Details for the file quad_mesh_simplify-1.1.5-cp38-cp38-macosx_10_9_x86_64.whl.
File metadata
- Download URL: quad_mesh_simplify-1.1.5-cp38-cp38-macosx_10_9_x86_64.whl
- Upload date:
- Size: 34.7 kB
- Tags: CPython 3.8, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
35645282e2b0b0ab684a4ecf6d93868818598da73da4df1bf796a150a0a6e4af
|
|
| MD5 |
00d2e6679a2d276d40e4d64194692648
|
|
| BLAKE2b-256 |
b719383c77b0549d4b9e3cf6f9dcf7e141bcfd93bb6eaad0df8565a2483f6599
|
File details
Details for the file quad_mesh_simplify-1.1.5-cp37-cp37m-win_amd64.whl.
File metadata
- Download URL: quad_mesh_simplify-1.1.5-cp37-cp37m-win_amd64.whl
- Upload date:
- Size: 27.2 kB
- Tags: CPython 3.7m, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
24a6193335ffc31e6df9930a58da976fd1a4db1cb19364d9178ef5b7b4ac9c2a
|
|
| MD5 |
6f319a74d54c15a65eadd1c1a64d8f85
|
|
| BLAKE2b-256 |
61e647e86ef3827e87b55a7e819394e16ee62b6c00d4c86600854cb31e758f40
|
File details
Details for the file quad_mesh_simplify-1.1.5-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl.
File metadata
- Download URL: quad_mesh_simplify-1.1.5-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
- Upload date:
- Size: 129.6 kB
- Tags: CPython 3.7m, manylinux: glibc 2.12+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7d226e82af542a5ab15e610d742478d0b006d80628e9001fea01ddf2126f0820
|
|
| MD5 |
a30ef761e519d50d90b6f00ed086af5e
|
|
| BLAKE2b-256 |
68342612e6b72698ba9ea834c3c4291d0b1f02a76a022cd8dd21021d9c2508bf
|
File details
Details for the file quad_mesh_simplify-1.1.5-cp37-cp37m-macosx_10_9_x86_64.whl.
File metadata
- Download URL: quad_mesh_simplify-1.1.5-cp37-cp37m-macosx_10_9_x86_64.whl
- Upload date:
- Size: 34.5 kB
- Tags: CPython 3.7m, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d8183b7b919539a0326901a16884a45ebd95d16c7bc1936043976bc8f3c0efcc
|
|
| MD5 |
fb9f0e42b9048ff248c6e11562755897
|
|
| BLAKE2b-256 |
a7f931423e945d38d52e135f5f0f345bb19a6e00bcd460cc543e611c95882e70
|
File details
Details for the file quad_mesh_simplify-1.1.5-cp36-cp36m-win_amd64.whl.
File metadata
- Download URL: quad_mesh_simplify-1.1.5-cp36-cp36m-win_amd64.whl
- Upload date:
- Size: 29.4 kB
- Tags: CPython 3.6m, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
42742668926e56860866deb7ae27da6f568b2044bb9c8e1448afc3d524db1fba
|
|
| MD5 |
57a2b122e01391984d62c8e6bc23d33b
|
|
| BLAKE2b-256 |
a7b35aac8b2919b551648529c5c87fe7150030d863f3d507e5a424916e1e8e7a
|
File details
Details for the file quad_mesh_simplify-1.1.5-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl.
File metadata
- Download URL: quad_mesh_simplify-1.1.5-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
- Upload date:
- Size: 128.6 kB
- Tags: CPython 3.6m, manylinux: glibc 2.12+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
50a35f905852d03b7a14a16eb480bd006c02e717c2b66f687b1b2c85850e7d19
|
|
| MD5 |
f971266eb6c68b19ff8bb9d856ebd741
|
|
| BLAKE2b-256 |
077229d9676d80c2d9de00d0efea8f48ba05650d49caa96e2c4586c0beff8fe1
|
File details
Details for the file quad_mesh_simplify-1.1.5-cp36-cp36m-macosx_10_9_x86_64.whl.
File metadata
- Download URL: quad_mesh_simplify-1.1.5-cp36-cp36m-macosx_10_9_x86_64.whl
- Upload date:
- Size: 34.4 kB
- Tags: CPython 3.6m, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c7f9b36a9c71a79e32a7c1c983d4ebd6f477b1472a99fec2f0d84bbc3f39ba8b
|
|
| MD5 |
aa66407c13f82abe48ea52d54592d3de
|
|
| BLAKE2b-256 |
a0a874b344756df4e1ee622a842ac8c2541dc5dc818ea1e3262b497e2096a856
|