Finite simplicial complexes in the plane #
The shared geometric foundation for the Moise route (Moise, Geometric Topology in Dimensions 2 and 3, Ch. 0 and Ch. 7 conventions): finite complexes of genuine affine simplexes in the Euclidean plane.
The support of a PlaneComplex is defined as the union of the convex hulls of its faces, vertex
positions are actual points, faces are affinely independent, and distinct faces meet in the hull
of their shared vertex set. None of these fields is satisfiable by bookkeeping alone:
face_inter is a genuine geometric constraint (it fails, for example, for two triangles that
overlap in an open region).
IsAffineOn/IsPLOn give the honest piecewise-linear predicates: a map is PL on a complex when
it is affine on every face of some subdivision. A generic continuous map is not PL on any
complex with a 2-face, in contrast to the vacuous IsPLOnSimplexes this replaces.
The Euclidean plane used throughout the Moise route.
Instances For
A closed triangle in the plane: the convex hull of three affinely independent points.
Equations
Instances For
Affine independence transports to the inclusion of a finite set of points contained in the range of the independent family.
Every finite set of at most two distinct plane points is affinely independent.
Every positive ball about one endpoint of a nondegenerate segment contains a relative interior point of that segment.
An endpoint of a nondegenerate segment cannot lie strictly between two distinct points of that segment.
If two collinear points bracket the midpoint of a segment and neither lies in its relative interior, then they bracket the whole segment.
If a nondegenerate segment contains two distinct points on the horizontal axis, then both endpoints lie on that axis.
A finite simplicial complex of affine simplexes in the plane: finitely many vertices at genuine positions, faces of at most three affinely independent vertices, closed under nonempty subsets, with any two face carriers meeting exactly in the carrier of their shared vertex set.
- Vertex : Type
The (finite) vertex type.
The vertex type is finite.
- vertexDecidableEq : DecidableEq self.Vertex
Vertices have decidable equality.
The position of each vertex in the plane.
- position_injective : Function.Injective self.position
Distinct vertices sit at distinct points.
The faces (simplexes) of the complex, as vertex sets.
Faces are nonempty.
Faces have at most three vertices: the complex is at most two-dimensional.
- down_closed (s : Finset self.Vertex) : s ∈ self.simplexes → ∀ s' ⊆ s, s'.Nonempty → s' ∈ self.simplexes
Faces are closed under passing to nonempty subsets.
- affineIndependent (s : Finset self.Vertex) : s ∈ self.simplexes → AffineIndependent ℝ fun (v : ↥s) => self.position ↑v
The vertices of each face are affinely independent, so its carrier is a genuine geometric simplex of dimension
card - 1. - face_inter (s : Finset self.Vertex) : s ∈ self.simplexes → ∀ t ∈ self.simplexes, (convexHull ℝ) (self.position '' ↑s) ∩ (convexHull ℝ) (self.position '' ↑t) = (convexHull ℝ) (self.position '' ↑(s ∩ t))
Face carriers intersect exactly in the carrier of their shared vertices. This is the face-to-face condition that makes the complex simplicial rather than an arbitrary union.
Instances For
A finite mesh specified only by its maximal triangles. This is the convenient construction
interface for line subdivision: all vertices, edges, and singleton faces are generated by
TriangleMesh.toPlaneComplex.
- Vertex : Type
The
Vertexdeclaration. - vertexDecidableEq : DecidableEq self.Vertex
The
positiondeclaration.- position_injective : Function.Injective self.position
The
trianglesdeclaration.
Instances For
The mesh consisting of one geometric triangle.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Transport a triangle mesh by an affine equivalence of the plane.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Reposition the vertices of a triangle mesh while retaining its abstract triangles. The caller supplies the geometric nondegeneracy and face-to-face proofs for the new positions.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Delete one maximal triangle from a mesh. Vertices no longer used by any triangle are retained; this keeps the vertex type and geometric positions definitionally unchanged.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Reindex a triangle mesh inside a larger finite vertex type without changing any geometric positions. Extra vertices of the target type may be unused.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Keep a selected collection of maximal triangles. Unused vertices remain in the ambient finite vertex type; they do not contribute faces or support.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Every finite triangle mesh determines a finite plane complex.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The carrier of a face: the convex hull of its vertex positions.
Equations
- K.cellCarrier s = (convexHull ℝ) (K.position '' ↑s)
Instances For
The support of the complex: the union of its face carriers.
Equations
- K.support = ⋃ s ∈ K.simplexes, K.cellCarrier s
Instances For
The support of a finite plane complex is compact.
Transport a finite plane complex through an affine equivalence.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The subcomplex consisting of the vertices and edges of K.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Keep the faces of L which lie in a face of K. This is the standard way to turn an
ambient line arrangement into a subdivision subordinate to a pre-existing complex.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Keep precisely the faces whose carriers lie in a prescribed geometric set.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The support of a mesh is the union of one maximal triangle and the support left after deleting it.
The two-dimensional cells generated by a triangle mesh are exactly its listed maximal triangles.
Affine transport carries the support of a triangle mesh to the affine image of its original support.
Reindexing without changing positions preserves support.
K' subdivides K: same support, and every face carrier of K' lies inside some face
carrier of K.
Equations
- K'.Subdivides K = (K'.support = K.support ∧ ∀ s' ∈ K'.simplexes, ∃ s ∈ K.simplexes, K'.cellCarrier s' ⊆ K.cellCarrier s)
Instances For
f is piecewise linear on the complex K: affine on every face of some subdivision.
This is the honest PL predicate: a map that is not affine on any neighborhood of a point interior
to a 2-cell of K cannot satisfy it, in contrast to the vacuous IsPLOnSimplexes of the
retiring PL.lean layer.
Equations
- One or more equations did not get rendered due to their size.
Instances For
f is a PL embedding of the support of K: piecewise linear and injective on the support.
Equations
Instances For
A function is PL on a geometric set when the set is the support of a finite plane complex on which the function is PL.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Restrict an affine-on-set witness to a smaller set.
Composition of affine-on-set maps is affine when the first map carries the source set into the set on which the second map is affine.
A function agreeing with an affine map on a set is continuous there.
An affine-on-set map sends every segment contained in the set to the segment between the endpoint images.
An affine-on-hull map carries a finite convex hull to the convex hull of the images.
A map affine on the support is PL without further subdivision.
A PL witness on a subdivision is also a PL witness on the original complex.
A PL map is continuous on the support of its complex.
PL maps remain PL after affine changes of coordinates in source and target.
Barycentric evaluation of weights supported on a face lands in that face's carrier.
Every point of a face carrier has barycentric weights supported on that face.
Barycentric weights on an affinely independent face are unique.
The canonical barycentric homeomorphism from the abstract realization of a pure plane complex to its geometric support.
Equations
- K.realizationHomeomorph hpure = ⋯.homeoOfEquivCompactToT2
Instances For
Realization bridge (elementary): a purely two-dimensional plane complex induces a geometric triangulation of its support, by barycentric coordinates in the face containing each point. Injectivity is the uniqueness of barycentric coordinates on each affinely independent face, glued across faces by the face-to-face intersection condition.