Documentation

Mathlib.Geometry.Euclidean.NinePointCircle

Nine-point circle #

This file defines the nine-point circle of a triangle, and its higher dimension analogue, the 3(n+1)-point sphere of a simplex. Specifically for triangles, we show that it passes through nine specific points as desired.

Main definitions #

References #

The 3(n+1)-point sphere of a simplex. Due to the lack of a better name and to avoid numbers in the identifier, we still use the name "nine-point circle" even for higher dimensions. The center $N$ is defined on the Euler line, collinear with circumcenter $O$ and centroid $G$, in the order of $O$, $G$, and $N$, with $OG : GN = n : 1$. The radius is $1/n$ of the circumradius.

Equations
    Instances For
      theorem Affine.Simplex.ninePointCircle_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β‚‚) :
      (s.map f.toAffineMap β‹―).ninePointCircle = { center := f s.ninePointCircle.center, radius := s.ninePointCircle.radius }
      def Affine.Simplex.eulerPoint {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)) :
      P

      Euler points are a set of points that the ninePointCircle passes through. They are defined as being $1/n$th of the way from the Monge point to a vertex. Specifically for triangles, these are the midpoints between the orthocenter and a given vertex (Affine.Triangle.eulerPoint_eq_midpoint).

      Equations
        Instances For
          @[simp]
          theorem Affine.Simplex.eulerPoint_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)) :
          (s.map f.toAffineMap β‹―).eulerPoint i = f (s.eulerPoint i)