def visualise(self, actor_c, starting_state, delay): state = copy.deepcopy(starting_state) visualiser = Visualisation(state) vis = visualiser.visualise() plt.show() while state.check_game_score() == 0: visualiser.make_dead(state.get_board()) vis = visualiser.visualise() if delay > 0: plt.show(block = False) plt.pause(delay) plt.close() else: plt.show(block = True) action = actor_c.choose_action(state.state(), state.get_available_moves(), 0) state.move(action) visualiser.make_dead(state.get_board()) vis = visualiser.visualise() plt.show()
def creerPanelMatplotlib(self): #initialisation de la visualisation self.Visu = Visualisation(self, self.model.Aquifere.getVarList()) sizerVisu = wx.BoxSizer(wx.VERTICAL) #ajout d'un item avec une proportion dans le sizer (95% et 5% ici) avec comme flag wxExpand sizerVisu.Add(self.Visu, 95, wx.EXPAND) basSizer = wx.BoxSizer(wx.HORIZONTAL) basSizer.Add(self.Visu.GetToolBar(), 0) self.pos = wx.StaticText(self, -1, ' x: y:', size=(100, 40)) self.pos.SetOwnBackgroundColour('LIGHT GRAY') basSizer.Add(self.pos, 5, wx.EXPAND) self.notify = wx.StaticText(self, -1, '') font = wx.Font(16, wx.SWISS, wx.NORMAL, wx.NORMAL) self.notify.SetFont(font) self.notify.SetOwnForegroundColour('RED') basSizer.AddSpacer((0, 5), 0) basSizer.Add(self.notify, 5, wx.EXPAND) sizerVisu.Add(basSizer, 5, wx.EXPAND) self.matplot = sizerVisu self.model.setVisu(self.Visu) self.Visu.setVisu(self.model, self.model.getGlist())
from Visualisation import * from Simulator import * import time # Configuratie VISUALISATION = True if __name__ == "__main__": w = World(10) sim = Simulator(w) if VISUALISATION: vis = Visualisation(sim) else: while True: # Create new world and print to screen print(sim.update()) # slow down simulation time.sleep(0.5)
print(f"Classical FK: \n{T}\n") ### Jacobian ### def AdJoint(T): R = T[0:3, 0:3] p = T[0:3, 3] return np.r_[np.c_[np.transpose(R), np.dot(np.transpose(R), Skew(p))], np.c_[np.zeros( (3, 3)), np.transpose(R)]] def JacobianSpace(s_list, thetas): Js = np.array(s_list.T).copy().astype(float) T_J = np.eye(4) for i in range(1, len(thetas)): se3 = Get_s_mul_theta(omega_list[i - 1], v_list[i - 1], thetas[i - 1]) T_J = np.dot(T_J, MatrixExp6(se3)) Js[:, i] = np.dot(AdJoint(T_J), np.array(s_list.T)[:, i]) return Js print(f"Jacobian spatial: \n{JacobianSpace(S_list, q)}\n") print() visual.Visualisation(q, links_length)