Wizualizacja grafów: pakiet tcldot

  1. do wizualizacji grafów używamy pakietu tcldot języka skryptowego Tcl;
    tcldot_win.zip to wersja windowsowa tcldot (v. 2.7); należy ja ściągnąc i rozpakować w pewnym katalogu;
    wersja linuxowa (v. 2.11) dostępna na atos-ie poprzez system plikow (/home/faculty/mhanckow/tcldot)
    dokumentacja tcldot; inne materiały o Graphviz (tcldot jest jego częścią...)
  2. program tworzący graf moze być napisany w dowolnym języku, np w C
    powinien wypisywać graf na stdout w formacie wygodnym do przetworzenia dla języka Tcl:
        E:\aal260> graflosowy01 10 .3
    {0 1 2 3 4 5 6 7 8 9 } {{0 1} {0 5} {0 8} {0 9} {2 4} {2 6} {3 7} {3 8} {4 5} {5 6} {5 7} {5 8} {6 7} }
  3. kod programu w C tworzący drzewo losowe drzewolosowe01.c
    skrypt Tcl pokazujący to drzewo drzewolosowe01.tcl
      Uwaga: w tym skrypcie trzeba dokonać pewnych zmian, np zmienic ściezke w zmiennej prefix (powinna wskazywać katalog w którym rozpakowano tcldot)!
  4. skąd wziąc interp Tcl-a? link do windowsowego interpretera tcl tclkit-win32.upx.exe (skrócić nazwę do tclkit.exe);
    linux ma juz zainstalowany interpreter wish (wish i tclkit działają identycznie);
    skrypt tworzący wygodna konsole konsola2c.tcl do wprowadzania i modyfikowani poleceń;
    dokumentacja tcl 8.4 (ActiveState); moje materiały o Tcl
  5. jak to wszystko uruchamiać?
        tclkit konsola2c.tcl drzewolosowe01.tcl
    # tak uruchamiamy konsole z zaladowanym skryptem drzewolosowe01.tcl
    # nastepnie uruchamiamy odpowiednie fragmenty kodu w konsoli...
    tclkit drzewolosowe01.tcl
    # tak można uruchomic skrypt drzewolosowe01.tcl bez konsoli...
  6. jak pokazywać grafy nieskierowane? jak zewnetrzny program może przekazać pewne atrybuty wierzchołków oraz inne problemy wizualizacyjne ... odp na te i inne pytania znajdziesz tutaj
  7. interaktywna wizualizacja, czyli dll zamiast exe ...
    mozna wykonywać operacje grafowe (np BST_Insert) bezpośrednio z konsoli tcl-owej !!!
    patrz przykład: aal_bst1a.c, aal_bst1a.tcl, niezbedny jest tez pakiet ffidl06.zip; pakiet ten należy rozpakować podobnie jak tcldot; to rozwiązanie polega na tym, że tworzy się bibl. dll/so zawierajacą funkcje wykonujące operacje na grafie oraz funkcje która zwraca graf w wiadomej postaci (jako string); funkcje z tej biblioteki wywołujemy za pośrednictwem pakietu ffidl (trzeba je wcześniej odpowiednio zadeklarować w Tcl-u) ...