Skip to content
This repository was archived by the owner on Jul 24, 2024. It is now read-only.

Commit 89417b9

Browse files
committed
feat(geometry/euclidean/basic): angles in subspaces (#16610)
Add lemmas that the angle between two vectors or three points in a subspace equals the angle between those vectors or points in the whole space.
1 parent 33c6eea commit 89417b9

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

src/geometry/euclidean/basic.lean

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,10 @@ by rw [angle, angle, real_inner_smul_left, inner_smul_right, norm_smul, norm_smu
9191
angle (f u) (f v) = angle u v :=
9292
by rw [angle, angle, f.inner_map_map, f.norm_map, f.norm_map]
9393

94+
@[simp, norm_cast] lemma _root_.submodule.angle_coe {s : submodule ℝ V} (x y : s) :
95+
angle (x : V) (y : V) = angle x y :=
96+
s.subtypeₗᵢ.angle_map x y
97+
9498
lemma is_conformal_map.preserves_angle {E F : Type*}
9599
[inner_product_space ℝ E] [inner_product_space ℝ F]
96100
{f' : E →L[ℝ] F} (h : is_conformal_map f') (u v : E) :
@@ -412,6 +416,11 @@ end
412416
∠ (f p₁) (f p₂) (f p₃) = ∠ p₁ p₂ p₃ :=
413417
by simp_rw [angle, ←affine_isometry.map_vsub, linear_isometry.angle_map]
414418

419+
@[simp, norm_cast] lemma _root_.affine_subspace.angle_coe {s : affine_subspace ℝ P}
420+
(p₁ p₂ p₃ : s) :
421+
by haveI : nonempty s := ⟨p₁⟩; exact ∠ (p₁ : P) (p₂ : P) (p₃ : P) = ∠ p₁ p₂ p₃ :=
422+
by haveI : nonempty s := ⟨p₁⟩; exact s.subtypeₐᵢ.angle_map p₁ p₂ p₃
423+
415424
/-- The angle at a point does not depend on the order of the other two
416425
points. -/
417426
lemma angle_comm (p1 p2 p3 : P) : ∠ p1 p2 p3 = ∠ p3 p2 p1 :=

0 commit comments

Comments
 (0)