def draw_dual(self, tube):
     self.cone_handles = []
     self.trans = com_target.p
     apex = [0., 0., self.acc_scale * -9.81] + self.trans
     colors = [(0.5, 0.5, 0., 0.3), (0., 0.5, 0.5, 0.3)]
     if tube.start_stance.label.startswith('SS'):
         colors.reverse()
     for (stance_id, cone_vertices) in enumerate(tube.dual_vrep):
         color = colors[stance_id]
         vscale = [self.acc_scale * array(v) + self.trans
                   for v in cone_vertices]
         self.cone_handles.extend(draw_cone(
             apex=apex, axis=[0, 0, 1], section=vscale[1:], combined='r-#',
             color=color))
Example #2
0
 def draw(self, acc_scale=0.05):
     from pymanoid.gui import draw_cone, draw_polyhedron
     handles = []
     cyan, yellow = (0., 0.5, 0.5, 0.3), (0.5, 0.5, 0., 0.3)
     handles.extend(draw_polyhedron(self.primal_vrep, '*.-#', color=cyan))
     origin = self.primal_vrep[0]
     apex = origin + [0., 0., acc_scale * -9.81]
     vscale = [acc_scale * array(v) + origin for v in self.dual_vrep]
     handles.extend(
         draw_cone(apex=apex,
                   axis=[0, 0, 1],
                   section=vscale[1:],
                   combined='r-#',
                   color=yellow))
     return handles