1 Introduction

The standard regularity condition, for instance used by Ciarlet [5], says that a family of simplicial meshes is well suited for finite element methods if for each simplex in a mesh in the family, the inscribed ball is not too small compared to the element diameter. An equivalent condition is that all angles are bounded away from zero, as in Ženíšek or Zlámal [4, 12, 13]. However, it is by now well known that weaker conditions can give the same rate of convergence. These conditions include semiregularity and maximal angle conditions, see e.g. work of Brandts, Hannukainen, Korotov and Křížek [1,2,3, 7]. Compared to regularity, the advantage is that certain classes of degenerating mesh elements are allowed. For the purposes of this article, we only need to formulate these conditions for triangles (for simplices in general, angles between adjacent faces of various dimensions are used).

Definition 1 (Minimal and Maximal Angle Conditions)

A family of triangular meshes satisfies the minimal angle condition if there is a constant α 0 > 0 such that each angle of each triangle appearing in the family of meshes is no smaller than α 0.

A family of triangular meshes satisfies the maximal angle condition if there is a constant α 0 > 0 such that each angle of each triangle appearing in the family of meshes is no larger than π − α 0.

In order to emphasize the difference between various conditions about degenerations, it is important to have a model for simplices that includes representatives for the degenerations one is interested in. The methods introduced could also be of interest for e.g. finite volume methods, see for instance [9, 10].

2 The Set of Simplices and Symmetries

In this section the sets that we consider are introduced.

Definition 2

An n-simplex in \(\mathbb {R}^n\) is given as the convex hull of n + 1 points that are in general position, i.e. that are not contained in the same affine hyperplane. A degenerate simplex is given by n + 1 points that are contained in some affine hyperplane. For emphasis, we will sometimes say that a simplex is non-degenerate.

We are only interested in the shape of a simplex, not its size, position, orientation, or the ordering of vertices (this can be described using symmetry groups). Therefore we can change a given simplex as follows, preserving its shape:

  • Find two vertices whose distance is equal to the diameter of the simplex.

  • Move the simplex so that one of these vertices, say A, is placed in the origin.

  • Scale the simplex so that the second vertex, say B, has distance one from A (so the diameter is one).

  • Rotate the simplex so that B is on the positive x-axis, i.e. has coordinates B = (1, 0, …, 0).

  • Choose a third vertex C, and rotate so that it is in the xy-plane.

  • For each remaining vertex, rotate the simplex so that the new vertex only has nonzero coordinates in one coordinate more than the previous vertex.

We can then parametrize simplicial shapes by the space of coordinates from the third vertex onwards. There is still some finite symmetry that can be considered, but the dimension of the space cannot be further reduced. One can for instance demand that the last non-zero coordinate for each point should be positive, which can be achieved by reflection. Note that the dimension is equal to the number of non-zero coordinates from the third vertex onwards, which is

$$\displaystyle \begin{aligned} \operatorname{dim}\big(\text{set of shapes of }n\text{-simplices}\big)=2+3+\dots+n = \frac{n(n+1)}{2}-1. \end{aligned}$$

For triangles, this means that the dimension is reduced from six (two coordinates for each of three points) to just two.

There are other interesting possibilities for choosing normalizations, which sometimes allow easier reasoning. For instance in [11], the author chose a parameter space without rotating simplices (so of higher dimension), which was suited to compute the probability that a randomly drawn simplex is well-centered. The model from that paper is badly suited to study degenerations, however.

3 Triangles and Degenerations of Triangles

We will introduce and compare different models for studying shapes of triangles. In the explicit models in this section, we have removed finite symmetries, so that there is an actual bijection between our parametrizing sets and the (abstract) set of triangular shapes.

3.1 Triangular Shapes from Normalized Positions of Vertices

If we follow the recipe from the introduction, the vertices of our modified triangle will be A = (0, 0), B = (1, 0) and C = (C x, C y). The dimension is two, as both coordinates of C are allowed to vary. Since AB is the diameter of the triangle, C must be in the intersection of the unit circles centered on A and B, respectively. By reflection and reordering we can assume that C y > 0 and that C is closer to A than to B (so that C x ≤ 1∕2) (Fig. 1).

Fig. 1
figure 1

C is restricted to lie in the region to the left of the dotted vertical line, above the x-axis and inside the circular segment centered on B

With these choices, our parametrizing set has three boundary components:

  1. (a)

    The component C x = 1∕2 parametrizes isosceles triangles where the two smaller edges have equal length.

  2. (b)

    The component \((C_x-1)^2+C_y^2=1\) parametrizes isosceles triangles where the two largest edges have equal length.

  3. (c)

    The component C y = 0 represents degenerations where A, B and C are collinear.

Understanding degenerations and their place in the parametrizing space is important for us, so let us look at a point C = (C x, 0) representing a degeneration. In Fig. 2 we see a concrete family degenerating to this point. Note that for 0 < C x ≤ 1∕2, the angles at A and B tend to zero, whereas the angle at C tends to π; both the maximal and the minimal angle conditions are violated.

Fig. 2
figure 2

A degeneration where both the minimal angle and the maximal angle conditions are violated

3.2 Triangular Shapes from Angles

The shape of a triangle can also be given by its angles. Since the three angles sum to π, it is sufficient to consider the two smallest angles α ≤ β, so that the largest angle γ = π − α − β ≥ β. This space is shown in Fig. 3.

Fig. 3
figure 3

The two smallest angles α and β are bounded by α = 0, α = β and β = π − α − β

The set parametrizing the angles is again bounded by three components:

  1. (a)

    The component α = β parametrizes isosceles triangles where the two smallest angles are equal.

  2. (b)

    The component β = π − α − β parametrizes isosceles triangles where the two largest angles are equal.

  3. (c)

    The component α = 0 represents degenerations where two vertices come together.

The third case is the most interesting for us as α = 0 represents degenerate triangles. So consider a degenerate triangle represented by (0, β) in Fig. 3. A concrete family degenerating to this is shown in Fig. 4. Note that the angle at B tends to zero, but that the maximal angle condition is satisfied.

Fig. 4
figure 4

A degenerating family with fixed middle angle β violates the minimal but not the maximal angle condition

Remark 3

The main difference between our two models is the degenerations that are represented by points on the boundary. In Fig. 1, a point (C x, 0) with 0 < C x ≤ 1∕2 represents a degeneration where three different points are collinear, and where the maximal angle condition is violated. Any degeneration where the maximal angle condition is satisfied must be represented by the single point (C x, C y) = (0, 0). In Fig. 3, a point (0, β) with 0 < β ≤ π∕2 represents a degeneration where two points come together, and where the maximal angle condition is satisfied. Any degeneration with three different collinear points must be represented by the single point (α, β) = (0, 0).

Our goal is to integrate the two good properties of these two models into a single model. We will achieve this starting from the model in Fig. 3, but changing to polar coordinates (r, θ) (Fig. 5).

Fig. 5
figure 5

The set described in Theorem 4

Theorem 4

The set of triangular shapes can be parametrized as a subset of the (r, θ)-plane with the following properties:

  1. a)

    It is bounded by the four curves θ = π∕2, θ = π∕4, r = 0 and \(r\sin \theta = \pi -r\cos \theta -r\sin \theta \).

  2. b)

    The boundary components θ = π∕4 and \(r\sin \theta = \pi -r\cos \theta -r\sin \theta \) parametrize isosceles triangles.

  3. c)

    The boundary component θ = π∕2 parametrizes degeneration limits with fixed middle angle.

  4. d)

    The boundary component r = 0 parametrizes degeneration limits with three different collinear points.

Proof

We will start from the model in Fig. 3, and then introduce polar coordinates (r, θ). The line α = β is then changed to the line θ = π∕4 and the line α = 0 to the line θ = π∕2. Since the line β = π − α − β does not pass through the origin, it is changed into a more complicated curve with equation \(r\sin \theta = \pi -r\cos \theta -r\sin \theta \). Finally, the point (0, 0) is transformed into the whole line segment (0, θ) for θ ∈ [π∕4, π∕2]. Since polar coordinates and cartesian coordinates are in bijection outside the locus r = 0, we get parts a), b) and c) in the theorem. To see that part d) also holds, we will need to understand what a family degenerating to a point (0, θ) looks like. If we think of this as the limit limr→0(r, θ), we see that it is represented by a family where the ratio of the two smallest angles is constant. By the law of sines, we then see that this is the same information as is contained in a degeneration to the x-axis in the model represented in Fig. 1.

Remark 5

We could have started from the model in Fig. 1 and introduced polar coordinates to achieve a similar result.

3.3 Mappings Between Models

Starting from representing triangular shapes by the two smallest angles (α, β), we can find the coordinates of the third vertex C (A = (0, 0) and B = (1, 0) are the two first) by a simple computation, giving a map

$$\displaystyle \begin{aligned} \phi:(\alpha,\beta)\mapsto \left(\frac{\tan\alpha}{\tan\alpha+\tan\beta},\frac{\tan\alpha\tan\beta}{\tan\alpha+\tan\beta}\right). \end{aligned}$$

In Fig. 3, the domain of definition of ϕ is the complement of the origin, and the image of ϕ in Fig. 1 is the complement of the x-axis. However, if we precompose ϕ with the polar coordinates map \((r,\theta )\mapsto (r\cos \theta ,\,r\sin \theta )\), we get a map

$$\displaystyle \begin{aligned} \begin{array}{ccl} \tilde{\phi}: (r,\theta) & \mapsto &\left(\frac{\tan (r\cos\theta)}{\tan (r\cos\theta)+\tan (r\sin\theta)},\frac{\tan (r\cos\theta)\tan (r\sin\theta)}{\tan (r\cos\theta)+\tan (r\sin\theta)}\right). \end{array} \end{aligned}$$

The map \(\tilde {\phi }\) as defined has domain of definition {(r, θ)| r > 0}, but can be continuously extended to r = 0 by

$$\displaystyle \begin{aligned} (0,\theta)\mapsto \left(\frac{1}{1+\tan \theta},\,\, 0\right). \end{aligned}$$

With this extension, we see that our good model in Theorem 4 maps surjectively to both our previously defined models. Furthermore, it maps bijectively onto the open subsets corresponding to non-degenerate simplices, as well as to the boundary components that represent degenerations that are adequately handled by each of the two models.

4 Tetrahedra

Due to limitations of space, only a short comment about tetrahedral shapes is included. Degenerations of tetrahedra come in several flavours, see e.g. Edelsbrunner [6]. Different types of degenerations form a partially ordered set, as some can be thought of as further degenerations of others. The simplest example is that the intersection of the two families of degenerations known as caps and slivers represent the degenerations known as spades, see Fig. 6.

Fig. 6
figure 6

Spades as common degenerations of caps and slivers

In a tetrahedral model similar to the one shown for triangles in Fig. 1, caps and slivers would be represented by four-dimensional boundary components of a five-dimensional set representing tetrahedral shapes. Their intersection, representing spades, would be three-dimensional. If this intersection is blown up, we would get a model where spades are also represented as a four-dimensional boundary component, whereas the components representing caps and slivers would be pulled apart and intersect in a lower dimensional set. The process of blowing up replaces a lower-dimensional subset with a higher dimensional one, see e.g. the lecture notes of Melrose [8] for a good introduction to these ideas. The simplest case is blowing up the origin of a plane, which basically introduces polar coordinates.

In [6], caps and slivers are handled in separate ways. Therefore it is sensible to have a model where these two types of degenerations are kept apart.

There are several types of degenerations of tetrahedra, grouped into flat (four points that almost span only a plane) and skinny (four points that almost span only a line) tetrahedra. Some of these have acceptable behaviour for finite element meshes, whereas others do not [7]. As for triangular shapes, different models for tetrahedra can highlight different degeneration types. If we wish to have the opportunity to study different types together, blowing up can be a useful tool. However, because of the greater variety of tetrahedral degenerations, the limitations of available space in the present article excludes a detailed analysis in this case. Hopefully, this can be addressed in a publication in the near future.