def update(self, t, dt):
        self.wasd.y = 1.5
        self.clear()
        for man in self.men:
            man.update(t, dt)
            a = man.a + pi / 2
            matrix = pg.Matrix().rotate((0, 1, 0), a).translate((-man.x, 0, -man.z))
            inverse = pg.Matrix().rotate((0, 1, 0), -a)
            self.context.light_direction = inverse * pg.normalize((1, 1, 1))
            self.context.camera_position = matrix.inverse() * self.wasd.position
            matrix = self.wasd.get_matrix(matrix)
            matrix = matrix.perspective(65, self.aspect, 0.1, 1000)
            self.context.matrix = matrix
            self.mesh.draw(self.context)
dataset/ETHPy150Open fogleman/pg/examples/lego.py/Window.update/original