Documentation

LeanPool.NandakumarRamanaRao.HumanVerification.CauchyCrofton.PolygonApproximation

Polygonal approximation from inside #

For a planar convex body K with the origin in its interior and any r > 1, a sufficiently fine uniform angle system produces an inscribed polygon P with

r⁻¹ • K ⊆ P ⊆ K.

The construction uses the uniform angles θ j = j * (2π / M), so the cyclic order of the vertices is immediate. The inclusion r⁻¹ • K ⊆ P follows from two elementary facts:

The uniform angle system with M directions.

Equations
Instances For
    @[simp]
    theorem HumanVerification.CauchyCrofton.uniformAngles_θ (M : ℕ) (hM : 5 ≤ M) (j : ℤ) :
    (uniformAngles M hM).θ j = ↑j * (2 * Real.pi / ↑M)
    theorem HumanVerification.CauchyCrofton.mem_convexHull_triangle_of_norm_le {α γ t : ℝ} (hαt : α ≤ t) (htγ : t ≤ γ) (hlt : γ - α < Real.pi) {a b L s : ℝ} (hL : 0 < L) (ha : L ≤ a) (hb : L ≤ b) (hs : 0 ≤ s) (hsle : s ≤ L * Real.cos ((γ - α) / 2)) :

    Chord estimate. A point of the plane whose direction lies in the angular sector [α, γ] and whose norm is at most L * cos ((γ - α)/2) lies in the triangle spanned by the origin and two points of radius at least L in the directions α and γ.

    Inner and outer radii of a convex body with the origin in its interior.

    theorem HumanVerification.CauchyCrofton.add_ball_subset_of_smul {K : Body} {ρ : ℝ} (hball : Metric.ball 0 ρ ⊆ K.carrier) {r : ℝ} (hr : 1 < r) {x : Point2} (hx : x ∈ r⁻¹ • K.carrier) {y : Point2} (hy : ‖y - x‖ < (1 - r⁻¹) * ρ) :

    A shrunken copy of K stays inside K together with a uniform ball.

    theorem HumanVerification.CauchyCrofton.exists_polygon_sandwich (K : Body) (h0 : 0 ∈ interior K.carrier) {r : ℝ} (hr : 1 < r) :
    ∃ (A : AngleSystem), r⁻¹ • K.carrier ⊆ polySet K A

    Inscribed polygonal approximation.