def __init__(self, pos=None, shape=None, theta=None): self.theta = float(theta or 0) xmin, xmax, ymin, ymax = aabb_bbox(pos=pos, shape=shape) vertices = [(xmax, ymin), (xmax, ymax), (xmin, ymax), (xmin, ymin)] super(Rectangle, self).__init__(vertices) if theta: self.rotate(self.theta)
def __init__(self, xmin=None, xmax=None, ymin=None, ymax=None, pos=None, vel=(0, 0), mass=None, density=None, bbox=None, shape=None, rect=None, **kwds): # Define as propriedades das caixas de contorno xmin, xmax, ymin, ymax = aabb_bbox(bbox=bbox, rect=rect, shape=shape, pos=pos, xmin=xmin, xmax=xmax, ymin=ymin, ymax=ymax) pos = ((xmin + xmax) / 2., (ymin + ymax) / 2.) self._delta_x = dx = (xmax - xmin) / 2 self._delta_y = dy = (ymax - ymin) / 2 self.cbb_radius = sqrt(dx**2 + dy**2) aabb = _AABB(xmin, xmax, ymin, ymax) super(AABB, self).__init__(pos, vel, mass=mass, density=density, baseshape=aabb, **kwds)
def __init__(self, xmin=None, xmax=None, ymin=None, ymax=None, pos=None, vel=(0, 0), mass=None, density=None, bbox=None, shape=None, rect=None): # Define as propriedades das caixas de contorno xmin, xmax, ymin, ymax = aabb_bbox(bbox=bbox, rect=rect, shape=shape, pos=pos, xmin=xmin, xmax=xmax, ymin=ymin, ymax=ymax) pos = ((xmin + xmax) / 2., (ymin + ymax) / 2.) super(AABB, self).__init__(xmin, xmax, ymin, ymax, pos, vel, mass=mass, density=density)
def __init__(self, xmin=None, xmax=None, ymin=None, ymax=None, pos=None, vel=(0, 0), mass=None, density=None, bbox=None, shape=None, rect=None, **kwds): # Define as propriedades das caixas de contorno xmin, xmax, ymin, ymax = aabb_bbox(bbox=bbox, rect=rect, shape=shape, pos=pos, xmin=xmin, xmax=xmax, ymin=ymin, ymax=ymax) pos = ((xmin + xmax) / 2., (ymin + ymax) / 2.) self._delta_x = dx = (xmax - xmin) / 2 self._delta_y = dy = (ymax - ymin) / 2 self.cbb_radius = sqrt(dx ** 2 + dy ** 2) super(AABB, self).__init__(pos, vel, mass=mass, density=density, **kwds)
def __init__(self, xmin=None, xmax=None, ymin=None, ymax=None, pos=None, vel=(0, 0), theta=0.0, omega=0.0, mass=None, density=None, inertia=None, bbox=None, rect=None, shape=None): '''Cria um retângulo especificando ou a caixa de contorno ou a posição do centro de massa e a forma. Pode ser inicializado como uma AABB, mas gera um polígono como resultado. >>> r = Rectangle(shape=(200, 100)) >>> r.rotate(pi/4) >>> r.bbox # doctest: +ELLIPSIS (-106.066..., 106.066..., -106.066..., 106.066...) ''' bbox = aabb_bbox(bbox=bbox, rect=rect, shape=shape, pos=pos, xmin=xmin, ymin=ymin, xmax=xmax, ymax=ymax) xmin, xmax, ymin, ymax = bbox super(Rectangle, self).__init__([(xmax, ymin), (xmax, ymax), (xmin, ymax), (xmin, ymin)], None, vel, theta, omega, mass=mass, density=density, inertia=inertia)
def __init__(self, xmin=None, xmax=None, ymin=None, ymax=None, pos=None, vel=(0, 0), theta=0.0, omega=0.0, bbox=None, rect=None, shape=None, **kwds): '''Cria um retângulo especificando ou a caixa de contorno ou a posição do centro de massa e a forma. Pode ser inicializado como uma AABB, mas gera um polígono como resultado. >>> r = Rectangle(shape=(200, 100)) >>> r.rotate(pi/4) >>> r.bbox # doctest: +ELLIPSIS (-106.066..., 106.066..., -106.066..., 106.066...) ''' xmin, xmax, ymin, ymax = aabb_bbox( xmin=xmin, ymin=ymin, xmax=xmax, ymax=ymax, bbox=bbox, rect=rect, shape=shape, pos=pos) super(Rectangle, self).__init__( [(xmax, ymin), (xmax, ymax), (xmin, ymax), (xmin, ymin)], None, vel, theta, omega, **kwds)