22
Pálinkás András [email protected] Konzulensek: Albert István – WPF Levendovszky Tihamér – Gráfok

D3 Visualizer for WPF - prezentáció

  • Upload
    palesz

  • View
    321

  • Download
    2

Embed Size (px)

Citation preview

Pálinkás Andrá[email protected]

Konzulensek: Albert István – WPFLevendovszky Tihamér – Gráfok

Tanszéki D3 projekt .NET decompiler Programok dependenciáinak vizsgálata

metódus szinten

Dependenciák vizualizációjaDependenciák vizualizációja WPF segítségével

Dependenciák = Gráf

Gráf rajzoló algoritmusok megismerése Mitől jó egy kirajzolás? Milyen megoldások/algoritmusok

léteznek? Melye(ke)t érdemes alkalmazni az adott

probléma megoldására?

Naív algoritmusokUniverzálisan alkalmazható

algoritmusok FDP Szimulált lehűtés

Speciális esetek DAG Class diagram

Nagy gráfok vizualizációjaÁtfedést megszüntető algoritmusok

Random elhelyezés

Körkörös elrendezés

N x N-es négyzetrács átlós helyeire helyezve

Pontok = Golyók Élek = A golyókat

összekötő rugók

A rendszer energiájának minimalizálása a cél

Kismilló változat

Naív algoritmusokUniverzálisan alkalmazható

algoritmusok FDP Szimulált lehűtés

Speciális esetek DAG Class diagram

Átfedést megszüntető algoritmusokNagy gráfok vizualizációja

Itt már nem a részletek finomsága a cél

A rendszerről akarunk egy átfogó képet kapni

Több száz oldalnyi irodalom átolvasása után az első körben kiválasztott megoldások LinLog layout - „Kvázi” klaszterezés

▪ Edge-repulsion változat Átfedéseket megszüntető algoritmusok

(Overlap removal)▪ Force-Scan algoritmus (FSA)

.NET 3.0-ban mutatkozott be Grafikus osztálykönyvtár Főbb erényei:

Vektor-alapú megjelenítés Összetett felületek Hardveres gyorsítás Deklaratív leírás (XAML) Animációk 3D, Média integráció Template-ek, stílusok

WPF meg- és kiismerése

Lehetőségek feltérképezése

Későbbi architektúra tervezésének elősegítése

D3Pro.DependD3Pro.Depend Varga Gusztáv Dependenciák

meghatározása

QuickGraphQuickGraph Codeplex-en

elérhető Általános

osztálykönyvtár▪ Gráfokat tároló

generikus osztályok▪ Algoritmusok▪ Jól definiált interface-

ek▪ Export GraphViz/GLEE

felé

Palesz.QuickGraphPalesz.QuickGraph Saját készítés QuickGraph

bővítése:▪ Gráf rajzoló

algoritmusokkal:▪ LinLog▪ FR▪ ISOM

▪ Átfedést megszüntető algoritmussal (overlap removal)▪ FSA

Palesz.WPF.LibraryPalesz.WPF.Library Gráf rajzolással

kapcsolatos vizuális komponensek WPF alapokon

További gráf rajzoló algoritmusok implementálása, vizsgálata

OptimalizálásokSzámítások végzése külön szálon

User experience növelése

Köszönöm a figyelmet!