Winding Number: Definitions and Simple Results #
Definitions for generalized winding numbers of piecewise C¹ curves, including the Hungerbühler-Wasem angle-based approach.
Main Definitions #
angleAtCrossing— angle at a crossing point where γ passes through z₀windingNumberWithAngles'— winding number via explicit angle sumPiecewiseC1Immersion.translate— translate an immersionexternalWindingContribution— winding from the curve's global topology
Main Results #
windingNumber_smooth_crossing— smooth crossing contributes 1/2windingNumber_corner_crossing— corner with angle α contributes α/(2π)angleAtCrossing_translate— translation invariance of crossing angle
The angle at a crossing point where γ passes through z₀.
arg(L_out) - arg(-L_in) where L_in and L_out are one-sided derivative
limits. At smooth points (not in partition), returns π.
Equations
- angleAtCrossing γ t₀ ht₀ = if h : t₀ ∈ γ.partition then have L_left := Classical.choose ⋯; have L_right := Classical.choose ⋯; L_right.arg - (-L_left).arg else Real.pi
Instances For
Winding number via explicit angle sum at crossings.
Equations
- windingNumberWithAngles' γ z₀ crossings hcrossings_in hcrossings_at = ∑ t : ↥crossings, ↑(angleAtCrossing γ ↑t ⋯) / (2 * ↑Real.pi)
Instances For
A corner crossing with angle α contributes α/(2π).
Translate a piecewise C¹ immersion by a constant.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The angle at a crossing is invariant under translation.
The external winding contribution at a single crossing point. For a closed piecewise C¹ immersion passing through z₀ exactly once, this measures the winding of the curve around z₀ apart from the local crossing angle. Mathematically, this is the classical winding number of the modified curve Λ that detours around z₀ (H-W Proposition 2.2).
The decomposition is n_{z₀}(γ) = N - α/(2π), so N = n_{z₀}(γ) + α/(2π).
When N = 0, the generalized winding number equals -α/(2π).
Equations
- externalWindingContribution γ z₀ t₀ ht₀ = generalizedWindingNumber' γ.toFun γ.a γ.b z₀ + ↑(angleAtCrossing γ t₀ ht₀) / (2 * ↑Real.pi)