From bcc60fda65fd583a331a0a21c4d47092c95329eb Mon Sep 17 00:00:00 2001 From: ubq323 Date: Tue, 18 Feb 2025 21:15:17 +0000 Subject: rect --- pos.lua | 1 + rect.lua | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 rect.lua diff --git a/pos.lua b/pos.lua index 605ecbd..149783e 100644 --- a/pos.lua +++ b/pos.lua @@ -36,6 +36,7 @@ function Pos.lensq(self) return self.x^2 + self.y^2 end function Pos.len(self) return math.sqrt(self:lensq()) end function Pos.norm(self) return self/self:len() end function Pos.dot(self,other) return self.x*other.x+self.y*other.y end +function Pos.vals(self) return self.x, self.y end function Pos.__tostring(self) return string.format("(%.2f,%.2f)",self.x,self.y) end diff --git a/rect.lua b/rect.lua new file mode 100644 index 0000000..ca87e49 --- /dev/null +++ b/rect.lua @@ -0,0 +1,65 @@ +local class = require'r.class' +local Pos = require'r.pos' +local Rect = class() +function Rect.from_coords(cls, x0, y0, x1, y1) + assert(x0