Navigazione ed Interazione



Scaricare 25.58 Kb.
Pagina3/5
29.03.2019
Dimensione del file25.58 Kb.
1   2   3   4   5
Distorsione di Fisheye

Le viste fisheye sono tecniche note per focus+context. Le viste di Fisheye imitano il noto fisheye effetto lente, allargando un'area di interesse e mostrando le altre porzioni dell'immagine con dettaglio sempre minore più ci allontaniamo dal centro.

Descriviamo ora alcune delle tecniche matematiche coinvolte nella tecnica del fisheye. Un "punto del fuoco " è definito di solito dall'utente. La distanza dal fuoco ad ogni nodo del grafo è distorta da una funzione h(x), che dovrebbe essere concava, progettando monotonicamente l’intervallo [0,1] sopra [0,1] (veda Figura 3). La distorsione creata dalla vista fisheye è la conseguenza della forma della funzione che ha un incremento più veloce intorno a 0 (incidendo sui nodi intorno al fuoco), con un incremento lento quando chiudiamo su 1. La definizione esatta della funzione può produrre un minore o maggiore effetto di distorsione. Una semplice funzione di distorsione, per esempio, usata da Sarkar e Brown è: h(x)=(d+1)/(d+1/x) (questa è la funzione disegnata in figura 3). Il fattore d è così definito fattore di distorsione che può essere settato interattivamente dall'utente. Dovrebbe essere positivo; più grande è, più forte sarà la distorsione del fisheye. Figura 2 mostra l'effetto di questa funzione (con d = 4) su una griglia regolare intorno all'origine.

Ci sono alcune variazioni a questo schema di base. La tecnica appena descritta è di solito nota come distorsione " polare ", in quanto si applica radialmente ai nodi in tutte le direzioni che cominciano dal punto del fuoco. Un'alternativa è usare un " cartesian " fisheye: la distorsione della distanza è applicata indipendentemente su x ed y prima di stabilire la posizione finale del nodo (vedi di nuovo Figura 4). Altre variazioni sono possibili. La scelta finale dovrebbe dipendere dallo stile del grafico per essere esplorato così come l'algoritmo di configurazione in uso.

Questa semplice ma potente tecnica è un'importante forma di navigazione che completa zoom e dettaglio. L’essenza di una vista fisheye è distorcere la posizione di ogni nodo. Se la distorsione è applicata fedelmente, anche gli archi che connettono i nodi saranno distorti. Matematicamente, il risultato di questa distorsione è una curva generica. Sistemi grafici standard (per es. X11, Java2D OpenGL) non offrono i necessari strumenti per trasformare le linee in queste curve facilmente (gli strumenti possono essere piuttosto complessi). La scelta dei progettisti è semplicemente di approssimare gli intervalli di linea originali con un numero alto di punti, trasformare questi punti, e mostrare una polyline che approssimi l'ideale curva trasformata. Il problema è che il numero di punti dell'approssimazione deve essere relativamente alto per ottenere un buona qualità dell’immagine(in media 60 punti per archi), il che porta ad un proibitivo numero di calcoli e riduce nettamente le prestazioni del sistema. L'unica soluzione possibile è applicare la distorsione del fisheye sul nodo singolo, e connettere i nodi trasformati da un arco diretto. La conseguenza di questa soluzione inesatta è la presenza di incroci (veda, per esempio, il quadrante di Figura 4/b in alto a sinistra). La possibilità di esplorare i grandi grafi rapidamente è talmente importante che questi punti di intersezioni addizionali non interessano molto realmente.







Condividi con i tuoi amici:
1   2   3   4   5


©astratto.info 2019
invia messaggio

    Pagina principale