def __init__(self, **kwargs): """ Initialise les attributs, et place les roues par rapport à la direction On place les roues de part et d'autre de la direction, à 45° :param forme: Forme du robot :type forme: Pave :param rg: Roue droite, représentée comme un point :type rg: Objet3D :param rd: Roue gauche, représentée comme un point :type rd: Objet3D :param direction: Direction du robot :type direction: Vecteur """ Objet3D.__init__(self) keys = kwargs.keys() for key in Robot.INIT.keys(): if not key in keys: kwargs[key] = Robot.INIT[key] self.direction = kwargs["direction"] self.forme = kwargs["forme"] self.rd = kwargs["rd"] self.rg = kwargs["rg"] self.forme.rotate(self.direction.get_angle()) self.centre = self.forme.centre # initalise le centre au centre du pave self.forme.centre = self.centre # initialisation des centres des roues self.rd.centre = self.centre + (self.direction.rotate(-pi / 4) * self.forme.width * sqrt(2) / 2) self.rg.centre = self.centre + (self.direction.rotate(pi / 4) * self.forme.width * sqrt(2) / 2) self.dist_wheels = self.forme.width
def __init__(self, centre=Point(0, 0, 0), vertices=list()): """ Initialise la liste des sommets :param centre: Centre du polygône :type centre: Point :param vertices: Centre du polygône :type vertices: [Point] """ Objet3D.__init__(self, centre=centre) self.vertices = vertices
def __init__(self, centre=Point(0, 0, 0), diametre=0.5, height=1): """ :param centre: Centre du cylindre :type centre: Point :param diametre: Diametre du cylindre :type diametre: float :param height: Hauteur du cylindre :type height: float """ Objet3D.__init__(self, centre) self.diametre = diametre self.height = height
def __init__(self, diametre=0.3, vitesseRot=0, angle=0, centre=None): """ Initialise les attributs de la roue :param diametre: Diamètre en mètres :type diametre: float :param centre: Centre de la roue :type centre: Point :param vitesseRot: Vitesse de rotation en degrés par seconde :type vitesseRot: float :param angle: Angle total tourné en degrés :type angle: float """ Objet3D.__init__(self, centre) self.diametre = diametre self.vitesseRot = vitesseRot self.angle = angle
def __init__(self, centre: Point = Point(0, 0, 0), direction: Vecteur = Vecteur(1, 0, 0)): Objet3D.__init__(self, centre) self.direction = direction