45 lines
1007 B
Plaintext
45 lines
1007 B
Plaintext
import Bookshelf.Real.Geometry.Basic
|
||
|
||
namespace Real
|
||
|
||
/--
|
||
A `Rectangle` is characterized by three distinct points and the angle formed
|
||
between line segments originating from the "bottom left" point.
|
||
-/
|
||
structure Rectangle where
|
||
top_left : ℝ²
|
||
bottom_left : ℝ²
|
||
bottom_right : ℝ²
|
||
distinct_vertices :
|
||
top_left ≠ bottom_left ∧ bottom_left ≠ bottom_right ∧ bottom_right ≠ top_left
|
||
forms_right_angle :
|
||
∠ top_left bottom_left bottom_right distinct_vertices = π / 2
|
||
|
||
namespace Rectangle
|
||
|
||
/--
|
||
A calculation of the missing point.
|
||
-/
|
||
def top_right (r : Rectangle) : ℝ² :=
|
||
sorry
|
||
|
||
/--
|
||
A `Rectangle` is the locus of points bounded by its edges.
|
||
-/
|
||
def set_def (r : Rectangle) : Set ℝ² :=
|
||
sorry
|
||
|
||
/--
|
||
Computes the width of a `Rectangle`.
|
||
-/
|
||
noncomputable def width (r : Rectangle) : ℝ :=
|
||
dist r.bottom_left r.top_left
|
||
|
||
/--
|
||
Computes the height of a `Rectangle`.
|
||
-/
|
||
noncomputable def height (r : Rectangle) : ℝ :=
|
||
dist r.bottom_left r.bottom_right
|
||
|
||
end Real.Rectangle
|