Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Ordinamento grafi

  1. #1
    Utente di HTML.it L'avatar di Faggin
    Registrato dal
    May 2008
    Messaggi
    65

    Ordinamento grafi

    Sto sviluppando un applicazione AJAX per sviluppare organigrammi.

    Creo dei blocchi posizionati con coordinate x,y e relazioni tra loro con gli ID.

    Esistono degli script che facciano l'ordinamento (ad esempio gerarchico-piramidale) di questi blocchi, analizzando le coordinate e le relazioni?

  2. #2
    se ti va bene una roba ad albero tipo Directory di Windows con Esplora Risorse, ne ho visti qualcuno, ma una roba alla grafo non l'ho proprio mai vista...

    Gli alberi a cartelle li puoi trovare cercando Menu Directory o qualcosa di simile.
    Poi con Ext c'è uno script per generare il menù ad albero nativo, mi sembra.
    I DON'T Double Click!

  3. #3
    Utente di HTML.it L'avatar di Faggin
    Registrato dal
    May 2008
    Messaggi
    65
    No, la gerarchia non è per forza lineare, quindi tipo Esplora Risorse non va bene

  4. #4
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Urco beh allora mi sa che dovria scrivere un po' di codice ricorsivo per scorrere le strutture.
    Prova a postare anche in immagine la struttura che hai e come vorresti che venisse visualizzata

  5. #5
    Utente di HTML.it L'avatar di Faggin
    Registrato dal
    May 2008
    Messaggi
    65
    da quanto ho capito i layout più diffusi sono quelli:

    "Organic"
    http://www.yworks.com/products/yfile..._layouter.html

    "Orthogonal"
    http://www.yworks.com/products/yfile..._layouter.html

    oltre naturalmente a quello "Hierarchical"
    http://www.yworks.com/products/yfile..._layouter.html


    Qualcuno sa se ci sono delle implementazioni in Javascript per questi algoritmi?

  6. #6
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    mmmm il fatto e' che cmq html e' limitato e le view che hai proposto sono difficili da realizzare usando solo html e css.

    Nel caso potresti usare il tag canvas + js ma ie7 non lo supporta. E cmq avresti sempre un'immagine.

    Il discorso e' che in ajax + js puoi creare le varie entita' il problema rimane come creare le linee di collegamento tra esse.
    Ci sono varie soluzioni come creare un'immagine lato server e rispondere all'ajax con la url+parametri della image map per rendere tale immagine cliccabile etc.

    Oppure usare dei block box con i bordi costruiti opportuanemente con css per collegare le varei entita' ma e' una gestione noiosa e difficle da realizzare.

    Senno prova a pensare ad una soluzione flash o java(fatto con swing sotto java web start).

    EDIT:
    E cmq controllando gli esempi postati qnche quelle sono tutte immagini per cui cmq sono generate e gestite lato server.

  7. #7
    Utente di HTML.it L'avatar di Faggin
    Registrato dal
    May 2008
    Messaggi
    65
    Ma il problema non è come fare l'applicazione, ma solo fargli disporre i blocchi in modo automatico.

    Ogni blocco produce un Xml con le informazioni, fra cui coordinate ed associazioni, io vorrei solo dare l'XML (anche parsandolo) in pasto a qualche algoritmo che mi ritorni le nuovo coordinate per ordinare il tutto.

  8. #8
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    per gestire l'xml hai le lib dom che sono presenti in quasi ogni linguaggio di questa terra da js a php python java .net etc etc.....

    A sto pu nto puoi fare una elaborazione lato server e spedire il risultato senno come ti dicevo o usi il tag canvas per disaganre le linee (ma funziona solo su browser html5 compatibili e quindi NON su ie7). Oppure usi altra teconologia io sinceramente ti consiglio a sto punto di fare una bella applet in java che ti fornisce uno dei supporti per la grafica 2d migliori del pianeta oltre alle lib dom4j che sono delle lib fantastiche per gestire xml.

    Ti fai una bella applettina in java e con net beans ti puoi diseganre a mano (non a codice) anche tutti i bottoni pannelli etc etc ....
    Per questa cosa e' uno strumento versatile che funziona ovunque e ti dara' degli ottimi risultati.

    Se dopo vuoi stampare puoi sempre usare le lib per generare l'immagine o il documento da stampare.
    Vedi te io farei cosi'.

  9. #9
    Utente di HTML.it L'avatar di Faggin
    Registrato dal
    May 2008
    Messaggi
    65
    Continuo a dire che il mio problema principale è trovare l'algoritmo che mi ordini i blocchi in base alla scelta di alcuni layout. (es.Gerarchico, organico, ortogonale,..)

  10. #10
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    ok per quello devi scrivere codice ricorsivo che scorre la struttura dati.


    tipo

    organizza( nodo_di_partenza );


    function organizza( nodo )
    if( notConnected(nodo) )
    return
    else
    rif1 = organizza(nodo.left)
    rif2 = organizza(nodo.right)

    disegnaBlocco(nodo)
    collegaBlocco(nodo , rif1)
    collegaBlocco(nodo,rif2)


    IN pseudo codice e' un'idea per come fare, questa cosa funziona con alberi binari e si basa su una ricerca in post order.
    Per la tua struttura puoi adattarla o scrivere codice similare in modo da scorrere secondo certe politiche i vari nodi e quindi disegnarli e poi linkarli.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.