Documentation

Mathlib.Geometry.Euclidean.Altitude

Altitudes of a simplex #

This file defines the altitudes of a simplex and their feet.

Main definitions #

References #

def Affine.Simplex.altitude {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace V] [MetricSpace P] [NormedAddTorsor V P] {n : } (s : Simplex P n) (i : Fin (n + 1)) :

An altitude of a simplex is the line that passes through a vertex and is orthogonal to the opposite face.

Equations
    Instances For

      The definition of an altitude.

      @[simp]
      theorem Affine.Simplex.altitude_reindex {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace V] [MetricSpace P] [NormedAddTorsor V P] {m n : } (s : Simplex P n) (e : Fin (n + 1) Fin (m + 1)) :
      theorem Affine.Simplex.mem_altitude {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace V] [MetricSpace P] [NormedAddTorsor V P] {n : } (s : Simplex P n) (i : Fin (n + 1)) :

      A vertex lies in the corresponding altitude.

      The direction of an altitude.

      The vector span of the opposite face lies in the direction orthogonal to an altitude.

      theorem Affine.Simplex.altitude_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₂] {n : } (s : Simplex P n) (f : P →ᵃⁱ[] P₂) (i : Fin (n + 1)) :

      An altitude is finite-dimensional.

      @[simp]

      An altitude is one-dimensional (i.e., a line).

      A line through a vertex is the altitude through that vertex if and only if it is orthogonal to the opposite face.

      def Affine.Simplex.altitudeFoot {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace V] [MetricSpace P] [NormedAddTorsor V P] {n : } [NeZero n] (s : Simplex P n) (i : Fin (n + 1)) :
      P

      The foot of an altitude is the orthogonal projection of a vertex of a simplex onto the opposite face.

      Equations
        Instances For
          @[simp]
          theorem Affine.Simplex.altitudeFoot_reindex {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace V] [MetricSpace P] [NormedAddTorsor V P] {m n : } [NeZero m] [NeZero n] (s : Simplex P n) (e : Fin (n + 1) Fin (m + 1)) :
          @[simp]
          theorem Affine.Simplex.altitudeFoot_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₂] {n : } [NeZero n] (s : Simplex P n) (f : P →ᵃⁱ[] P₂) (i : Fin (n + 1)) :
          @[simp]
          theorem Affine.Simplex.altitudeFoot_restrict {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace V] [MetricSpace P] [NormedAddTorsor V P] {n : } [NeZero n] (s : Simplex P n) (S : AffineSubspace P) (hS : affineSpan (Set.range s.points) S) (i : Fin (n + 1)) :
          ((s.restrict S hS).altitudeFoot i) = s.altitudeFoot i
          @[simp]
          theorem Affine.Simplex.ne_altitudeFoot {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace V] [MetricSpace P] [NormedAddTorsor V P] {n : } [NeZero n] (s : Simplex P n) (i : Fin (n + 1)) :
          def Affine.Simplex.height {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace V] [MetricSpace P] [NormedAddTorsor V P] {n : } [NeZero n] (s : Simplex P n) (i : Fin (n + 1)) :

          The height of a vertex of a simplex is the distance between it and the foot of the altitude from that vertex.

          Equations
            Instances For
              @[simp]
              theorem Affine.Simplex.height_reindex {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace V] [MetricSpace P] [NormedAddTorsor V P] {m n : } [NeZero m] [NeZero n] (s : Simplex P n) (e : Fin (n + 1) Fin (m + 1)) :
              (s.reindex e).height = s.height e.symm
              @[simp]
              theorem Affine.Simplex.height_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₂] {n : } [NeZero n] (s : Simplex P n) (f : P →ᵃⁱ[] P₂) (i : Fin (n + 1)) :
              (s.map f.toAffineMap ).height i = s.height i
              @[simp]
              theorem Affine.Simplex.height_restrict {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace V] [MetricSpace P] [NormedAddTorsor V P] {n : } [NeZero n] (s : Simplex P n) (S : AffineSubspace P) (hS : affineSpan (Set.range s.points) S) (i : Fin (n + 1)) :
              (s.restrict S hS).height i = s.height i
              @[simp]
              theorem Affine.Simplex.height_pos {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace V] [MetricSpace P] [NormedAddTorsor V P] {n : } [NeZero n] (s : Simplex P n) (i : Fin (n + 1)) :
              0 < s.height i

              Extension for the positivity tactic: the height of a simplex is always positive.

              Equations
                Instances For
                  theorem Affine.Simplex.inner_vsub_altitudeFoot_vsub_altitudeFoot_eq_zero {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace V] [MetricSpace P] [NormedAddTorsor V P] {n : } (s : Simplex P n) {i j : Fin (n + 1)} (h : i j) :
                  have this := ; inner (s.points j -ᵥ s.altitudeFoot i) (s.points i -ᵥ s.altitudeFoot i) = 0

                  Altitudes are perpendicular to the faces containing their foot.

                  theorem Affine.Simplex.inner_vsub_vsub_altitudeFoot_eq_height_sq {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace V] [MetricSpace P] [NormedAddTorsor V P] {n : } (s : Simplex P n) [NeZero n] {i j : Fin (n + 1)} (h : i j) :
                  inner (s.points i -ᵥ s.points j) (s.points i -ᵥ s.altitudeFoot i) = s.height i ^ 2

                  The inner product of an edge from j to i and the vector from the foot of i to i is the square of the height.

                  theorem Affine.Simplex.abs_inner_vsub_altitudeFoot_lt_mul {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace V] [MetricSpace P] [NormedAddTorsor V P] {n : } (s : Simplex P n) [n.AtLeastTwo] {i j : Fin (n + 1)} (hij : i j) :

                  The inner product of two distinct altitudes has absolute value strictly less than the product of their lengths.

                  Equivalently, neither vector is a multiple of the other; the angle between them is not 0 or π.

                  The inner product of two altitudes has value strictly greater than the negated product of their lengths.