Example #1
0
def testQuestion4_2():
    '''On verifie la resolution du probleme'''
    g = pointsAleatoires(20, 200)
    gtest = graphe.reseau2(g)
    tournee = gtest.sommets[0:6]
    (cout, itineraire) = gtest.voyageurDeCommerceNaif(tournee)
    gtest.traceItineraire(itineraire)
    graphique.affiche(gtest, (3., 2.), 200.)
Example #2
0
def testQuestion3_2():
    g=graphe.reseau(graphe.pointsAleatoires(30,3))
    g.fixeCarburantCommeCout()
    g.astar(g.sommets[0],g.sommets[29])
    for s in g.sommets:
        if s.chemin != None:
            s.chemin.couleur=(0.,1.,0.)
    graphique.affiche(g,(-3.,3.), 100.)
Example #3
0
def testQuestion2_3():
    '''
    On verifie le bon fonctionnement des methodes
    ajouteNationale, ajouteDepartementale, ajouteRoute.
    '''
    g = pointsAleatoires(10, 20)
    g.ajouteNationale(g.sommets[0], g.sommets[1])
    g.ajouteDepartementale(g.sommets[2], g.sommets[3])
    g.ajouteRoute(g.sommets[4], g.sommets[5], 50., (0., 1., 0.))
    graphique.affiche(g, (3., 2.), 1000.)
Example #4
0
def testQuestion3_4():
    '''On affiche un graphe ou le chemin optimal est colore'''
    g = pointsAleatoires(100, 100)
    gtest = graphe.reseau2(g)
    gtest.fixeCarburantCommeCout()
    gtest.dijkstra(gtest.sommets[0])
    arrivee = gtest.sommets[60]
    chemin_opti = gtest.cheminOptimal(arrivee)
    gtest.colorieChemin(chemin_opti, (1., 0., 1.))
    graphique.affiche(gtest, (3., 2.), 100.)
Example #5
0
def testQuestion3_1():
    '''
    On verifie que les chemins optimaux determines par
    la methode dijkstra forment un arbre.
    '''
    g = pointsAleatoires(100, 20)
    graphe_gabriel = graphe.gabriel(g)
    graphe_gabriel.dijkstra(graphe_gabriel.sommets[0])
    graphe_gabriel.traceArbreDesChemins()
    graphique.affiche(graphe_gabriel, (3., 2.), 1000.)
Example #6
0
def testQuestion4_1():
    '''On teste le fonctionnement de matriceCout'''
    g = pointsAleatoires(100, 100)
    gtest = graphe.reseau2(g)
    tournee = [gtest.sommets[int(random.random() * 100)] for i in range(6)]
    res = gtest.matriceCout(tournee)
    print(res)
    afficher = input("Appuyer sur v pour afficher le graphe : "
                     )  #pour afficher la matrice de cout avant le graphe
    if afficher == "v":
        graphique.affiche(gtest, (3., 2.), 100.)
Example #7
0
def testQuestion1_5():
    ''' Teste l'affichage graphique d'un graphe identique à celui de la figure 1.ben couleur '''

    g = graphe.Graphe("Graphe de la figure 1 colorée")
    s1 = g.ajouteSommet(1.0, 1.0, (1., 0., 1.))
    s2 = g.ajouteSommet(2.0, 3.5, (0., 1., 0.))
    s3 = g.ajouteSommet(2.5, 2.5, (0., 0., 1.))
    s4 = g.ajouteSommet(5.0, 2.0, (0., 1., 1.))
    g.connecte(s1, s2, 4.0, 90., (1., 1., 0.))
    g.connecte(s1, s4, 5.2, 124., (1., 0., 0.))
    g.connecte(s2, s3, 2.0, 54., (1., 1., 0.))
    g.connecte(s2, s4, 5.0, 90., (1., 0., 0.))
    graphique.affiche(g, (3., 2.), 100.)
Example #8
0
def testQuestion3_2():
    '''
    On compare les resultats de dijkstra sur deux memes reseaux routiers,
    l'un ayant le carburant comme cout et l'autre le temps.
    '''
    g_carb = pointsAleatoires(100, 200)
    graphe.reseau2(g_carb)
    g_temps = copy.deepcopy(g_carb)
    for a in g_carb.aretes:
        a.fixeCarburantCommeCout()
    g_carb.dijkstra(g_carb.sommets[0])
    g_carb.traceArbreDesChemins()
    graphique.affiche(g_carb, (3., 2.), 100., blocage=False)
    for a in g_temps.aretes:
        a.fixeTempsCommeCout()
    g_temps.dijkstra(g_temps.sommets[0])
    g_temps.traceArbreDesChemins()
    graphique.affiche(g_temps, (3., 2.), 100.)
Example #9
0
        # Change le nom du polygone
        self.nom = str(len(self.sommets)) + "-polygone secoué"

    def trace(self, afficheur):
        '''Fonction de dessin'''

        assert isinstance(afficheur, graphique.Afficheur)

        afficheur.renomme(self.nom)
        precedent = self.sommets[-1]
        afficheur.changeCouleur((0., 0., 0.))

        for suivant in self.sommets:
            afficheur.traceLigne(precedent.pos, suivant.pos)
            precedent = suivant

        afficheur.changeCouleur((1., 0., 0.))
        for sommet in self.sommets:
            afficheur.tracePoint(sommet.pos)


if __name__ == "__main__":
    triangle = Polygone(3, 10.)
    print(triangle)
    graphique.affiche(triangle, (0., 0.), 10., blocage=False)

    heptagone = Polygone(7, 10.)
    heptagone.secoue(math.pi / 5, 0.1)
    graphique.affiche(heptagone, (0., 0.), 10.)
Example #10
0
def testQuestion2_5():
    '''On verifie le fonctionnement de la fonction reseau'''
    g = pointsAleatoires(100, 20)
    graphe.reseau(g)
    graphique.affiche(g, (3., 2.), 100.)
Example #11
0
def testQuestion2_4():
    '''On verifie le bon fonctionnement de la methode gabriel'''
    g = pointsAleatoires(10, 20)
    graphe_gabriel = graphe.gabriel(g)
    graphique.affiche(g, (3., 2.), 100.)
Example #12
0
def testQuestion2_2():
    '''On verifie le bon fonctionnement de la methode pointsAleatoires'''
    g = pointsAleatoires(10, 20)
    graphique.affiche(g, (3., 2.), 100.)
Example #13
0
def testQuestion1_4():
    ''' Teste l'affichage graphique d'un graphe identique à celui de la figure 1.b) '''
    graphique.affiche(creerGrapheFigure1(), (3., 2.), 100.)
Example #14
0
def testQuestion3_1():
    g=graphe.reseau(graphe.pointsAleatoires(100,3))
    g.djikstra(g.sommets[0])
    g.traceArbreDesChemins()
    graphique.affiche(g,(-3.,3.), 100.)
Example #15
0
def testQuestion1_4(): 
    ''' Teste l'affichage graphique d'un graphe '''
    graphique.affiche(graphe.reseau(graphe.pointsAleatoires(100,3)), (-3.,3.), 30.)