Circumcenter and circumradius #
This file proves some lemmas on points equidistant from a set of points, and defines the circumradius and circumcenter of a simplex. There are also some definitions for use in calculations where it is convenient to work with affine combinations of vertices together with the circumcenter.
Main definitions #
circumcenter
andcircumradius
are the circumcenter and circumradius of a simplex.
References #
p
is equidistant from two points in s
if and only if its
orthogonalProjection
is.
p
is equidistant from a set of points in s
if and only if its
orthogonalProjection
is.
There exists r
such that p
has distance r
from all the
points of a set of points in s
if and only if there exists (possibly
different) r
such that its orthogonalProjection
has that distance
from all the points in that set.
The induction step for the existence and uniqueness of the
circumcenter. Given a nonempty set of points in a nonempty affine
subspace whose direction is complete, such that there is a unique
(circumcenter, circumradius) pair for those points in that subspace,
and a point p
not in that subspace, there is a unique (circumcenter,
circumradius) pair for the set with p
added, in the span of the
subspace with p
added.
Given a finite nonempty affinely independent family of points, there is a unique (circumcenter, circumradius) pair for those points in the affine subspace they span.
The circumsphere of a simplex.
Equations
- s.circumsphere = Exists.choose ⋯
Instances For
The property satisfied by the circumsphere.
The circumcenter of a simplex.
Equations
- s.circumcenter = s.circumsphere.center
Instances For
The circumradius of a simplex.
Equations
- s.circumradius = s.circumsphere.radius
Instances For
The center of the circumsphere is the circumcenter.
The radius of the circumsphere is the circumradius.
The circumcenter lies in the affine span.
All points have distance from the circumcenter equal to the circumradius.
All points lie in the circumsphere.
All points have distance to the circumcenter equal to the circumradius.
Given a point in the affine span from which all the points are equidistant, that point is the circumcenter.
Given a point in the affine span from which all the points are equidistant, that distance is the circumradius.
The circumradius is non-negative.
The circumradius of a simplex with at least two points is positive.
The circumcenter of a 0-simplex equals its unique point.
The circumcenter of a 1-simplex equals its centroid.
Reindexing a simplex along an Equiv
of index types does not change the circumsphere.
Reindexing a simplex along an Equiv
of index types does not change the circumcenter.
Reindexing a simplex along an Equiv
of index types does not change the circumradius.
The orthogonal projection of a point p
onto the hyperplane spanned by the simplex's points.
Equations
- s.orthogonalProjectionSpan = EuclideanGeometry.orthogonalProjection (affineSpan ℝ (Set.range s.points))
Instances For
Adding a vector to a point in the given subspace, then taking the orthogonal projection, produces the original point if the vector is a multiple of the result of subtracting a point's orthogonal projection from that point.
If there exists a distance that a point has from all vertices of a simplex, the orthogonal projection of that point onto the subspace spanned by that simplex is its circumcenter.
If a point has the same distance from all vertices of a simplex, the orthogonal projection of that point onto the subspace spanned by that simplex is its circumcenter.
The orthogonal projection of the circumcenter onto a face is the circumcenter of that face.
Two simplices with the same points have the same circumcenter.
An index type for the vertices of a simplex plus its circumcenter. This is for use in calculations where it is convenient to work with affine combinations of vertices together with the circumcenter. (An equivalent form sometimes used in the literature is placing the circumcenter at the origin and working with vectors for the vertices.)
- pointIndex: {n : ℕ} → Fin (n + 1) → Affine.Simplex.PointsWithCircumcenterIndex n
- circumcenterIndex: {n : ℕ} → Affine.Simplex.PointsWithCircumcenterIndex n
Instances For
Equations
- Affine.Simplex.instFintypePointsWithCircumcenterIndex = Fintype.ofEquiv (Fin (n + 1) ⊕ Unit) (Affine.Simplex.PointsWithCircumcenterIndex.proxyTypeEquiv n)
Equations
- Affine.Simplex.pointsWithCircumcenterIndexInhabited n = { default := Affine.Simplex.PointsWithCircumcenterIndex.circumcenterIndex }
pointIndex
as an embedding.
Equations
- Affine.Simplex.pointIndexEmbedding n = { toFun := fun (i : Fin (n + 1)) => Affine.Simplex.PointsWithCircumcenterIndex.pointIndex i, inj' := ⋯ }
Instances For
The sum of a function over PointsWithCircumcenterIndex
.
The vertices of a simplex plus its circumcenter.
Equations
- s.pointsWithCircumcenter (Affine.Simplex.PointsWithCircumcenterIndex.pointIndex a) = s.points a
- s.pointsWithCircumcenter Affine.Simplex.PointsWithCircumcenterIndex.circumcenterIndex = s.circumcenter
Instances For
pointsWithCircumcenter
, applied to a pointIndex
value,
equals points
applied to that value.
pointsWithCircumcenter
, applied to circumcenterIndex
, equals the
circumcenter.
The weights for a single vertex of a simplex, in terms of
pointsWithCircumcenter
.
Equations
- Affine.Simplex.pointWeightsWithCircumcenter i (Affine.Simplex.PointsWithCircumcenterIndex.pointIndex a) = if a = i then 1 else 0
- Affine.Simplex.pointWeightsWithCircumcenter i Affine.Simplex.PointsWithCircumcenterIndex.circumcenterIndex = 0
Instances For
point_weights_with_circumcenter
sums to 1.
A single vertex, in terms of pointsWithCircumcenter
.
The weights for the centroid of some vertices of a simplex, in
terms of pointsWithCircumcenter
.
Equations
- Affine.Simplex.centroidWeightsWithCircumcenter fs (Affine.Simplex.PointsWithCircumcenterIndex.pointIndex a) = if a ∈ fs then (↑fs.card)⁻¹ else 0
- Affine.Simplex.centroidWeightsWithCircumcenter fs Affine.Simplex.PointsWithCircumcenterIndex.circumcenterIndex = 0
Instances For
centroidWeightsWithCircumcenter
sums to 1, if the Finset
is nonempty.
The centroid of some vertices of a simplex, in terms of pointsWithCircumcenter
.
The weights for the circumcenter of a simplex, in terms of pointsWithCircumcenter
.
Equations
- Affine.Simplex.circumcenterWeightsWithCircumcenter n (Affine.Simplex.PointsWithCircumcenterIndex.pointIndex a) = 0
- Affine.Simplex.circumcenterWeightsWithCircumcenter n Affine.Simplex.PointsWithCircumcenterIndex.circumcenterIndex = 1
Instances For
circumcenterWeightsWithCircumcenter
sums to 1.
The circumcenter of a simplex, in terms of pointsWithCircumcenter
.
The weights for the reflection of the circumcenter in an edge of a
simplex. This definition is only valid with i₁ ≠ i₂
.
Equations
- Affine.Simplex.reflectionCircumcenterWeightsWithCircumcenter i₁ i₂ (Affine.Simplex.PointsWithCircumcenterIndex.pointIndex a) = if a = i₁ ∨ a = i₂ then 1 else 0
- Affine.Simplex.reflectionCircumcenterWeightsWithCircumcenter i₁ i₂ Affine.Simplex.PointsWithCircumcenterIndex.circumcenterIndex = -1
Instances For
The reflection of the circumcenter of a simplex in an edge, in
terms of pointsWithCircumcenter
.
Given a nonempty affine subspace, whose direction is complete, that contains a set of points, those points are cospherical if and only if they are equidistant from some point in that subspace.
Given a nonempty affine subspace, whose direction is finite-dimensional, that contains a set of points, those points are cospherical if and only if they are equidistant from some point in that subspace.
All n-simplices among cospherical points in an n-dimensional subspace have the same circumradius.
Two n-simplices among cospherical points in an n-dimensional subspace have the same circumradius.
All n-simplices among cospherical points in n-space have the same circumradius.
Two n-simplices among cospherical points in n-space have the same circumradius.
All n-simplices among cospherical points in an n-dimensional subspace have the same circumcenter.
Two n-simplices among cospherical points in an n-dimensional subspace have the same circumcenter.
All n-simplices among cospherical points in n-space have the same circumcenter.
Two n-simplices among cospherical points in n-space have the same circumcenter.
All n-simplices among cospherical points in an n-dimensional subspace have the same circumsphere.
Two n-simplices among cospherical points in an n-dimensional subspace have the same circumsphere.
All n-simplices among cospherical points in n-space have the same circumsphere.
Two n-simplices among cospherical points in n-space have the same circumsphere.
Suppose all distances from p₁
and p₂
to the points of a
simplex are equal, and that p₁
and p₂
lie in the affine span of
p
with the vertices of that simplex. Then p₁
and p₂
are equal
or reflections of each other in the affine span of the vertices of the
simplex.