Delaunay Triangulator
Entertainment
Free · Designed for iPad. Not verified for macOS.
This app computes the Delaunay triangulation of a set of points in the plane, which you input by simply tapping the screen. You may also generate random point sets of different sizes to see how long the computation takes.
More on Delaunay triangulation:
For a given set of points on the plane, there exist many possible ways to triangulate them, that is, subdivide the plane into triangles where each point lies on a triangle vertex. Some triangulations produce very thin triangles with high aspect ratios. For a given triangulation, you may list all the angles from each triangle in a list, sorted by their magnitude from smallest to largest; call this the angle tuple for that triangulation. Now, if you take the set of angle tuples from all possible triangulations for the same set of points and sort them, then the largest lexicographic angle tuple is the one containing the largest minimal angle from the triangulation, meaning it is the triangulation that minimizes high aspect triangle slivers.
This is considered optimal since it restricts region boundaries to be the closest possible to the input points. Consider a map with a set of temperature readings from local weather stations. If you wanted to know what the temperature might be between stations, you must interpolate their readings. Triangulating is one way to do this, by setting the temperature of each triangle to the average of the readings from the stations at its vertices. Therefore, a triangulation with high aspect triangles may carry a reading to a place on the map far away from the weather station that recorded it. We'd use the Delaunay Triangulation in this case to optimize this interpolation.
The triangulation is constructed by inserting the points one by one. There are a couple things that can happen on each insertion. If it is the first or second point, no triangles are yet created. Now assume there is one triangle–three possibilities occur on inserting the next point:
1) it lies inside the triangle. In this case, it is split into three new triangles, all adjacent on that new point.
2) it lies outside the triangle. Then two edges are inserted adjacent to the two next closest vertices to create a neighboring triangle adjacent on the edge that joins those two vertices.
3) it lies on an edge of the triangle. In this case, the triangle(s) adjacent on the edge is(are) bisected with an edge joining the new point to the other vertex(vertices) in the triangle(s).
(A fourth possibility exists, if the point is identical to a point already in the triangulation; this is simply ignored.)
After constructing the new triangles, the new edges must be tested for the Delaunay property. This is done by drawing the circumcircle of a newly created triangle that contains the inserted point and the opposite edge, and testing whether the vertex in the neighboring triangle adjacent to that edge lies outside the circumcircle. If it lies on or outside the circumcircle, that edge is considered optimal. If it lies inside, then the edge is remove and a new edge is drawn between the new point and the opposite point tested for incircle orientation, creating two new, oppositely oriented triangles, whose other edges are subsequently tested. This edge legalization process propagates throughout the triangulation recursively until all edges pass the test.
Even more:
https://en.wikipedia.org/wiki/Delaunay_triangulation
https://www.researchgate.net/publication/221561628_Generalized_Delaunay_Mesh_Refinement_From_Scalar_to_Parallel
Ratings & Reviews
- This app hasn’t received enough ratings or reviews to display an overview.
Minor updates and bug fixes
The developer, Andrew McKnight, indicated that the app’s privacy practices may include handling of data as described below. For more information, see the developer’s privacy policy .
Data Not Collected
The developer does not collect any data from this app.
Accessibility
The developer has not yet indicated which accessibility features this app supports. Learn More
Information
- Seller
- Andrew McKnight
- Size
- 5.9 MB
- Category
- Entertainment
- Compatibility
Requires iOS 17.0 or later.
- iPhone
Requires iOS 17.0 or later. - iPad
Requires iPadOS 17.0 or later. - Mac
Requires macOS 14.0 or later and a Mac with Apple M1 chip or later. - Apple Vision
Requires visionOS 1.0 or later.
- iPhone
- Languages
- English
- Age Rating
4+
- 4+
- Copyright
- © 2026 Andrew McKnight
