Angle Conversions #
Recall in Euclidean Geometry, the measure of angle is subtle. The measure of an angle can be treated as a number in ℝ⧸2π
, (- π, π]
, [0, 2π)
, ℝ⧸π
, or even [0, π]
(after taking abs). Each of them has their own suitable applications.
ℝ⧸2π
: add and sub of angles, angle between dirrcted object;(- π, π]
: measure of oriented angle, angles of a triangle, positions;[0, 2π)
: length of arc, central angle;ℝ⧸π
: measure of directed angle when discussing four points concyclic, angle between lines[0, π]
: cosine theorem, undirected angles.
In this file, we define suitable coversion function between ℝ⧸2π
,ℝ⧸π
and (- π, π]
. Starting from Dir.toAngValue
, we convert Dir
to AngValue
. We shall primarily use ℝ/2π
, and gives coercion and compatibility theorems with respect to ℝ⧸π
and (- π, π]
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- EuclidGeom.AngDValue.instCircularOrderAngDValue = QuotientAddGroup.circularOrder
An induction principle to deduce results for AngDValue
from those for ℝ
, used with
induction θ using AngDValue.induction_on
.
Equations
- EuclidGeom.AngDValue.lift f hf = Quotient.lift (fun (v : ℝ) => f ∠[v]) (_ : ∀ (v₁ v₂ : ℝ), v₁ ≈ v₂ → (fun (v : ℝ) => f ∠[v]) v₁ = (fun (v : ℝ) => f ∠[v]) v₂)
Instances For
Equations
- EuclidGeom.piNotation = Lean.ParserDescr.node `EuclidGeom.piNotation 1024 (Lean.ParserDescr.symbol "π")
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
The canonical map from ℝ
to the quotient AngValue
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Delaborator for AngValue.coe
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
An angle is positive if it is strictly between 0
and π
.
Instances For
An angle is negative if it is strictly between - π
and 0
.
Instances For
Equations
Instances For
The absolute value of an angle $θ$ is the absolute value of $θ.toReal$.
Equations
- EuclidGeom.AngValue.abs θ = |θ.toReal|
Instances For
The absolute value of an angle is equal to its norm.
Half of an angle. Note that there are two possible values when dividing by two in AngValue
(their difference is π
). We choose the acute angle as the canonical value for half of an angle
for angles not equal to π
, and the half of π
is defined as π / 2
.
Equations
- EuclidGeom.AngValue.half θ = ∠[θ.toReal / 2]