Documentation

Mathlib.Geometry.Euclidean.Sphere.SecondInter

Second intersection of a sphere and a line #

This file defines and proves basic results about the second intersection of a sphere with a line through a point on that sphere.

Main definitions #

The second intersection of a sphere with a line through a point on that sphere; that point if it is the only point of intersection of the line with the sphere. The intended use of this definition is when p โˆˆ s; the definition does not use s.radius, so in general it returns the second intersection with the sphere through p and with center s.center.

Equations
    Instances For
      @[simp]
      theorem EuclideanGeometry.Sphere.secondInter_map {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace โ„ V] [MetricSpace P] [NormedAddTorsor V P] {Vโ‚‚ : Type u_3} {Pโ‚‚ : Type u_4} [NormedAddCommGroup Vโ‚‚] [InnerProductSpace โ„ Vโ‚‚] [MetricSpace Pโ‚‚] [NormedAddTorsor Vโ‚‚ Pโ‚‚] (s : Sphere P) (p : P) (v : V) (f : P โ†’แตƒโฑ[โ„] Pโ‚‚) :
      { center := f s.center, radius := s.radius }.secondInter (f p) (f.linearIsometry v) = f (s.secondInter p v)
      theorem EuclideanGeometry.Sphere.coe_secondInter {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace โ„ V] [MetricSpace P] [NormedAddTorsor V P] (as : AffineSubspace โ„ P) [Nonempty โ†ฅas] (s : Sphere โ†ฅas) (p : โ†ฅas) (v : โ†ฅas.direction) :
      โ†‘(s.secondInter p v) = { center := โ†‘s.center, radius := s.radius }.secondInter โ†‘p โ†‘v
      @[simp]

      The distance between secondInter and the center equals the distance between the original point and the center.

      @[simp]

      The point given by secondInter lies on the sphere.

      @[simp]

      If the vector is zero, secondInter gives the original point.

      The point given by secondInter equals the original point if and only if the line is orthogonal to the radius vector.

      A point on a line through a point on a sphere equals that point or secondInter.

      A point on a line through a point on a sphere and a second point equals that point or secondInter.

      @[simp]
      theorem EuclideanGeometry.Sphere.secondInter_smul {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace โ„ V] [MetricSpace P] [NormedAddTorsor V P] (s : Sphere P) (p : P) (v : V) {r : โ„} (hr : r โ‰  0) :

      secondInter is unchanged by multiplying the vector by a nonzero real.

      @[simp]

      secondInter is unchanged by negating the vector.

      @[simp]

      Applying secondInter twice returns the original point.

      If the vector passed to secondInter is given by a subtraction involving the point in secondInter, the result of secondInter may be expressed using lineMap.

      theorem EuclideanGeometry.Sphere.secondInter_vsub_mem_affineSpan {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace โ„ V] [MetricSpace P] [NormedAddTorsor V P] (s : Sphere P) (pโ‚ pโ‚‚ : P) :
      s.secondInter pโ‚ (pโ‚‚ -แตฅ pโ‚) โˆˆ affineSpan โ„ {pโ‚, pโ‚‚}

      If the vector passed to secondInter is given by a subtraction involving the point in secondInter, the result lies in the span of the two points.

      If the vector passed to secondInter is given by a subtraction involving the point in secondInter, the three points are collinear.

      theorem EuclideanGeometry.Sphere.wbtw_secondInter {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace โ„ V] [MetricSpace P] [NormedAddTorsor V P] {s : Sphere P} {p p' : P} (hp : p โˆˆ s) (hp' : dist p' s.center โ‰ค s.radius) :

      If the vector passed to secondInter is given by a subtraction involving the point in secondInter, and the second point is not outside the sphere, the second point is weakly between the first point and the result of secondInter.

      theorem EuclideanGeometry.Sphere.sbtw_secondInter {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace โ„ V] [MetricSpace P] [NormedAddTorsor V P] {s : Sphere P} {p p' : P} (hp : p โˆˆ s) (hp' : dist p' s.center < s.radius) :

      If the vector passed to secondInter is given by a subtraction involving the point in secondInter, and the second point is inside the sphere, the second point is strictly between the first point and the result of secondInter.

      If the point passed to secondInter is a vertex of a simplex, lying on the sphere, and all vertices lie on or inside the sphere, and the vector passed to secondInter is given by a subtraction involving that vertex and a point in the interior of the opposite face, the given vertex and the result of secondInter are on opposite sides of that face.

      theorem EuclideanGeometry.Sphere.sOppSide_faceOpposite_secondInter_of_mem_interior {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace โ„ V] [MetricSpace P] [NormedAddTorsor V P] {s : Sphere P} {n : โ„•} [n.AtLeastTwo] {sx : Affine.Simplex โ„ P n} {i : Fin (n + 1)} (hi : sx.points i โˆˆ s) (hsx : โˆ€ (j : Fin (n + 1)), dist (sx.points j) s.center โ‰ค s.radius) {p : P} (hp : p โˆˆ sx.interior) :

      If the point passed to secondInter is a vertex of a simplex, lying on the sphere, and all vertices lie on or inside the sphere, and the vector passed to secondInter is given by a subtraction involving that vertex and a point in the interior of the simplex, the given vertex and the result of secondInter are on opposite sides of the face opposite that vertex.