Mesh poligonale:
caratteristiche
Circa la connettività di una mesh
• è two-manifold ? (una "varietà due")
– two-manifold = localmente è una superficie
• SI = bene, NO = male
• (molti algoritmi su mesh necessitano che sia two-manifold)
– per le mesh:
1. two-manifold = ogni edge condiviso da max 2 faccie
NO SI
M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 6 / 1 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
Circa la connettività di una mesh
• è two-manifold ? (una "varietà due")
– two-manifold = localmente è una superficie
• SI = bene, NO = male
• (molti algoritmi su mesh necessitano che sia two-manifold)
– per le mesh:
2. two-manifold = ogni vertice condiviso da max 1 stella
NON COSI
Esempi di NON 2-manifolds
Esempi di NON 2-manifolds
M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 6 / 1 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
Esempi di NON 2-manifolds
Examples of NOT 2-manifolds meshes
M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 6 / 1 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
1 non manifold edge here
1 non manifold vertex here 1 non manifold
edge here
Circa la connettività di una mesh
• Orientamento delle facce
0 2 1
0 1 2
A
B C
D
t_a = {A,C,D}
t_b = {A,B,C}
M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 6 / 1 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
Circa la connettività di una mesh
• Orientabile, non orientabile
– è possibile assegnare un orientamento ad ogni faccia coerentemente?
– orientabile = normali coerenti!
1 3 2
1 3 2
senso opposto, edge coerente
A
B C
D
Circa la connettività di una mesh
• Orientabile, non orientabile – esempi di mesh non orientabili:
• mesh non two-manifold
• e...
Mesh poligonale:
processing
3D models categorization:
Origin
informazione
construction
MODEL 3D the scene of
Images
rendering
preprocessing
modelling
Mesh processing
aka Geometry Processing
• Un buon manuale x programmare mesh processing:
M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 6 / 1 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
Geometry Processing
Alcune buone librerieLibrerie:
• VCG-Lib (CNR, )
– Vision and Computer Graphic Lib
• OpenMesh (RWTH, de )
– + open flipper
• CGAL (INRIA, )
– Computational Geometry Algorithms Library
Geometry Processing
• Un buon applicativo
M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 6 / 1 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
Geometry Processing: esempio
• Es: Mesh smoothing
Geometry Processing: esempio
• Es: Mesh smoothing
M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 6 / 1 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
Geometry Processing: esempio
• Es: Mesh denoising
Semplificazione automatica di modelli 3D
automaticamente
mesh semplificata 2K triangles mesh originale
500K triangoli
• parametri:
– un errore massimo
– o un numero di facce obiettivo
M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 6 / 1 7 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a