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.)
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.)
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.)
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.)
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.)
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.)
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.)
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.)
# 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.)
def testQuestion2_5(): '''On verifie le fonctionnement de la fonction reseau''' g = pointsAleatoires(100, 20) graphe.reseau(g) graphique.affiche(g, (3., 2.), 100.)
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.)
def testQuestion2_2(): '''On verifie le bon fonctionnement de la methode pointsAleatoires''' g = pointsAleatoires(10, 20) graphique.affiche(g, (3., 2.), 100.)
def testQuestion1_4(): ''' Teste l'affichage graphique d'un graphe identique à celui de la figure 1.b) ''' graphique.affiche(creerGrapheFigure1(), (3., 2.), 100.)
def testQuestion3_1(): g=graphe.reseau(graphe.pointsAleatoires(100,3)) g.djikstra(g.sommets[0]) g.traceArbreDesChemins() graphique.affiche(g,(-3.,3.), 100.)
def testQuestion1_4(): ''' Teste l'affichage graphique d'un graphe ''' graphique.affiche(graphe.reseau(graphe.pointsAleatoires(100,3)), (-3.,3.), 30.)