Chapter 7 Delaunay triangulation metrics

## Classes 'sf' and 'data.frame':   396 obs. of  18 variables:
##  $ V1            : int  172 28 168 117 270 92 175 182 253 14 ...
##  $ V2            : int  30 188 186 57 253 144 137 148 169 15 ...
##  $ V3            : int  186 162 42 63 121 169 240 111 121 116 ...
##  $ ID            : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ angleA        : num  72.5 55.9 63.6 65.9 66.9 ...
##  $ angleB        : num  56.4 72.7 65.3 75.5 56.6 ...
##  $ angleC        : num  51.1 51.5 51.2 38.6 56.6 ...
##  $ incircle_r    : num  0.487 0.407 0.428 0.316 0.306 ...
##  $ circumcircle_R: num  1.011 0.845 0.872 0.717 0.618 ...
##  $ c_Ox          : num  8.17 10.46 6.41 -3.77 -7.86 ...
##  $ c_Oy          : num  -3.13 1.76 -3.7 -8.74 2.25 ...
##  $ i_Ox          : num  8.25 10.31 6.44 -3.57 -7.92 ...
##  $ i_Oy          : num  -2.96 1.77 -3.58 -8.61 2.23 ...
##  $ radius_edge   : num  0.643 0.639 0.642 0.801 0.599 ...
##  $ radius_ratio  : num  0.482 0.482 0.491 0.44 0.495 ...
##  $ area          : num  1.264 0.883 0.963 0.568 0.488 ...
##  $ quality       : num  0.969 0.97 0.983 0.884 0.991 ...
##  $ geometry      :sfc_POLYGON of length 396; first list element: List of 1
##   ..$ : num [1:4, 1:2] 8.44 9.06 7.16 8.44 -2.16 ...
##   ..- attr(*, "class")= chr [1:3] "XY" "POLYGON" "sfg"
##  - attr(*, "sf_column")= chr "geometry"
##  - attr(*, "agr")= Factor w/ 3 levels "constant","aggregate",..: NA NA NA NA NA NA NA NA NA NA ...
##   ..- attr(*, "names")= chr [1:17] "V1" "V2" "V3" "ID" ...

Returned is an sf object with the following geometric attributes of the user supplied Delaunay triangulation

  • V1, V2, and V3 corresponding vertices of mesh matches mesh$graph$tv;
  • ID, numeric triangle id;
  • angleA, angleB, and angleC, the interior angles;
  • circumcircle radius, circumradius, circumcircle_R ();
  • incircle radius incircle_r (\(r\));
  • centroid locations of the circumcircle, circumcenter, (c\_Ox, c\_Oy);
  • centroid locations of the incircle, incenter, (i\_Ox, i\_Oy);
  • the radius-edge ratio radius_edge \(\frac{R}{l_{min}}\), where \(l_{min}\) is the minimum edge length;
  • the radius ratio radius_ratio \(\frac{r}{R}\);
  • area, area (\(A\));
  • quality a measure of “quality” defined as \(\frac{4\sqrt{3}|A|}{\Sigma_{i = 1}^3 L_i^2}\), where \(L_i\) is the length of edge \(i\).

A triangle’s circumcircle (circumscribed circle) is the unique circle that passes through each of its three vertices. A triangle’s incircle (inscribed circle) is the largest circle that can be contained within it (i.e., touches it’s three edges).

To plot each triangle’s metric of choice simply change the fill aesthetic. Simply a tool to identify “bad” triangles in the mesh.