Ejemplo n.º 1
0
class TestPoint(unittest.TestCase):
    def setUp(self):
        self.a = Point(0, 0, 0)
        self.b = Point(1, 2, 3)

    def test_initialisation(self):
        self.assertIsInstance(self.a, Point, msg=None)
        self.assertEqual(self.a.x, 0)
        self.assertEqual(self.a.y, 0)
        self.assertEqual(self.a.z, 0)

    def test_setPosition(self):
        self.a.setPosition(Point(0, 0, 1))
        self.assertEqual(self.a.x, 0)
        self.assertEqual(self.a.y, 0)
        self.assertEqual(self.a.z, 1)

    def test_deplacer(self):
        self.a.deplacer(self.b)
        self.assertEqual(self.a.x, self.b.x)
        self.assertEqual(self.a.y, self.b.y)
        self.assertEqual(self.a.z, self.b.z)

    def test_toVect(self):
        v = self.a.toVect()
        self.assertIsInstance(v, Vecteur, msg=None)
        self.assertEqual(v.x, self.a.x)
        self.assertEqual(v.y, self.a.y)
        self.assertEqual(v.z, self.a.z)
Ejemplo n.º 2
0
 def __init__(self, centre=None):
     """
     centre : Point definissant le centre de l'objet. initialise a (0, 0, 0)
     """
     if centre:
         self.centre = centre
     else:
         self.centre = Point(0, 0, 0)
Ejemplo n.º 3
0
    def __init__(self, longueur, hauteur, largeur, centre=None):
        """
        Constructeur ajoutant les 8 sommets autour du centre par defaut: (0,0,0)
        """

        Polygone3D.__init__(self, centre)
        self.longueur = longueur
        self.largeur = largeur
        self.hauteur = hauteur

        self.addSommet(
            Point(self.centre.x - longueur / 2, self.centre.y - largeur / 2,
                  self.centre.z + hauteur / 2))
        self.addSommet(
            Point(self.centre.x + longueur / 2, self.centre.y - largeur / 2,
                  self.centre.z + hauteur / 2))
        self.addSommet(
            Point(self.centre.x + longueur / 2, self.centre.y + largeur / 2,
                  self.centre.z + hauteur / 2))
        self.addSommet(
            Point(self.centre.x - longueur / 2, self.centre.y + largeur / 2,
                  self.centre.z + hauteur / 2))
        self.addSommet(
            Point(self.centre.x - longueur / 2, self.centre.y - largeur / 2,
                  self.centre.z - hauteur / 2))
        self.addSommet(
            Point(self.centre.x + longueur / 2, self.centre.y - largeur / 2,
                  self.centre.z - hauteur / 2))
        self.addSommet(
            Point(self.centre.x + longueur / 2, self.centre.y + largeur / 2,
                  self.centre.z - hauteur / 2))
        self.addSommet(
            Point(self.centre.x - longueur / 2, self.centre.y + largeur / 2,
                  self.centre.z - hauteur / 2))
Ejemplo n.º 4
0
class Objet3D(object):
    """
    Classe definissant un objet 3D de facon abstraite
    """
    def __init__(self, centre=None):
        """
        centre : Point definissant le centre de l'objet. initialise a (0, 0, 0)
        """
        if centre:
            self.centre = centre
        else:
            self.centre = Point(0, 0, 0)

    def deplacer(self, vecteur):
        """
        deplace les Point dans sommets et centre de l'objet
        """
        self.centre.deplacer(vecteur)

    def tournerAutour(self, point, teta):
        """
        tourne l'objet d'un angle teta auout d'un point
        :param point: Point
        :param teta: float en rad
        """
        self.centre.tournerAutour(point, teta)

    def __repr__(self):
        """
        Quand on entre un objet3D dans l'interpreteur
        """
        return "Objet3D: centre: {}".format(self.centre)

    def __getattr__(self, nom):
        """
        Permet d'acceder a un attribut

        si ce n'est pas possible:
        """
        print("L'attribut {} n'est pas accessible dans {} !".format(
            nom, type(self)))
Ejemplo n.º 5
0
    def setUp(self):

        self.a = Arene()
        self.o = Polygone3D()
        self.v = Polygone3D()

        self.o.addSommet(Point(0, 0, 0))
        self.o.addSommet(Point(1, 0, 0))
        self.o.addSommet(Point(0, 1, 0))
        self.o.addSommet(Point(1, 1, 0))

        self.v.addSommet(Point(2, 0, 0))
        self.v.addSommet(Point(4, 0, 0))
        self.v.addSommet(Point(0, 2, 0))
        self.v.addSommet(Point(4, 4, 0))

        self.a.add(self.o)
        self.a.add(self.v)
Ejemplo n.º 6
0
 def setUp(self):
     self.a = Point(0, 0, 0)
     self.b = Point(1, 2, 3)
Ejemplo n.º 7
0
 def test_setPosition(self):
     self.a.setPosition(Point(0, 0, 1))
     self.assertEqual(self.a.x, 0)
     self.assertEqual(self.a.y, 0)
     self.assertEqual(self.a.z, 1)