Documentation

Mathlib.Geometry.Euclidean.Sphere.Tangent

Tangency for spheres. #

This file defines notions of spheres being tangent to affine subspaces and other spheres.

Main definitions #

The affine subspace as is tangent to the sphere s at the point p.

  • mem_sphere : p ∈ s
  • mem_space : p ∈ as
  • le_orthRadius : as ≀ s.orthRadius p
Instances For
    theorem EuclideanGeometry.Sphere.IsTangentAt.dist_sq_eq_of_mem {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] {s : Sphere P} {p q : P} {as : AffineSubspace ℝ P} (h : s.IsTangentAt p as) (hq : q ∈ as) :
    dist q s.center ^ 2 = s.radius ^ 2 + dist q p ^ 2
    theorem EuclideanGeometry.Sphere.IsTangentAt.mem_and_mem_iff_eq {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] {s : Sphere P} {p q : P} {as : AffineSubspace ℝ P} (h : s.IsTangentAt p as) :
    q ∈ s ∧ q ∈ as ↔ q = p
    theorem EuclideanGeometry.Sphere.IsTangentAt.eq_of_mem_of_mem {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] {s : Sphere P} {p q : P} {as : AffineSubspace ℝ P} (h : s.IsTangentAt p as) (hs : q ∈ s) (has : q ∈ as) :
    q = p
    theorem EuclideanGeometry.Sphere.IsTangentAt.dist_eq_of_mem_of_mem {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] {s : Sphere P} {p₁ pβ‚‚ q : P} {as₁ asβ‚‚ : AffineSubspace ℝ P} (h₁ : s.IsTangentAt p₁ as₁) (hβ‚‚ : s.IsTangentAt pβ‚‚ asβ‚‚) (hq_mem₁ : q ∈ as₁) (hq_memβ‚‚ : q ∈ asβ‚‚) :
    dist q p₁ = dist q pβ‚‚

    If two tangent lines to a sphere pass through the same point q, then the distances from q to the tangent points are equal.

    theorem EuclideanGeometry.Sphere.IsTangentAt.radius_lt_dist_center {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] {s : Sphere P} {as : AffineSubspace ℝ P} {p q : P} (h : s.IsTangentAt p as) (hq : q ∈ as) (hqp : q β‰  p) :

    The affine subspace as is tangent to the sphere s at some point.

    Instances For

      The set of all maximal tangent spaces to the sphere s.

      Instances For
        theorem EuclideanGeometry.Sphere.mem_tangentSet_iff {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] {as : AffineSubspace ℝ P} {s : Sphere P} :
        as ∈ s.tangentSet ↔ βˆƒ p ∈ s, s.orthRadius p = as

        The set of all maximal tangent spaces to the sphere s containing the point p.

        Instances For
          theorem EuclideanGeometry.Sphere.mem_tangentsFrom_iff {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] {as : AffineSubspace ℝ P} {s : Sphere P} {p : P} :
          as ∈ s.tangentsFrom p ↔ as ∈ s.tangentSet ∧ p ∈ as

          The set of all maximal common tangent spaces to the spheres s₁ and sβ‚‚.

          Instances For
            theorem EuclideanGeometry.Sphere.mem_commonTangents_iff {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] {as : AffineSubspace ℝ P} {s₁ sβ‚‚ : Sphere P} :
            as ∈ s₁.commonTangents sβ‚‚ ↔ as ∈ s₁.tangentSet ∧ as ∈ sβ‚‚.tangentSet

            The set of all maximal common internal tangent spaces to the spheres s₁ and sβ‚‚: tangent spaces containing a point weakly between the centers of the spheres.

            Instances For

              The set of all maximal common external tangent spaces to the spheres s₁ and sβ‚‚: tangent spaces not containing a point strictly between the centers of the spheres. (In the degenerate case where the two spheres are the same sphere with radius 0, the space is considered both an internal and an external common tangent.)

              Instances For
                theorem EuclideanGeometry.Sphere.mem_commonIntTangents_iff {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] {as : AffineSubspace ℝ P} {s₁ sβ‚‚ : Sphere P} :
                as ∈ s₁.commonIntTangents sβ‚‚ ↔ as ∈ s₁.commonTangents sβ‚‚ ∧ βˆƒ p ∈ as, Wbtw ℝ s₁.center p sβ‚‚.center
                theorem EuclideanGeometry.Sphere.mem_commonExtTangents_iff {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] {as : AffineSubspace ℝ P} {s₁ sβ‚‚ : Sphere P} :
                as ∈ s₁.commonExtTangents sβ‚‚ ↔ as ∈ s₁.commonTangents sβ‚‚ ∧ βˆ€ p ∈ as, Β¬Sbtw ℝ s₁.center p sβ‚‚.center
                @[simp]
                theorem EuclideanGeometry.Sphere.commonIntTangents_union_commonExtTangents {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] (s₁ sβ‚‚ : Sphere P) :
                s₁.commonIntTangents sβ‚‚ βˆͺ s₁.commonExtTangents sβ‚‚ = s₁.commonTangents sβ‚‚
                structure EuclideanGeometry.Sphere.IsExtTangentAt {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] (s₁ sβ‚‚ : Sphere P) (p : P) :

                The spheres s₁ and sβ‚‚ are externally tangent at the point p.

                Instances For
                  theorem EuclideanGeometry.Sphere.IsExtTangentAt.symm {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] {s₁ sβ‚‚ : Sphere P} {p : P} (h : s₁.IsExtTangentAt sβ‚‚ p) :
                  sβ‚‚.IsExtTangentAt s₁ p
                  theorem EuclideanGeometry.Sphere.isExtTangentAt_comm {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] {s₁ sβ‚‚ : Sphere P} {p : P} :
                  s₁.IsExtTangentAt sβ‚‚ p ↔ sβ‚‚.IsExtTangentAt s₁ p
                  theorem EuclideanGeometry.Sphere.isExtTangentAt_center_iff {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] {s₁ sβ‚‚ : Sphere P} :
                  s₁.IsExtTangentAt sβ‚‚ s₁.center ↔ s₁.radius = 0 ∧ s₁.center ∈ sβ‚‚
                  structure EuclideanGeometry.Sphere.IsIntTangentAt {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] (s₁ sβ‚‚ : Sphere P) (p : P) :

                  The sphere s₁ is internally tangent to the sphere sβ‚‚ at the point p (that is, s₁ lies inside sβ‚‚ and is tangent to it at that point). This includes the degenerate case where the spheres are the same.

                  Instances For
                    theorem EuclideanGeometry.Sphere.isIntTangentAt_center_iff {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] {s₁ sβ‚‚ : Sphere P} :
                    s₁.IsIntTangentAt sβ‚‚ s₁.center ↔ s₁.radius = 0 ∧ s₁.center ∈ sβ‚‚

                    The spheres s₁ and sβ‚‚ are externally tangent at some point.

                    Instances For
                      theorem EuclideanGeometry.Sphere.IsExtTangent.symm {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] {s₁ sβ‚‚ : Sphere P} (h : s₁.IsExtTangent sβ‚‚) :
                      sβ‚‚.IsExtTangent s₁
                      theorem EuclideanGeometry.Sphere.isExtTangent_comm {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] {s₁ sβ‚‚ : Sphere P} :
                      s₁.IsExtTangent sβ‚‚ ↔ sβ‚‚.IsExtTangent s₁

                      The sphere s₁ is internally tangent to the sphere sβ‚‚ at some point.

                      Instances For
                        theorem EuclideanGeometry.Sphere.IsExtTangentAt.isExtTangent {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] {s₁ sβ‚‚ : Sphere P} {p : P} (h : s₁.IsExtTangentAt sβ‚‚ p) :
                        s₁.IsExtTangent sβ‚‚
                        theorem EuclideanGeometry.Sphere.IsIntTangentAt.isIntTangent {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] {s₁ sβ‚‚ : Sphere P} {p : P} (h : s₁.IsIntTangentAt sβ‚‚ p) :
                        s₁.IsIntTangent sβ‚‚
                        theorem EuclideanGeometry.Sphere.IsExtTangent.dist_center {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] {s₁ sβ‚‚ : Sphere P} (h : s₁.IsExtTangent sβ‚‚) :
                        dist s₁.center sβ‚‚.center = s₁.radius + sβ‚‚.radius
                        theorem EuclideanGeometry.Sphere.IsIntTangent.dist_center {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] {s₁ sβ‚‚ : Sphere P} (h : s₁.IsIntTangent sβ‚‚) :
                        dist s₁.center sβ‚‚.center = sβ‚‚.radius - s₁.radius
                        theorem EuclideanGeometry.Sphere.isExtTangent_iff_dist_center {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] {s₁ sβ‚‚ : Sphere P} :
                        s₁.IsExtTangent sβ‚‚ ↔ dist s₁.center sβ‚‚.center = s₁.radius + sβ‚‚.radius ∧ 0 ≀ s₁.radius ∧ 0 ≀ sβ‚‚.radius
                        theorem EuclideanGeometry.Sphere.isIntTangent_iff_dist_center {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] [Nontrivial V] {s₁ sβ‚‚ : Sphere P} :
                        s₁.IsIntTangent sβ‚‚ ↔ dist s₁.center sβ‚‚.center = sβ‚‚.radius - s₁.radius ∧ 0 ≀ s₁.radius ∧ 0 ≀ sβ‚‚.radius