Support forms and orientations of equilateral triangles in triangular coordinates #
The support value of a direction e at a point q is the determinant cross e q; the three
edge directions of an equilateral triangle are e, rot e, rot (rot e) where rot is the
rotation by 120 degrees, rot (a, b) = (-a-b, a). The Orientation structure records an exact
description of a nondegenerate filled triangle as the intersection of three halfspaces with
these normals; the sum of the three offsets equals side · |e|. This is the geometric fact
behind the certificate checker: three chosen mandatory points give a lower bound for the side
of any triangle of this orientation containing them, and the endpoint/forbidden-point contact
conditions are inherited from Halfspaces.lean.
The algebra of the cone lemma (support_bound_on_cone) is adapted from
SevenTriangles/Geometry/Support.lean (commit b17ca52a) to the metric a² + ab + b².
Bilinearity of cross and the metric #
Euclidean length.
Equations
Instances For
Cones #
The support numerator of a direction for three chosen points.
Equations
- ConwaySoifer.supportNum e p₀ p₁ p₂ = ConwaySoifer.cross e p₀ + ConwaySoifer.cross (ConwaySoifer.rot e) p₁ + ConwaySoifer.cross (ConwaySoifer.rot (ConwaySoifer.rot e)) p₂
Instances For
Endpoint support certificates propagate to every direction of their cone.
The two chiralities of an equilateral triangle #
The third vertex of an equilateral triangle is obtained from the first edge by a rotation of
±60 degrees.
Orientations #
An exact halfspace description of a filled triangle whose outward edge directions are the
three successive 120-degree rotations of dir, together with the side identity.
- dir : Point
An outward edge direction in triangular coordinates.
The three bounds for the successive rotated edge directions.
Instances For
Consequences used by the checker #
Three contained points bound the side from below.
Any direction-form certificate len l ≤ supportNum l … for three contained points forces
1 ≤ side, provided l is a positive multiple of the orientation direction.
The halfspace system of an orientation.
Equations
- O.system = { normal := fun (j : Fin 3) => ConwaySoifer.linearForm (-(ConwaySoifer.rotPow j O.dir).2, (ConwaySoifer.rotPow j O.dir).1), offset := O.offset }
Instances For
A full ray endpoint has an outward edge direction with positive exit derivative that is supported at the endpoint.
A forbidden point on a positive ray from a contained point has a strictly separating outward edge direction with positive exit derivative.
The three 120-degree cones cover the plane #
The constant east vector in triangular coordinates.
Equations
Instances For
Relabelling the faces and choosing a representative in the first cone #
Every nondegenerate triangle has an orientation whose direction lies in the closed cone from
eastDir to rot eastDir.
Parallel vectors inside the first cone #
In the closed cone from eastDir to rot eastDir, a nonzero vector parallel to another
nonzero vector of the cone is a positive multiple of it.