Namespace Alis.Core.Physic.Common.Decomposition
Namespaces
Classes
- BayazitDecomposer
-
Convex decomposition algorithm created by Mark Bayazit (http://mnbayazit.com/) Properties:
- Tries to decompose using polygons instead of triangles.
- Tends to produce optimal results with low processing time.
- Running time is O(nr), n = number of vertices, r = reflex vertices.
- Does not support holes. For more information about this algorithm, see http://mnbayazit.com/406/bayazit
- CDTDecomposer
-
2D constrained Delaunay triangulation algorithm. Based on the paper "Sweep-line algorithm for constrained Delaunay triangulation" by V. Domiter and and B. Zalik Properties:
- Creates triangles with a large interior angle.
- Supports holes
- Generate a lot of garbage due to incapsulation of the Poly2Tri library.
- Running time is O(n^2), n = number of vertices.
- Does not care about winding order. Source: http://code.google.com/p/poly2tri/
- EarclipDecomposer
-
Convex decomposition algorithm using ear clipping Properties:
- Only works on simple polygons.
- Does not support holes.
- Running time is O(n^2), n = number of vertices. Source: http://www.ewjordan.com/earClip/
- FlipcodeDecomposer
-
Convex decomposition algorithm created by unknown Properties:
- No support for holes
- Very fast
- Only works on simple polygons
- Only works on counter clockwise polygons More information: http://www.flipcode.com/archives/Efficient_Polygon_Triangulation.shtml
- SeidelDecomposer
-
Convex decomposition algorithm created by Raimund Seidel Properties:
- Decompose the polygon into trapezoids, then triangulate.
- To use the trapezoid data, use ConvexPartitionTrapezoid()
- Generate a lot of garbage due to incapsulation of the Poly2Tri library.
- Running time is O(n log n), n = number of vertices.
- Running time is almost linear for most simple polygons.
- Does not care about winding order. For more information, see Raimund Seidel's paper "A simple and fast incremental randomized algorithm for computing trapezoidal decompositions and for triangulating polygons" See also: "Computational Geometry", 3rd edition, by Mark de Berg et al, Chapter 6.2 "Computational Geometry in C", 2nd edition, by Joseph O'Rourke Original code from the Poly2Tri project by Mason Green. http://code.google.com/p/poly2tri/source/browse?repo=archive#hg/scala/src/org/poly2tri/seidel This implementation is from Dec 14, 2010
- EarclipDecomposer.Triangle
-
The triangle class
- Triangulate
-
The triangulate class
Enums
- TriangulationAlgorithm
-
The triangulation algorithm enum