def rotate(self, x, y, z): # translate so rotating around the origin self.verts = Matrix.translate(self.verts, -self.center[0], -self.center[1], -self.center[2]) self.verts = Matrix.rotate(self.verts, x, y, z) self.verts = Matrix.translate(self.verts, self.center[0], self.center[1], self.center[2])
def scale(self, *args): self.verts = Matrix.translate(self.verts, -self.center[0], -self.center[1], -self.center[2]) self.verts = Matrix.scale(self.verts, args) self.verts = Matrix.translate(self.verts, self.center[0], self.center[1], self.center[2])
def translate(self, x, y, z): # should translate the center self.verts = Matrix.translate(self.verts, x, y, z) self.center[0] += x self.center[1] += y self.center[2] += z