All Projects → hjwdzh → Manifold

hjwdzh / Manifold

Licence: other
Convert any Triangle Mesh to Watertight Manifold

Projects that are alternatives of or similar to Manifold

Jigsaw
JIGSAW is a Delaunay-based unstructured mesh generator for two- and three-dimensional geometries.
Stars: ✭ 83 (-66.93%)
Mutual labels:  triangulation
Cdt
C++ library for constrained Delaunay triangulation (CDT)
Stars: ✭ 165 (-34.26%)
Mutual labels:  triangulation
Unity.library.eppz.geometry
2D Geometry for Unity. Suited for everyday polygon hassle. Polygon clipping, polygon winding direction, polygon area, polygon centroid, centroid of multiple polygons, line intersection, point-line distance, segment intersection, polygon-point containment, polygon triangulation, polygon Voronoi diagram, polygon offset, polygon outline, polygon buffer, polygon union, polygon substraction, polygon boolean operations, and more. It is a polygon fest.
Stars: ✭ 198 (-21.12%)
Mutual labels:  triangulation
Delaunator Sharp
Fast Delaunay triangulation of 2D points implemented in C#.
Stars: ✭ 104 (-58.57%)
Mutual labels:  triangulation
Hxgeomalgo
Small collection of computational geometry algorithms in Haxe.
Stars: ✭ 133 (-47.01%)
Mutual labels:  triangulation
Manifoldplus
ManifoldPlus: A Robust and Scalable Watertight Manifold Surface Generation Method for Triangle Soups
Stars: ✭ 175 (-30.28%)
Mutual labels:  triangulation
Geometry2d
Unity3D: A set of helper classes for 2D geometric calculations.
Stars: ✭ 40 (-84.06%)
Mutual labels:  triangulation
Map Based Visual Localization
A general framework for map-based visual localization. It contains 1) Map Generation which support traditional features or deeplearning features. 2) Hierarchical-Localizationvisual in visual(points or line) map. 3)Fusion framework with IMU, wheel odom and GPS sensors.
Stars: ✭ 229 (-8.76%)
Mutual labels:  triangulation
Sltk
An OpenCV-based structured light processing toolkit.
Stars: ✭ 151 (-39.84%)
Mutual labels:  triangulation
Piccante
The hottest High Dynamic Range (HDR) Library
Stars: ✭ 195 (-22.31%)
Mutual labels:  triangulation
Delaunator
An incredibly fast JavaScript library for Delaunay triangulation of 2D points
Stars: ✭ 1,641 (+553.78%)
Mutual labels:  triangulation
Triangle
Convert images to computer generated art using delaunay triangulation.
Stars: ✭ 1,838 (+632.27%)
Mutual labels:  triangulation
Opensimplelidar
Open Source scanning laser rangefinder
Stars: ✭ 2,206 (+778.88%)
Mutual labels:  triangulation
Earcut
The fastest and smallest JavaScript polygon triangulation library for your WebGL apps
Stars: ✭ 1,359 (+441.43%)
Mutual labels:  triangulation
Poly2tri
2D constrained Delaunay triangulation library
Stars: ✭ 214 (-14.74%)
Mutual labels:  triangulation
Korma
Mathematics library focused on geometry for Multiplatform Kotlin 1.3
Stars: ✭ 65 (-74.1%)
Mutual labels:  triangulation
Openlidar
Open Hardware scanning triangulation laser rangefinder
Stars: ✭ 166 (-33.86%)
Mutual labels:  triangulation
Delaunator Cpp
A really fast C++ library for Delaunay triangulation of 2D points
Stars: ✭ 244 (-2.79%)
Mutual labels:  triangulation
Cgal
The public CGAL repository, see the README below
Stars: ✭ 2,825 (+1025.5%)
Mutual labels:  triangulation
Libtessdotnet
C# port of the famous GLU Tessellator - prebuilt binaries now available in "releases" tab
Stars: ✭ 191 (-23.9%)
Mutual labels:  triangulation

Watertight Manifold

Source code for the paper:

Huang, Jingwei, Hao Su, and Leonidas Guibas. Robust Watertight Manifold Surface Generation Method for ShapeNet Models., arXiv preprint arXiv:1802.01698 (2018).

News!

An advanced version has been released in this new repo.

ShapeNet Manifold Dataset

We prepare the manifold data for 13 categories from ShapeNetCore. You can download them by running the following script.

wget http://download.cs.stanford.edu/orion/Shapenet_Manifold/categories.txt
wget -i categories.txt

Install and Run

For Linux and Mac users, run sh demo.sh to build and try the manifold example.

Install

git clone --recursive -j8 git://github.com/hjwdzh/Manifold
cd Manifold
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make

Manifold Software

We take a triangle mesh "input.obj" and generate a manifold "output.obj". The resolution is the number of leaf nodes of octree. The face number increases linearly with the resolution.

./manifold input.obj output.obj [resolution (Default 20000)]

Simplify Algorithm

Our manifold software generates uniform manifold. For efficiency purpose, a mesh simplification can be used.

./simplify -i input.obj -o output.obj [-m] [-f face_num] [-c max_cost] [-r max_ratio]

Where:

  -m            Turn on manifold check, we don't output model if check fails
  -f face_num   Add termination condition when current_face_num <= face_num
  -c max_cost   Add termination condition when quadric error >= max_cost
  -r max_ratio  Add termination condition when current_face_num / origin_face_num <= max_ratio

Example:

./simplify -i input.obj -o output.obj -m -c 1e-2 -f 10000 -r 0.2

Authors

© Jingwei Huang, Stanford University

IMPORTANT: If you use this software please cite the following in any resulting publication:

@article{huang2018robust,
  title={Robust Watertight Manifold Surface Generation Method for ShapeNet Models},
  author={Huang, Jingwei and Su, Hao and Guibas, Leonidas},
  journal={arXiv preprint arXiv:1802.01698},
  year={2018}
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].