Skip to content

Commit 8b1673c

Browse files
committed
feat(Geometry/Euclidean/Basic): projection of vertex to opposite face of simplex (#23712)
Add two simple lemmas about the projection of a vertex of a simplex onto the opposite face (that arise while setting up the theory of `incenter` and `excenter`). ```lean @[simp] lemma ne_orthogonalProjection_faceOpposite (i : Fin (n + 1)) : s.points i ≠ orthogonalProjection (affineSpan ℝ (Set.range (s.faceOpposite i).points)) (s.points i) := by ``` ```lean lemma dist_orthogonalProjection_faceOpposite_pos (i : Fin (n + 1)) : 0 < dist (s.points i) (orthogonalProjection (affineSpan ℝ (Set.range (s.faceOpposite i).points)) (s.points i)) := by ```
1 parent 95556a9 commit 8b1673c

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

Mathlib/Geometry/Euclidean/Basic.lean

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -628,3 +628,32 @@ theorem reflection_vadd_smul_vsub_orthogonalProjection {s : AffineSubspace ℝ P
628628
(Submodule.smul_mem _ _ (vsub_orthogonalProjection_mem_direction_orthogonal s _))
629629

630630
end EuclideanGeometry
631+
632+
namespace Affine
633+
634+
namespace Simplex
635+
636+
open EuclideanGeometry
637+
638+
variable {V : Type*} {P : Type*}
639+
variable [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P]
640+
variable [NormedAddTorsor V P]
641+
642+
variable {n : ℕ} [NeZero n] (s : Simplex ℝ P n)
643+
644+
@[simp] lemma ne_orthogonalProjection_faceOpposite (i : Fin (n + 1)) :
645+
s.points i ≠
646+
orthogonalProjection (affineSpan ℝ (Set.range (s.faceOpposite i).points)) (s.points i) := by
647+
intro h
648+
rw [eq_comm, EuclideanGeometry.orthogonalProjection_eq_self_iff,
649+
mem_affineSpan_range_faceOpposite_points_iff] at h
650+
simp at h
651+
652+
lemma dist_orthogonalProjection_faceOpposite_pos (i : Fin (n + 1)) :
653+
0 < dist (s.points i)
654+
(orthogonalProjection (affineSpan ℝ (Set.range (s.faceOpposite i).points)) (s.points i)) := by
655+
simp
656+
657+
end Simplex
658+
659+
end Affine

0 commit comments

Comments
 (0)