Documentation

Mathlib.Geometry.Euclidean.Sphere.OrthRadius

Spaces orthogonal to the radius vector in spheres. #

This file defines the affine subspace orthogonal to the radius vector at a point.

Main definitions #

The affine subspace orthogonal to the radius vector of the sphere s at the point p (if p lies in s, this is the tangent space; generally, this is the polar of the inversion of p in s).

Instances For
    theorem EuclideanGeometry.Sphere.orthRadius_parallel_orthRadius_iff {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace โ„ V] [MetricSpace P] [NormedAddTorsor V P] {s : Sphere P} {p q : P} :
    (s.orthRadius p).Parallel (s.orthRadius q) โ†” โˆƒ (r : โ„), r โ‰  0 โˆง q -แตฅ s.center = r โ€ข (p -แตฅ s.center)
    theorem EuclideanGeometry.Sphere.dist_sq_eq_iff_mem_orthRadius {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace โ„ V] [MetricSpace P] [NormedAddTorsor V P] {s : Sphere P} {p q : P} :
    dist q s.center ^ 2 = dist p s.center ^ 2 + dist q p ^ 2 โ†” q โˆˆ s.orthRadius p
    theorem EuclideanGeometry.Sphere.dist_sq_eq_of_mem_orthRadius {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace โ„ V] [MetricSpace P] [NormedAddTorsor V P] {s : Sphere P} {p q : P} :
    q โˆˆ s.orthRadius p โ†’ dist q s.center ^ 2 = dist p s.center ^ 2 + dist q p ^ 2

    Alias of the reverse direction of EuclideanGeometry.Sphere.dist_sq_eq_iff_mem_orthRadius.

    theorem EuclideanGeometry.Sphere.vadd_mem_inter_orthRadius_iff_norm_sq {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace โ„ V] [MetricSpace P] [NormedAddTorsor V P] {s : Sphere P} {p : P} {v : V} (h : 0 โ‰ค s.radius) (hv : v โˆˆ (โ„ โˆ™ (p -แตฅ s.center))แ—ฎ) :
    v +แตฅ p โˆˆ Metric.sphere s.center s.radius โˆฉ โ†‘(s.orthRadius p) โ†” โ€–vโ€– ^ 2 = s.radius ^ 2 - dist p s.center ^ 2
    theorem EuclideanGeometry.Sphere.inter_orthRadius_eq_singleton_iff {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace โ„ V] [MetricSpace P] [NormedAddTorsor V P] {s : Sphere P} {p q : P} :
    Metric.sphere s.center s.radius โˆฉ โ†‘(s.orthRadius p) = {q} โ†” q = p โˆง dist p s.center = s.radius
    theorem EuclideanGeometry.Sphere.inter_orthRadius_eq_empty_of_finrank_eq_one {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace โ„ V] [MetricSpace P] [NormedAddTorsor V P] {s : Sphere P} {p : P} (hpc : p โ‰  s.center) (hp : dist p s.center โ‰  s.radius) (hf : Module.finrank โ„ V = 1) :
    Metric.sphere s.center s.radius โˆฉ โ†‘(s.orthRadius p) = โˆ…
    theorem EuclideanGeometry.Sphere.inter_orthRadius_eq_empty_iff {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace โ„ V] [MetricSpace P] [NormedAddTorsor V P] {s : Sphere P} {p : P} :
    Metric.sphere s.center s.radius โˆฉ โ†‘(s.orthRadius p) = โˆ… โ†” s.radius < dist p s.center โˆจ Module.finrank โ„ V = 1 โˆง dist p s.center < s.radius โˆง p โ‰  s.center โˆจ Subsingleton V โˆง s.radius โ‰  0
    theorem EuclideanGeometry.Sphere.inter_orthRadius_eq_of_dist_le_radius_of_norm_eq_one {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace โ„ V] [MetricSpace P] [NormedAddTorsor V P] [hf2 : Fact (Module.finrank โ„ V = 2)] {s : Sphere P} {p : P} (hp : dist p s.center โ‰ค s.radius) (hpc : p โ‰  s.center) {v : V} (hv : v โˆˆ (โ„ โˆ™ (p -แตฅ s.center))แ—ฎ) (hv1 : โ€–vโ€– = 1) :
    Metric.sphere s.center s.radius โˆฉ โ†‘(s.orthRadius p) = {โˆš(s.radius ^ 2 - dist p s.center ^ 2) โ€ข v +แตฅ p, -โˆš(s.radius ^ 2 - dist p s.center ^ 2) โ€ข v +แตฅ p}

    In 2D, the line defined by s.orthRadius p intersects s at at most two points so long as p lies within s and not at its center.

    This version provides expressions for those points in terms of an arbitrary vector in s.orthRadius p with norm 1.

    theorem EuclideanGeometry.Sphere.inter_orthRadius_eq_of_dist_le_radius {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace โ„ V] [MetricSpace P] [NormedAddTorsor V P] [hf2 : Fact (Module.finrank โ„ V = 2)] {s : Sphere P} {p : P} (hp : dist p s.center โ‰ค s.radius) (hpc : p โ‰  s.center) {v : V} (hv : v โˆˆ (โ„ โˆ™ (p -แตฅ s.center))แ—ฎ) (hv0 : v โ‰  0) :
    Metric.sphere s.center s.radius โˆฉ โ†‘(s.orthRadius p) = {(โˆš(s.radius ^ 2 - dist p s.center ^ 2) / โ€–vโ€–) โ€ข v +แตฅ p, -(โˆš(s.radius ^ 2 - dist p s.center ^ 2) / โ€–vโ€–) โ€ข v +แตฅ p}

    In 2D, the line defined by s.orthRadius p intersects s at at most two points so long as p lies within s and not at its center.

    This version provides expressions for those points in terms of an arbitrary vector in s.orthRadius p.

    theorem EuclideanGeometry.Sphere.ncard_inter_orthRadius_eq_two_of_dist_lt_radius {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace โ„ V] [MetricSpace P] [NormedAddTorsor V P] [hf2 : Fact (Module.finrank โ„ V = 2)] {s : Sphere P} {p : P} (hp : dist p s.center < s.radius) (hpc : p โ‰  s.center) :
    (Metric.sphere s.center s.radius โˆฉ โ†‘(s.orthRadius p)).ncard = 2

    In 2D, the line defined by s.orthRadius p intersects s at exactly two points so long as p lies strictly within s and not at its center.