visualisation de graphes avec qt projet d’approfondissement master hes-so 2009/2010 1visualisation...
TRANSCRIPT
![Page 1: Visualisation de graphes avec Qt Projet d’approfondissement Master HES-SO 2009/2010 1Visualisation de graphes avec Qt Etudiant:Lucas Wenger Professeur:](https://reader034.vdocuments.pub/reader034/viewer/2022042601/551d9dd6497959293b8e6350/html5/thumbnails/1.jpg)
Visualisation de graphes avec QtProjet d’approfondissementMaster HES-SO 2009/2010
1Visualisation de graphes avec Qt
Etudiant: Lucas WengerProfesseur: David GrunenwaldModule: Projet d’approfondissementDate: 16 juin 2010
![Page 2: Visualisation de graphes avec Qt Projet d’approfondissement Master HES-SO 2009/2010 1Visualisation de graphes avec Qt Etudiant:Lucas Wenger Professeur:](https://reader034.vdocuments.pub/reader034/viewer/2022042601/551d9dd6497959293b8e6350/html5/thumbnails/2.jpg)
Sommaire
• Introduction• Graphics View Framework• GraphViz• Attributs gérés• Actions possibles• Architecture• Résultats obtenus• Problèmes rencontrés• Conclusion• Questions
Visualisation de graphes avec Qt 2
![Page 3: Visualisation de graphes avec Qt Projet d’approfondissement Master HES-SO 2009/2010 1Visualisation de graphes avec Qt Etudiant:Lucas Wenger Professeur:](https://reader034.vdocuments.pub/reader034/viewer/2022042601/551d9dd6497959293b8e6350/html5/thumbnails/3.jpg)
Introduction (1)
• But du projet– Visualisation de graphes avec Qt• Layout automatique• Interaction• Sauvegarde / exportation
– Librairie à disposition de la communauté Qt• Technologies– Qt avec le Graphics View Framework– GraphViz
Visualisation de graphes avec Qt 3
![Page 4: Visualisation de graphes avec Qt Projet d’approfondissement Master HES-SO 2009/2010 1Visualisation de graphes avec Qt Etudiant:Lucas Wenger Professeur:](https://reader034.vdocuments.pub/reader034/viewer/2022042601/551d9dd6497959293b8e6350/html5/thumbnails/4.jpg)
Introduction (2)
• Graphe– Définition– Orienté / non orienté
Visualisation de graphes avec Qt 4
![Page 5: Visualisation de graphes avec Qt Projet d’approfondissement Master HES-SO 2009/2010 1Visualisation de graphes avec Qt Etudiant:Lucas Wenger Professeur:](https://reader034.vdocuments.pub/reader034/viewer/2022042601/551d9dd6497959293b8e6350/html5/thumbnails/5.jpg)
Graphics View Framework
• Surface pour gérer et dessiner des objets 2D• Eléments– Scène– Vue(s)– Objets
• Interaction facilitée– Zoom– Drag-and-drop
• Depuis Qt 4.2 (2006)Visualisation de graphes avec Qt 5
![Page 6: Visualisation de graphes avec Qt Projet d’approfondissement Master HES-SO 2009/2010 1Visualisation de graphes avec Qt Etudiant:Lucas Wenger Professeur:](https://reader034.vdocuments.pub/reader034/viewer/2022042601/551d9dd6497959293b8e6350/html5/thumbnails/6.jpg)
GraphViz (1)
• Logiciel de visualisation de graphes• Open source• Algorithmes de layout– Dot– Neato– Autres…
• Langage DOT• Librairie C++
Visualisation de graphes avec Qt 6
![Page 7: Visualisation de graphes avec Qt Projet d’approfondissement Master HES-SO 2009/2010 1Visualisation de graphes avec Qt Etudiant:Lucas Wenger Professeur:](https://reader034.vdocuments.pub/reader034/viewer/2022042601/551d9dd6497959293b8e6350/html5/thumbnails/7.jpg)
Visualisation de graphes avec Qt 7
GraphViz (2)
• Dot– Graphes dirigés– Structure hiérarchique
• Neato– Graphes non dirigés– Structure en réseau
![Page 8: Visualisation de graphes avec Qt Projet d’approfondissement Master HES-SO 2009/2010 1Visualisation de graphes avec Qt Etudiant:Lucas Wenger Professeur:](https://reader034.vdocuments.pub/reader034/viewer/2022042601/551d9dd6497959293b8e6350/html5/thumbnails/8.jpg)
GraphViz (3)
• Langage DOT
Visualisation de graphes avec Qt 8
![Page 9: Visualisation de graphes avec Qt Projet d’approfondissement Master HES-SO 2009/2010 1Visualisation de graphes avec Qt Etudiant:Lucas Wenger Professeur:](https://reader034.vdocuments.pub/reader034/viewer/2022042601/551d9dd6497959293b8e6350/html5/thumbnails/9.jpg)
Attributs gérés
• Graphe– Nom– Dirigé ou non
• Arête– Nœud source– Nœud destination– Dirigée ou non
• Nœud– Nom– Couleur de fond– Label– Forme (ellipse ou
rectangle)– Largeur– Hauteur– Position (x,y)
Visualisation de graphes avec Qt 9
![Page 10: Visualisation de graphes avec Qt Projet d’approfondissement Master HES-SO 2009/2010 1Visualisation de graphes avec Qt Etudiant:Lucas Wenger Professeur:](https://reader034.vdocuments.pub/reader034/viewer/2022042601/551d9dd6497959293b8e6350/html5/thumbnails/10.jpg)
Actions possibles
• Graphe– Ouvrir un graphe (.dot)– Enregistrer un graphe– Exporter un graphe– Imprimer un graphe– Reset du layout du graphe
• Arête– Créer et ajouter des
arêtes entre 2 nœuds– Supprimer des arêtes
• Nœud– Créer et ajouter des
nouveaux nœuds – Sélectionner des nœuds – Déplacer des nœuds– Supprimer des nœuds– Modifier les propriétés
des nœuds
Visualisation de graphes avec Qt 10
![Page 11: Visualisation de graphes avec Qt Projet d’approfondissement Master HES-SO 2009/2010 1Visualisation de graphes avec Qt Etudiant:Lucas Wenger Professeur:](https://reader034.vdocuments.pub/reader034/viewer/2022042601/551d9dd6497959293b8e6350/html5/thumbnails/11.jpg)
Architecture
• Diagramme de classes
Visualisation de graphes avec Qt 11
cd GVQt_lib
QGraphicsLineItem
Edge
EllipseNode
QGraphicsScene
GraphScene
QGraphicsView
GraphView
QGraphicsItem
Node
RectNode
1
0..*
0..* 2
1
0..*
![Page 12: Visualisation de graphes avec Qt Projet d’approfondissement Master HES-SO 2009/2010 1Visualisation de graphes avec Qt Etudiant:Lucas Wenger Professeur:](https://reader034.vdocuments.pub/reader034/viewer/2022042601/551d9dd6497959293b8e6350/html5/thumbnails/12.jpg)
Résultats obtenus
• Librairie OK• Application de démonstration OK
Visualisation de graphes avec Qt 12
![Page 13: Visualisation de graphes avec Qt Projet d’approfondissement Master HES-SO 2009/2010 1Visualisation de graphes avec Qt Etudiant:Lucas Wenger Professeur:](https://reader034.vdocuments.pub/reader034/viewer/2022042601/551d9dd6497959293b8e6350/html5/thumbnails/13.jpg)
Problèmes rencontrés
• Arêtes– Rendu– Sélection– Sens
• Zoom• Sauvegarde des positions• Reset du layout• Noms des nouveaux nœuds
Visualisation de graphes avec Qt 13
![Page 14: Visualisation de graphes avec Qt Projet d’approfondissement Master HES-SO 2009/2010 1Visualisation de graphes avec Qt Etudiant:Lucas Wenger Professeur:](https://reader034.vdocuments.pub/reader034/viewer/2022042601/551d9dd6497959293b8e6350/html5/thumbnails/14.jpg)
Conclusion
• Résultat satisfaisant• Librairie clairement séparée, extensible• Application de démonstration utile• Problèmes restants• A disposition– Wiki– Doxygen– SVN
• Temps limiteVisualisation de graphes avec Qt 14
![Page 15: Visualisation de graphes avec Qt Projet d’approfondissement Master HES-SO 2009/2010 1Visualisation de graphes avec Qt Etudiant:Lucas Wenger Professeur:](https://reader034.vdocuments.pub/reader034/viewer/2022042601/551d9dd6497959293b8e6350/html5/thumbnails/15.jpg)
Questions
Visualisation de graphes avec Qt 15