La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Sistemi Multimediali II Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2004/05 Lezione.

Presentazioni simili


Presentazione sul tema: "Sistemi Multimediali II Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2004/05 Lezione."— Transcript della presentazione:

1 Sistemi Multimediali II Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2004/05 Lezione 8: meshes

2 M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I 2 0 0 4 / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 2/40 Mesh triangolare (o mesh simpliciale) Una mesh è un insieme di triangoli adiacenti facce vertici spigoli (o edges)

3 M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I 2 0 0 4 / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 3/40 Caratteristiche topologiche di una mesh Two Manifold ("varietà due") o no – se si ogni edge è condiviso da al max due faccie two manifold = bene non two manifold = male molti algoritmi su mesh richiedono che la mesh sia two- manifold NO SI

4 M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I 2 0 0 4 / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 4/40 Caratteristiche topologiche di una mesh Chiusa o aperta –se chiusa, ogni edge è condiviso proprio due faccie

5 M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I 2 0 0 4 / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 5/40 Caratteristiche topologiche di una mesh Orientabile, non orientabile –è possibile assegnare un orientamento ad ogni faccia coerentemente? –orientabile = normali coerenti! 1 2 3 1 2 3 senso opposto, edge coerente

6 M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I 2 0 0 4 / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 6/40 Come definisco una mesh? Una mesh è un insieme di triangoli adiacenti Come la definisco? Modo diretto: –un vettore di triangoli –e per ogni triangolo tre vertici –e per ogni vertice tre coordinate Piuttosto poco efficiente

7 M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I 2 0 0 4 / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 7/40 Come definisco una mesh? Modo indexed –Lista ordinata di vertici per ogni vertice la posizione –Lista ordinata di facce per ogni faccia, 3 indici di vertici

8 M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I 2 0 0 4 / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 8/40 E gli attributi? Posso definirli: –per vertice scrivo un attributo dopo ogni vertice –per faccia scrivo un attributo dopo ogni faccia –per wedge (vertice di faccia) scrivo tre attributi dopo ogni faccia Attributi più comuni: –colore –coordinate texture

9 M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I 2 0 0 4 / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 9/40 Esempio: formato PLY E' un formato digitale per mesh Puo' essere in binario, o in ASCII (testo) –binario: più compatto e veloce da leggere –ascii: umanamente leggibile con un editore di testo In ogni caso, comincia con un header in ASCII

10 M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I 2 0 0 4 / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 10/40 cubo.ply Esempio: formato PLY Esempio: ply format ascii 1.0 comment proprio un cubetto element vertex 8 property float x property float y property float z element face 12 property list uchar int vertex_indices end_header

11 M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I 2 0 0 4 / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 11/40 LetteraL.ply Esempio: formato OFF Esempio: 1 5 1 0 5 1 4 3 2 1 0 4 5 4 3 0 4 6 7 8 9 4 6 9 10 11 4 0 1 7 6 4 1 2 8 7 4 2 3 9 8 4 3 4 10 9 4 4 5 11 10 4 5 0 6 11 OFF 12 10 40 0 0 0 3 0 0 3 1 0 1 1 0 1 5 0 0 5 0 0 0 1 3 0 1 3 1 1 1 1 1 # vertici # facce # edges x,y,z 2ndo vert prima faccia: 4 vertici: con indici 3, 2, 1 e 0 indice 0 indice 3 indice 2 indice 1

12 M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I 2 0 0 4 / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 12/40 Mesh: task comuni Data una mesh: –magari appena caricata trovare il bounding box –utile ad esempio per translare e scalare l'oggetto opportunamente –come si fa? (si itera sui vertici: trovare il max e il min di tutte le x, le y e le z)

13 M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I 2 0 0 4 / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 13/40 Mesh: task comuni Data una mesh: –magari appena caricata trovare le normali per vertice –come si fa? 1 azzerare tutte le norm x vertice 2 iterare ogni faccia: trovare normale normalizzare normale aggiungere normale al vertice 3 iterare ogni vertice: normalizzarlo

14 M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I 2 0 0 4 / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 14/40 Task più difficili Bounding sphere Stripification Parametrizzazione Simplificazione automatica Detail recovery...

15 M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I 2 0 0 4 / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 15/40 Task più difficili Stripification –suddividere i triangoli in triangle strips più lunghe possibile –perche?

16 M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I 2 0 0 4 / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 16/40 Task più difficili Parametrizzazione –assegnare una coppia di coordinate texutre ad ogni vertice –ci sono seams replicare i vertici memorizzale le text coord per wedge u v

17 M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I 2 0 0 4 / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 17/40 Task più difficili automaticamente mesh semplificata 2K triangles mesh originale 500K triangoli Semplificazione automatica parametri: –un errore massimo –o un numero di facce obiettivo

18 M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I 2 0 0 4 / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 18/40 Semplificazione automatica p e r f o r m a n c e q u a l i t y

19 M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I 2 0 0 4 / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 19/40 Semplificazione automatica LOD 1 LOD 2LOD 3LOD 4 Una piramide di Livelli di Dettaglio usare quando visto da vicino usare quando visto da lontano

20 M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I 2 0 0 4 / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 20/40 Detail preservation (o texture for geometry) Idea: –sintetizzare una tessitura –per ripristinare il dettaglio perso durante la semplificazione

21 M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I 2 0 0 4 / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 21/40 500mila triangoli 2mila triangoli semplificazione automatica sempre duemila triangoli, ma con texture mapping rendering TESSITURA fatta apposta detail recover

22 M a r c o T a r i n i S i s t e m i M u l t i m e d i a l i I I 2 0 0 4 / 0 5 U n i v e r s i t à d e l l I n s u b r i a - 22/40 simplified 2K triangles originale 500K triangles semplificato ma con tessitura 2K triangles


Scaricare ppt "Sistemi Multimediali II Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2004/05 Lezione."

Presentazioni simili


Annunci Google