After Triangle finishes writing a mesh to disk, it generates statistics describing the mesh. Typically, they appear as follows.
Statistics: Input vertices: 518 Input segments: 518 Input holes: 6 Mesh vertices: 811 Mesh triangles: 1110 Mesh edges: 1926 Mesh exterior boundary edges: 522 Mesh interior boundary edges: 0 Mesh subsegments (constrained edges): 522Most of these figures are self-explanatory. `Exterior boundary edges' is the total number of edges on the boundary of the mesh, including internal holes. (Each exterior boundary edge is an edge of just one triangle). `Interior boundary edges' is the total number of subsegments (constrained edges that make up input segments) that are not on the boundary of the mesh. (Each interior boundary edge is an edge of two triangles). `Mesh subsegments' is the sum of the exterior and interior boundary edges.
When the -V switch is used, more detailed statistics are generated, as illustrated below.
Mesh quality statistics:
Smallest area: 2.4708e-06 | Largest area: 0.002675
Shortest edge: 0.0018129 | Longest edge: 0.10057
Shortest altitude: 0.0011442 | Largest aspect ratio: 4.6264
Triangle aspect ratio histogram:
1.1547 - 1.5 : 158 | 15 - 25 : 0
1.5 - 2 : 366 | 25 - 50 : 0
2 - 2.5 : 259 | 50 - 100 : 0
2.5 - 3 : 178 | 100 - 300 : 0
3 - 4 : 142 | 300 - 1000 : 0
4 - 6 : 7 | 1000 - 10000 : 0
6 - 10 : 0 | 10000 - 100000 : 0
10 - 15 : 0 | 100000 - : 0
(Aspect ratio is longest edge divided by shortest altitude)
Smallest angle: 15.024 | Largest angle: 133.2
Angle histogram:
0 - 10 degrees: 0 | 90 - 100 degrees: 150
10 - 20 degrees: 1 | 100 - 110 degrees: 151
20 - 30 degrees: 379 | 110 - 120 degrees: 68
30 - 40 degrees: 466 | 120 - 130 degrees: 20
40 - 50 degrees: 439 | 130 - 140 degrees: 3
50 - 60 degrees: 441 | 140 - 150 degrees: 0
60 - 70 degrees: 367 | 150 - 160 degrees: 0
70 - 80 degrees: 650 | 160 - 170 degrees: 0
80 - 90 degrees: 195 | 170 - 180 degrees: 0
Memory allocation statistics:
Maximum number of vertices: 811
Maximum number of triangles: 1110
Maximum number of subsegments: 522
Maximum number of encroached subsegments: 1
Maximum number of bad triangles: 531
Maximum number of stacked triangle flips: 4
Approximate heap memory use (bytes): 95440
The mesh quality statistics are self-explanatory. The memory allocation
statistics describe the use of various internal structures, whose purpose
can be divined by reading the comments in the source code for Triangle.
(`Viri' are used to spread holes and area constraints.) The memory
use is the most salient statistic, giving an account of most of the memory
dynamically allocated by Triangle.
Algorithmic statistics: Number of incircle tests: 7362 Number of 2D orientation tests: 15346 Number of triangle circumcenter computations: 292An `incircle' test checks whether a point falls inside the unique circle that passes through three other points. An `orientation' test checks three points to see if they are arranged in clockwise or counterclockwise order, or if they are collinear. A `circumcenter computation' finds the center of the circumscribing circle of a triangle; this operation is used to generate Steiner points for the Delaunay refinement algorithm, and vertices for the Voronoi diagram.
If you've forgotten the statistics for an existing mesh, run Triangle on that mesh with the -rNEP switches to read the mesh and print the statistics without writing any files. Also use the -p switch if you've got a .poly file for the mesh, and the -V switch if you want mesh quality statistics.