Sophie

Sophie

distrib > Mageia > 3 > i586 > by-pkgid > ad94bf76730899b09e1611bca5e0cefb > files > 83

meshlab-1.3.1-5.mga3.i586.rpm

[Subdivision Surface]
Nel metodo "applyFilter" della classe meshfilter, il primo test che viene fatto e' se il filtro chiamato appartiene alla famiglia dei "subdivision surfaces".
In caso affermativo, ne segue una successione di aggiornamenti della topologia, inquanto tutti i filtri che fanno parte di questa famiglia richiedono, come le adiacenze faccia-faccia, faccia di bordo e le normali per vertice; inoltre viene anche controllato se sono abilitate le wedge texture, in tal caso le abilita anche sulla mesh passata.
Infine chiama una finestra di dialogo tramite la quale si puo' scegliere la soglia, sotto la quale i lati dei triangoli non vengono divisi, e se l'algoritmo deve essere applicato solo alla regione della mesh selezionata.

[Loop Subdivision Surfaces]
Per l'algoritmo di Loop abbiamo preso come riferimento le "Course Notes"
del Siggraph 2000 [http://mrl.nyu.edu/publications/subdiv-course2000/coursenotes00.pdf]. 
L'algoritmo e' diviso in due passi:
1) Vengono calcolati i vertici nuovi (odd) con posizione opportunamente pesata.
2) Vengono spostati i vertici vecchi (even) in base ai vertici nuovi


[Buttefly Subdivision Surfaces]
E' semplicemente un'interfaccia verso il metodo di Butterfly implementato nella libreria VCG

[Midpoint Subdivision Surfaces]
Come Butterfly richiama il metodo RefineE con la funzione di suddivisione che implementa il metodo midpoint

[Remove Unreferenced Vertex]
Questo filtro richiama la funzione della libreria VCG che controlla la topologia della mesh e rimuove i vertici non riferiti da nessuna faccia.

[Remove Duplicated Vertex]
Chiama di funzione della libreria VCG che mentre naviga nella topologia della mesh rimuove i vertici duplicati.


[Remove Null Faces]
Anche in questo caso e' un'interfaccia verso il metodo della libreria VCG che rimuove le fecce con area pari a zero e se ne ha cancellato almeno una ricalcola le normali per vertice. 

[Laplacian Smooth]
La chiamata di questo filtro determina l'invocazioe di una sola iterazione dell'algoritmo di smoothing implementato nella libreria VCG.

[Reorient Faces]
Invoca la chiamata di libreria che riorienta le facce della mesh, questa chiamata viene fatta dopo aver aggiornato la topologia faccia-faccia e prima di ritornare aggiorna le normali.

[Remove triangle above threshold]
Rimuove i triangoli che soddisfano alcune condizioni di soglia, specificata tramite un dialog a a cui viene passata la diagonale della bounding box e un oggetto isteogrammma e permette di scegliere la soglia in tre modi:
- lunghezza assoluta
- lunghezza in base alla diagonale
- percentile di facce eliminate
L'algoritmo non fa altro che ciclare su tutte le facce della mesh e quando ne trova una che possiede almeno un lato maggiore o uguale alla soglia lo setta da cancellare e decrementa il numoero delle facce.
Poi aggiorna la topologia delle facce.

[Decimator]
Applica l'algoritmo di decimazione, basato sul lavoro di Rossignac.
Tramite il dialog, a cui viene passata la diagonale della bounding box, si puo' specificare la lunghezza dei lati dei cubi o in quanticubi deve essere divisa la bounding box, tramite un check-box inoltre e' possibile decidere se le misure dei tre assi devono essere uniformate.
Dopo di che crea i cubi in cui vengono mediati i vertici in cui cadono e dopodiche riuniti, infine vengono cancellate le facce che hanno area uguale a zero.
Questo filtro purtroppo rompe la topologia e spesso rende la mesh non manifold.

[Invert Faces]
Inverte l'orientamento delle facce semplicemente scambiando due vertici di una faccia e ricalcolando le normali

[Apply Transform]
Applica le trasformazioni SRT (Scale, Rotate, Transform). Ci sono degli shortcut in modo da posizionare il centro dell'oggetto nell'origine del mondo, oppure di scalare l'oggetto in modo da racchiuderlo in un cubo unitario.
La rotazione puo' essere fatta attorno all'origine o al centro dell'oggetto.

[Color non manifold]
Questa funzione cicla su tutte le facce della mesh passatagli e colora le facce che non sono manifold, ovvero controla il numero di facce che incidono su uno stesso edge, se questo numero e' maggiore di due la mesh non e' manifold.