Monge point and orthocenter #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
This file defines the orthocenter of a triangle, via its n-dimensional generalization, the Monge point of a simplex.
Main definitions #
-
monge_point
is the Monge point of a simplex, defined in terms of its position on the Euler line and then shown to be the point of concurrence of the Monge planes. -
monge_plane
is a Monge plane of an (n+2)-simplex, which is the (n+1)-dimensional affine subspace of the subspace spanned by the simplex that passes through the centroid of an n-dimensional face and is orthogonal to the opposite edge (in 2 dimensions, this is the same as an altitude). -
altitude
is the line that passes through a vertex of a simplex and is orthogonal to the opposite face. -
orthocenter
is defined, for the case of a triangle, to be the same as its Monge point, then shown to be the point of concurrence of the altitudes. -
orthocentric_system
is a predicate on sets of points that says whether they are four points, one of which is the orthocenter of the other three (in which case various other properties hold, including that each is the orthocenter of the other three).
References #
The Monge point of a simplex (in 2 or more dimensions) is a generalization of the orthocenter of a triangle. It is defined to be the intersection of the Monge planes, where a Monge plane is the (n-1)-dimensional affine subspace of the subspace spanned by the simplex that passes through the centroid of an (n-2)-dimensional face and is orthogonal to the opposite edge (in 2 dimensions, this is the same as an altitude). The circumcenter O, centroid G and Monge point M are collinear in that order on the Euler line, with OG : GM = (n-1) : 2. Here, we use that ratio to define the Monge point (so resulting in a point that equals the centroid in 0 or 1 dimensions), and then show in subsequent lemmas that the point so defined lies in the Monge planes and is their unique point of intersection.
Equations
- s.monge_point = (↑(n + 1) / ↑(n - 1)) • (finset.centroid ℝ finset.univ s.points -ᵥ s.circumcenter) +ᵥ s.circumcenter
The position of the Monge point in relation to the circumcenter and centroid.
The Monge point lies in the affine span.
Two simplices with the same points have the same Monge point.
The weights for the Monge point of an (n+2)-simplex, in terms of
points_with_circumcenter
.
monge_point_weights_with_circumcenter
sums to 1.
The Monge point of an (n+2)-simplex, in terms of
points_with_circumcenter
.
The weights for the Monge point of an (n+2)-simplex, minus the
centroid of an n-dimensional face, in terms of
points_with_circumcenter
. This definition is only valid when i₁ ≠ i₂
.
Equations
- affine.simplex.monge_point_vsub_face_centroid_weights_with_circumcenter i₁ i₂ affine.simplex.points_with_circumcenter_index.circumcenter_index = (-2) / ↑(n + 1)
- affine.simplex.monge_point_vsub_face_centroid_weights_with_circumcenter i₁ i₂ (affine.simplex.points_with_circumcenter_index.point_index i) = ite (i = i₁ ∨ i = i₂) (↑(n + 1))⁻¹ 0
monge_point_vsub_face_centroid_weights_with_circumcenter
is the
result of subtracting centroid_weights_with_circumcenter
from
monge_point_weights_with_circumcenter
.
monge_point_vsub_face_centroid_weights_with_circumcenter
sums to 0.
The Monge point of an (n+2)-simplex, minus the centroid of an
n-dimensional face, in terms of points_with_circumcenter
.
The Monge point of an (n+2)-simplex, minus the centroid of an n-dimensional face, is orthogonal to the difference of the two vertices not in that face.
A Monge plane of an (n+2)-simplex is the (n+1)-dimensional affine
subspace of the subspace spanned by the simplex that passes through
the centroid of an n-dimensional face and is orthogonal to the
opposite edge (in 2 dimensions, this is the same as an altitude).
This definition is only intended to be used when i₁ ≠ i₂
.
Equations
- s.monge_plane i₁ i₂ = affine_subspace.mk' (finset.centroid ℝ {i₁, i₂}ᶜ s.points) (Span {s.points i₁ -ᵥ s.points i₂})ᗮ ⊓ affine_span ℝ (set.range s.points)
The definition of a Monge plane.
The Monge plane associated with vertices i₁
and i₂
equals that
associated with i₂
and i₁
.
The Monge point lies in the Monge planes.
The direction of a Monge plane.
The Monge point is the only point in all the Monge planes from any one vertex.
An altitude of a simplex is the line that passes through a vertex and is orthogonal to the opposite face.
Equations
- s.altitude i = affine_subspace.mk' (s.points i) ((affine_span ℝ (s.points '' ↑(finset.univ.erase i))).direction)ᗮ ⊓ affine_span ℝ (set.range s.points)
The definition of an altitude.
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.
An altitude is finite-dimensional.
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.
The orthocenter of a triangle is the intersection of its altitudes. It is defined here as the 2-dimensional case of the Monge point.
Equations
The orthocenter equals the Monge point.
The position of the orthocenter in relation to the circumcenter and centroid.
The orthocenter lies in the affine span.
Two triangles with the same points have the same orthocenter.
In the case of a triangle, altitudes are the same thing as Monge planes.
The orthocenter lies in the altitudes.
The orthocenter is the only point lying in any two of the altitudes.
The distance from the orthocenter to the reflection of the circumcenter in a side equals the circumradius.
The distance from the orthocenter to the reflection of the
circumcenter in a side equals the circumradius, variant using a
finset
.
The affine span of the orthocenter and a vertex is contained in the altitude.
Suppose we are given a triangle t₁
, and replace one of its
vertices by its orthocenter, yielding triangle t₂
(with vertices not
necessarily listed in the same order). Then an altitude of t₂
from
a vertex that was not replaced is the corresponding side of t₁
.
Suppose we are given a triangle t₁
, and replace one of its
vertices by its orthocenter, yielding triangle t₂
(with vertices not
necessarily listed in the same order). Then the orthocenter of t₂
is the vertex of t₁
that was replaced.
Four points form an orthocentric system if they consist of the vertices of a triangle and its orthocenter.
Equations
- euclidean_geometry.orthocentric_system s = ∃ (t : affine.triangle ℝ P), t.orthocenter ∉ set.range t.points ∧ s = has_insert.insert t.orthocenter (set.range t.points)
This is an auxiliary lemma giving information about the relation
of two triangles in an orthocentric system; it abstracts some
reasoning, with no geometric content, that is common to some other
lemmas. Suppose the orthocentric system is generated by triangle t
,
and we are given three points p
in the orthocentric system. Then
either we can find indices i₁
, i₂
and i₃
for p
such that p i₁
is the orthocenter of t
and p i₂
and p i₃
are points j₂
and j₃
of t
, or p
has the same points as t
.
For any three points in an orthocentric system generated by
triangle t
, there is a point in the subspace spanned by the triangle
from which the distance of all those three points equals the circumradius.
Any three points in an orthocentric system are affinely independent.
Any three points in an orthocentric system span the same subspace as the whole orthocentric system.
All triangles in an orthocentric system have the same circumradius.
Given any triangle in an orthocentric system, the fourth point is its orthocenter.