July 07, 2026
Well-shaped simplices are essential for numerical accuracy in several areas of computational mathematics, including the numerical solution of partial differential equations by finite element methods [1]–[6] and manifold meshing [7], [8]. In finite element methods, poorly shaped simplices can lead to large discretization errors and ill-conditioned stiffness matrices. In manifold meshing, simplex quality controls, among other things, the angle between a simplex whose vertices lie on the manifold and the tangent space of the manifold at, or near, those vertices [9].
Several quality measures are used to quantify how well shaped a simplex is. The choice of measure often depends on the field, and sometimes on the specific application. Common examples include the thickness [10], [11], defined as the ratio between the height of the simplex—that is, its smallest altitude—and its largest edge length; the fatness [9], defined as the ratio between the volume of the simplex and the largest edge length raised to the dimension of the simplex; and the inradius–circumradius ratio [12]. These measures are weakly equivalent: upper and lower bounds on one of them yield corresponding upper and lower bounds on the others. Bounds on dihedral angles are also frequently used as a measure of simplex quality. Thickness, in particular, has proved especially convenient in the context of manifold meshing [13], [14], because it can be related directly to the eigenvalues associated with the edge vectors of the simplex.
The main goal of this paper is to extend the classical notion of altitude, which is defined from a vertex to the opposite face, to arbitrary pairs of opposite faces of a simplex (Definition 1). We call the resulting quantities generalized altitudes.
We first show that generalized altitudes provide a natural way to describe the angle between (the affine hulls of) a face of a simplex and its opposite face (Lemma 1). More precisely, they lead to an explicit formula for this angle. The formula is simple, geometrically transparent, and applies uniformly to faces of arbitrary dimension.
We then relate generalized altitudes to standard tools from multilinear algebra and analysis, in particular the (generalized) cross product and the Gram determinant (Corollary 1). This connection gives a second, algebraic formula for generalized altitudes, and provides a bridge between the geometry of simplices and determinant-based analytic estimates.
Finally, we prove a lower bound for generalized altitudes in terms of the height of the simplex (Lemma 2). This estimate shows that lower bounds on the usual height of a simplex also control the generalized altitudes, and therefore gives a direct mechanism for controlling this broader notion of simplex quality.
We believe that both the geometric formula and the algebraic connections developed here are useful tools for studying simplex quality. This usefulness is reflected in the fact that the same notion arose naturally in two projects1 concerned with improved triangulation criteria for Riemannian manifolds, where these formulas became key ingredients in the proofs.
In the remainder of this article, we write \(\sigma\) for an \(n\)-dimensional simplex in the \(n\)-dimensional Euclidean space, \[\sigma = \{v_0,\dots,v_n\}\subseteq \mathbb{R}^n.\] We assume that \(n\geq 2\). For \(0\leq k\leq n\), we write \(\tau\) for the \(k\)-dimensional face of \(\sigma\) consisting of the first \(k+1\) vertices, and \(\tau^*\) for its opposite face, \[\tau=\{v_0,\dots,v_k\}\subseteq\sigma,\qquad \tau^* = \sigma\backslash\tau = \{v_{k+1},\dots,v_n\}\subseteq\sigma.\] We assume \(\sigma\) to be non-degenerate.
The definition of altitude we introduce here is a very natural generalization of the altitude of a vertex:
Definition 1. The altitude* of \(\tau\) (and \(\tau^*\)), \(\mathrm{alt}(\tau,\tau^*),\) is the smallest distance between the affine hulls of \(\tau\), and of \(\tau^*\). In other words, if we denote the affine hulls of \(\tau\) and \(\tau^*\) by \(\mathcal{F}_{\tau}\) and \(\mathcal{F}_{\tau^*}\), respectively, then \[\mathrm{alt}(\tau,\tau^*) = \min_{u\in\mathcal{F}_{\tau}, u^*\in\mathcal{F}_{\tau^*}} d(u,u^*).\]*
This definition encompasses the common notion of the altitude of a vertex, which is the distance from the vertex to the affine hull of the opposing facet in a simplex.
In general, the distance between two smooth (non-intersecting) submanifolds of Euclidean space is attained along a line segment that is normal to both of them at the respective endpoints. This simple idea can be leveraged for simplices to find a concise and useful formula for the generalized altitude. To be more precise:
Lemma 1. Let \[\mathcal{V}_{\tau} = \mathrm{span}\{ v_1-v_0,\dots, v_k-v_0 \}, \qquad\mathcal{V}_{\tau^*} = \mathrm{span}\{v_{k+1} - v_n, \dots,v_{n-1}-v_n\},\] be vector spaces parallel to the affine hulls of \(\tau\) and \(\tau^*\), respectively, and write \(\mathcal{L}= (\mathcal{V}_{\tau}+\mathcal{V}_{\tau*})^\perp\subseteq\mathbb{R}^n\) for their (one-dimensional) orthogonal complement in \(\mathbb{R}^n\).
With this notation we have that, for any non-zero vector \(w\in\mathcal{L}\), the altitude of \(\tau\) and \(\tau^*\) satisfies \[\begin{align} \label{eq:altitude95angle} \mathrm{alt}(\tau,\tau^*) = \left | \left\langle v_0-v_n, \frac{w}{\left\| w \right \|}\right\rangle \right |. \end{align}\qquad{(1)}\]
Proof. The affine hulls \(\mathcal{F}_{\tau}\) and \(\mathcal{F}_{\tau^*}\) of, respectively, \(\tau\) and \(\tau^*\), can be written as
\[\mathcal{F}_{\tau} = v_0 +\mathcal{V}_\tau, \qquad\text{and}\qquad \mathcal{F}_{\tau^*} = v_n+\mathcal{V}_{\tau*}.\]
The altitude \(\mathrm{alt}(\tau,\tau^*)\) is the minimum distance between them, \[\mathrm{alt}(\tau,\tau^*) = \min_{u\in\mathcal{F}_{\tau}, u^*\in\mathcal{F}_{\tau^*}} \left\| u-u^* \right \|= \min_{u\in\mathcal{V}_{\tau}, u^*\in\mathcal{V}_{\tau^*}}\left\| v_0 - v_n + u+u^* \right \|.\] Since the vector spaces \(\mathcal{V}_{\tau}, \mathcal{V}_{\tau^*}\), and \(\mathcal{L}\) have pairwise trivial intersections, there exist unique vectors \(v\in \mathcal{V}_{\tau}, v^*\in\mathcal{V}_{\tau^*}\), and \(\bar{w}\in\mathcal{L}\), such that \[v_0-v_n = v+v^*+\bar{w}.\] With this, \[\begin{align} \left\| v_0 - v_n + u+u^* \right \|^2&=\left\| \bar{w} + (v+u)+(v^*+u^*) \right \|^2\\ &=\left\| \bar{w} \right \|^2+\left\| (v+u)+(v^*+u^*) \right \|^2, \end{align}\] and thus, the minimum \(\min_{u\in\mathcal{V}_{\tau}, u^*\in\mathcal{V}_{\tau^*}}\left\| v_0 - v_n + u+u^* \right \|\) is attained for \(u=-v\) and \(u^*=-v^*\): \[\begin{align} \mathrm{alt}(\tau,\tau^*) &= \min_{u\in\mathcal{V}_{\tau}, u^*\in\mathcal{V}_{\tau^*}}\left\| v_0 - v_n + u+u^* \right \|\\ &=\sqrt{\left\| \bar{w} \right \|^2+\min_{u\in\mathcal{V}_{\tau}, u^*\in\mathcal{V}_{\tau^*}}\left\| (v+u)+(v^*+u^*) \right \|^2}\\ &=\left\| \bar{w} \right \|\\ &=\tfrac{1}{\left\| \bar{w} \right \|} \left\langle\bar{w}, \bar{w}\right\rangle =\tfrac{1}{\left\| \bar{w} \right \|} \left\langle v_0-v_n, \bar{w}\right\rangle. \end{align}\]
Any other non-zero vector \(w\in \mathcal{L}\) is a scalar multiple of \(\bar{w}\), which means that \(\tfrac{w}{\left\| w \right \|}=\pm \tfrac{\bar{w}}{\left\| \bar{w} \right \|}\). Thus, \[\mathrm{alt}(\tau,\tau^*) =\tfrac{1}{\left\| w \right \|} \left | \left\langle v_0-v_n, w\right\rangle \right |.\] ◻
We first review some standard tools from multilinear algebra, adopting the terminology of Duistermaat and Kolk [15].
Definition 2. For linearly independent vectors \(x_1,\dots,x_{n-1}\in\mathbb{R}^n\), the generalized cross product2
\(x_1\times\dots\times x_{n-1}\) is the unique vector such that for any vector \(b\in\mathbb{R}^n\), \[\begin{align}
\label{eq:determinant} \left\langle b, x_1\times\dots\times x_{n-1} \right\rangle = \det (b, x_1,\dots,x_{n-1}).
\end{align}\qquad{(2)}\]
Remark 1. The generalized cross product can also be seen as the Hodge dual of the exterior product: \[x_1\times\dots\times x_{n-1} = \star (x_1\wedge\dots\wedge x_{n-1}).\]
Equality ?? implies that the cross product is perpendicular to all the \(x_i\)’s: For any \(i=1,\dots,n\), \[\left\langle x_i, x_1\times\dots\times x_{n-1} \right\rangle = \det (x_i,\: x_1,\dots,x_i,\dots,x_{n-1})= 0.\] The cross product thus forms a basis of the one-dimensional vector space \(span \{x_1,\dots,x_{n-1}\}^\perp\).
In addition, the norm of the external product has an important geometric meaning. It is the volume of the parallelopiped spanned by \(x_1,\dots,x_{n-1}\), or, in other words, the square root of the Gram determinant of the vectors \(x_1,\dots,x_{n-1}\). To be more concrete, by denoting the parallelopiped by \(P(x_1,\dots,x_{n-1})\), \[P(x_1,\dots,x_{n-1}) = \left\{ \sum_{i=1}^{n-1} t_i x_i \;\middle|\; 0 \le t_i \le 1 \right\},\] and the Gram matrix by \(G(x_1,\dots,x_{n-1})=(\left\langle x_i, x_j\right\rangle)_{i,j=1,\dots,n-1}\), we obtain the equality \[\begin{align} \label{eq:external95product95volume} \left\| x_1\times\dots\times x_{n-1} \right \|=\mathop{\mathrm{vol}}_{n-1}P(x_1,\dots,x_{n-1}) = \sqrt{\det G(x_1,\dots,x_{n-1})}. \end{align}\tag{1}\]
We connect these tools to generalized altitudes by inserting the vectors \(v_1-v_0,\dots, v_k-v_0,v_{k+1}-v_n, \dots,v_{n-1}-v_n\) from Lemma 1 in the place of the vectors \(x_1,\dots,x_{n-1}\). We obtain the following corollary:
Corollary 1. Let \[\hat{v} = (v_1-v_0)\times\dots\times (v_k-v_0)\times (v_{k+1}-v_n)\times \dots\times (v_{n-1}-v_n).\] Then the altitude between \(\tau\) and \(\tau^*\) satisfies \[\begin{align} &\mathop{\mathrm{alt}}(\tau,\tau^*)=\frac{\left | \left\langle v_0-v_n, \hat{v}\right\rangle \right |}{\mathop{\mathrm{vol}}_{n-1}P(v_1-v_0,\dots, v_k-v_0,v_{k+1}-v_n, \dots,v_{n-1}-v_n)}. \end{align}\]
Proof. Once we realize that the vector \(\hat{v}\) is per definition perpendicular to the vectors \(v_1-v_0,\dots, v_k-v_0,v_{k+1}-v_n, \dots,v_{n-1}-v_n\), the statement follows directly from the combination of Eq. ?? and 1 . ◻
The height of \(\sigma\) is the minimum altitude of its vertices, \[\mathop{\mathrm{height}}(\sigma) = \min_{i\in\{0,\dots,n\}}\mathop{\mathrm{alt}}(v_i, \sigma\backslash v_i).\]
Lemma 2. The altitude of every face \(\tau\) of the simplex \(\sigma\) is lower bounded by the height of \(\sigma\): \[\begin{align} \label{eq:bound95with95height} \mathrm{alt}(\tau,\tau^*)\geq 2\:\frac{\mathop{\mathrm{height}}\left(\sigma\right)}{n+1}. \end{align}\qquad{(3)}\]
Proof. As before, let \[\mathcal{V}_{\tau} = \mathrm{span}\{ v_1-v_0,\dots, v_k-v_0 \} \quad\text{and}\quad\mathcal{V}_{\tau^*} = \mathrm{span}\{v_{k+1} - v_n, \dots,v_{n-1}-v_n\}.\] Since \(\mathrm{alt}(\tau,\tau^*)\) is the distance between \(\mathcal{F}_\tau = v_0+\mathcal{V}_\tau\) and \(\mathcal{F}_{\tau^*} = v_n+\mathcal{V}_{\tau^*}\), it is also the distance between the parallel hyperplanes \[\Pi_0 :=v_0 + \mathcal{V}_{\tau}+\mathcal{V}_{\tau^*} \qquad\text{ and }\qquad \Pi_n:= v_n + \mathcal{V}_{\tau}+\mathcal{V}_{\tau^*}.\] The altitude \(\mathrm{alt}(\tau,\tau^*)\) is thus the ‘thickness’ of the space between the hyperplanes \(\Pi_0\) and \(\Pi_n\), or in other words, their convex hull \(\mathrm{conv}{\{\Pi_0,\Pi_n\}}\). At the same time, the hyperplane \(\Pi_0\) contains the vertices \(v_0,\dots,v_k\), and the hyperplane \(\Pi_n\) contains the vertices \(v_{k+1},\dots,v_n\). Thus, the convex hull \(\mathrm{conv}{\{\Pi_0,\Pi_n\}}\) contains the whole simplex \(\sigma\), \[\mathrm{conv}{\{\Pi_0,\Pi_n\}}\supseteq \sigma.\]
In particular, \(\mathrm{conv}{\{\Pi_0,\Pi_n\}}\) also contains the insphere of \(\sigma\) (as illustrated in Figure 1). Thus, \(\mathrm{alt}(\tau,\tau^*)\) is lower bounded by the diameter of the insphere of \(\sigma.\)
The radius of the insphere is further lower bounded by \(\frac{\mathop{\mathrm{height}}\left(\sigma\right)}{n+1}.\) Indeed, the distance of the barycentre to each of the faces of the simplex is lower bounded by \(\frac{\mathop{\mathrm{height}}\left(\sigma\right)}{n+1}\). Thus, the sphere with centre at the barycentre and radius \(\frac{\mathop{\mathrm{height}}\left(\sigma\right)}{n+1}\) is contained in the interior of the simplex. Since the insphere is the largest sphere contained in the interior of a simplex, its radius must be larger than \(\frac{\mathop{\mathrm{height}}\left(\sigma\right)}{n+1}\). ◻
Given that, by definition, \[\mathop{\mathrm{alt}}(v_i,\sigma\backslash v_i)\geq \mathop{\mathrm{height}}(\sigma)\] for every vertex \(v_i\in\sigma\), it is natural to ask to what extent the constant \(\tfrac{2}{n+1}\) in bound ?? can be improved. More concretely, what is the best constant \(c\), such that \[\mathop{\mathrm{alt}}(\tau, \sigma\backslash \tau)\geq c\cdot\mathop{\mathrm{height}}(\sigma)\] for all faces \(\tau\subseteq \sigma\). The following example shows that this constant has to be strictly smaller than 1.
For \(h>0\), consider the tetrahedron \(\sigma\) with vertices \[\begin{align} v_0&= (0,1,0)^t & v_1&= (0,-1,0)^t & v_2&= (1 ,0,h)^t & v_3&= (-1,0,h)^t. \end{align}\]
We depict \(\sigma\) in Figure 2. Since all four faces of \(\sigma\) are congruent, the altitudes at all four vertices \(v_i\) are equal, \[\mathop{\mathrm{alt}}(v_i, \sigma\backslash v_i) = \mathop{\mathrm{height}}(\sigma) = \frac{2h}{\sqrt{1+h^2}}.\] The altitudes of the three pairs of opposite edges equal \[\mathop{\mathrm{alt}}(\{v_0,v_1\}, \{v_2,v_3\}) = \mathop{\mathrm{alt}}(\{v_0,v_2\}, \{v_1,v_3\}) = \sqrt{2}, \quad\mathop{\mathrm{alt}}(\{v_0,v_3\}, \{v_1,v_2\}) =h.\] Thus, for \(0<h<\sqrt{3}\), we have that \(\mathop{\mathrm{alt}}(\{v_0,v_3\}, \{v_1,v_2\})< \mathop{\mathrm{height}}(\sigma)\).