Instances For
Instances For
@[simp]
@[simp]
Instances For
Instances For
theorem
PlaneCurves.J_hasDerivAt
(f : ℝ → EuclideanSpace ℝ (Fin 2))
(f' : EuclideanSpace ℝ (Fin 2))
(t : ℝ)
(hf : HasDerivAt f f' t)
:
HasDerivAt (fun (s : ℝ) => J (f s)) (J f') t
theorem
PlaneCurves.analyticAt_antideriv
{F : Type u_1}
[NormedAddCommGroup F]
[NormedSpace ℝ F]
[CompleteSpace F]
{f : ℝ → F}
{x : ℝ}
(hf : AnalyticAt ℝ f x)
(a : ℝ)
:
theorem
PlaneCurves.hasDerivAt_euclidean_pair
{f g : ℝ → ℝ}
{f' g' t : ℝ}
(hf : HasDerivAt f f' t)
(hg : HasDerivAt g g' t)
:
theorem
PlaneCurves.fundamental_theorem_plane_curves
(κ : ℝ → ℝ)
(hκ : ContDiff ℝ ⊤ κ)
:
(∃ (c : ℝ → EuclideanSpace ℝ (Fin 2)), ContDiff ℝ ⊤ c ∧ (∀ (t : ℝ), ‖deriv c t‖ = 1) ∧ ∀ (t : ℝ), curvature c t = κ t) ∧ ∀ (c₁ c₂ : ℝ → EuclideanSpace ℝ (Fin 2)),
ContDiff ℝ ⊤ c₁ →
ContDiff ℝ ⊤ c₂ →
(∀ (t : ℝ), ‖deriv c₁ t‖ = 1) →
(∀ (t : ℝ), ‖deriv c₂ t‖ = 1) →
(∀ (t : ℝ), curvature c₁ t = κ t) →
(∀ (t : ℝ), curvature c₂ t = κ t) →
∃ (A : Matrix (Fin 2) (Fin 2) ℝ) (b : EuclideanSpace ℝ (Fin 2)),
A.det = 1 ∧ A * A.transpose = 1 ∧ ∀ (t : ℝ),
c₂ t = (EuclideanSpace.equiv (Fin 2) ℝ).symm (A.mulVec ((EuclideanSpace.equiv (Fin 2) ℝ) (c₁ t))) + b
theorem
PlaneCurves.osculating_circle
(c : ℝ → EuclideanSpace ℝ (Fin 2))
(_hc : ContDiff ℝ ⊤ c)
(hunit : ∀ (t : ℝ), ‖deriv c t‖ = 1)
(t₀ : ℝ)
(hκ : curvature c t₀ ≠ 0)
:
have center := c t₀ + (curvature c t₀)⁻¹ • J (deriv c t₀);
have R := |(curvature c t₀)⁻¹|;
R > 0 ∧ ‖c t₀ - center‖ = R ∧ inner ℝ (c t₀ - center) (deriv c t₀) = 0 ∧ R⁻¹ = |curvature c t₀| ∧ ∀ (center' : EuclideanSpace ℝ (Fin 2)),
∀ R' > 0,
‖c t₀ - center'‖ = R' →
inner ℝ (c t₀ - center') (deriv c t₀) = 0 →
R'⁻¹ = |curvature c t₀| →
inner ℝ (center' - c t₀) (J (deriv c t₀)) * curvature c t₀ > 0 → center' = center ∧ R' = R