• Non ci sono risultati.

più diffusimeno diffusi

N/A
N/A
Protected

Academic year: 2021

Condividi "più diffusimeno diffusi"

Copied!
8
0
0

Testo completo

(1)

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 4 / 1 5 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Quad meshes or Trinagle meshes?

un quadrilatero?

"quad" “diagonal split”

due triangoli!

(es: se ne occupa la API durante in rendering)

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 4 / 1 5 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Polygonal meshes or triangle meshes?

un poligono a n lati?

triangolarizzazione di poligono:

(in 3D, non un problema del tutto banale...)

(n-2) triangoli!

3D Meshes: resolution

p e r f o r m a n c e

q u a l i t y

“Level of Detail (LoD) Pyramid”

LoD 1 LoD 2 LoD 3 LoD 4

usare quando visto da vicino

usare quando visto da lontano

(2)

3D Meshes: adaptive resolution

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 4 / 1 5 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

3D Meshes: the good and the bad

• The good:

– GPU friendly

– flexible, adaptive resolution

• The bad:

– just a (piecewise linear) approximation – smooth surfaces: approximated

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 4 / 1 5 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Formati files per mesh …

(xkcd.com)

Formati files per mesh

(una Torre di Babele!)

• 3DS -3D Studio Max file format

• OBJ -Another file format for 3D objects

• MA, MB -Maya file formats

• 3DX -Rinoceros file format

• BLEND -Blender file format

• DAE -COLLADA file format (Khornos)

• FBX -Autodesk interchange file format

• X -Direct X object

• SMD -good for animations (by Valve)

• MD3 -quake 3 vertex animations

• DEM -Digital Elevation Models

• DXF -(exchange format, Autodesk's AutoCAD)

• FIG -Used by REND386/AVRIL

• FLT -MulitGen Inc.'s OpenFlight format

• HDF -Hierarchical Data Format

• IGES -Initial Graphics Exchange Specification

• IV -Open Inventor File Format Info

• LWO, LWB & LWS- Lightwave 3D file formats

• MAZ -Used by Division's dVS/dVISE

• MGF -Materials and Geometry Format

• MSDL -Manchester Scene Description Language

• 3DML -by Flatland inc.

• C4D –Cinema 4D file format

SLDPTR -SolidWork "part"

WINGS -Wings3D object NFF -Used by Sense8's WorldToolKit SKP -Google sketch up KMZ -Google Earth model OFF -A general 3D mesh Object File Format OOGL -Object Oriented Graphics Library PLG -Used by REND386/AVRIL POV -“persistence of vision” ray-tracer QD3D -Apple's QuickDraw 3D Metafile format TDDD -for Imagine & Turbo Silver ray-tracers NFF & ENFF -(Extended) Neutral File Format VIZ -Used by Division's dVS/dVISE

VRML, VRML97 -Virtual Reality Modeling Language (RIP) X3D -tentato successore di VRML

PLY -introdotto by Cyberware – tipic. dati range scan DICOM -Dalla casa omonima – tipic. dati CAT scan Renderman -per l'omonimo visualizzatore RWX -RenderWare Object Z3D -ZModeler File format etc, etc, etc...

(3)

Formati file per mesh i più diffusi

.OBJ(wavefront)

☺max diffusione

☺indexed, normali , uv-mapping no colori (solo indice materiale x faccia) no skinning o ani

.SMD ( )

☺animazioni scheletali + skinning

☺normali , uv-mapping no indexed!

no colori .MD3 (Quake, IDsoft)

☺vertex animations, normali no colori

.PLY (cyberware)

☺customizzabile

“accademico”

.3DS ( )

☺si: colori, uv-mapping, indexed, materiali, tessiture…

no: normali

limite al numero di vert (64K) .COLLADA

( )

☺completissimo

☺nato apposta per essere interscambio

☺open standard

quasi impossibile da parsare completamente .FBX ( )

☺completo, comprese animations complesso, difficile da parsare .MA /.MB ( )

☺completo, comprese animations complesso, difficile da parsare

semplici complessi

più d iffu si m en o d iffu si

Mesh 3D Repositories, asset stores, public

databeses, online shops, etc.

Come rappresento una mesh?

(quali strutture dati)

• indexed mesh

V2

V3

V5 V4

V1

T1

T2 T3

Tri: Wedge

1: Wedge

2: Wedge

3:

T1 V4 V1 V2

T2 V4 V2 V5

T3 V5 V2 V3

vert X Y Z R G B

V1 x1 y1 z1 r1 g1 b1 V2 x2 y2 z2 r2 g2 b2 V3 x3 y3 z3 r3 g3 b3 V4 x4 y4 z4 r4 g4 b4 V5 x5 y5 z5 r5 g5 b5 GEOMETRIA + ATTRIBUTI

CONNETTIVITA’

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 4 / 1 5 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a 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 2 / 1 3 ‧ 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:

1. two-manifold = ogni edge condiviso da max 2 faccie

NO SI

(4)

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 2 / 1 3 ‧ 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

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 4 / 1 5 ‧ 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

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 2 / 1 3 ‧ 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

• 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 2 / 1 3 ‧ 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

(5)

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 2 / 1 3 ‧ 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

– esempi di mesh non orientabili:

• mesh non two-manifold

• e...

Nastro di Moebius

(non orientabile, aperta)

Bottiglia di Klein

(non orientabile, chiusa)

Come rappresento una mesh?

(quali strutture dati)

• connettività con half-edges

V2

V3

V5 V4

V1

H1 H2

H3

H4 H5 H6

H7 H8

H9

edge:Half Da: A: Next: Oppo- site:

H1 V4 V1 H2 --

H2 V1 V2 H3 --

H3 V2 V4 H1 H4

H4 V4 V2 H5 H3

H5 V2 V5 H6 H7

H6 V5 V4 H4 --

H7 V5 V2 H8 H5

H8 V2 V3 H9 --

H9 V3 V5 H7 --

CONNETTIVITA’

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 4 / 1 5 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Strutture per connettività a confronto

INDEXED

• HW friendly

• Navigazione… complicata – richiede strutture dati

ulteriori (“di adiacenza”)

• Ok per: mesh “pure”

(di soli tri, o, al max, di soli quad)

• Compatta: 3 indici x tri

• > adatta per rendering

HALF-EDGES

• Rendering… complicato

• Navigazione semplice – es: x trovare tutti i vertici nella

“stella 1” di un vertice…

• Ok anche per: polygonal mesh (poligoni misti a piacere)

• Prolissa: 12 indici per tri

• > adatta a 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 4 / 1 5 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

3D models categorization:

Origin

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 4 / 1 5 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

applicazione interattiva informazione

construction

MODEL 3D the scene of

Images

rendering

preprocessing

modelling

(6)

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 4 / 1 5 ‧ 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

(tutte: C++, open-source.)

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 4 / 1 5 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

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 4 / 1 5 ‧ 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

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 4 / 1 5 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

(7)

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 4 / 1 5 ‧ 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

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 4 / 1 5 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

(img by Iman Sadeghi)

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 2 / 1 3 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Semplificazione automatica

• Molte tecniche diverse – Adattive oppure no

• usare piu' triangoli dove c'e' bisogno (es non nelle zone cmq piatte)

• oppure no

– Errore massimo introdotto:

• misurato e/o limitato

• oppure no – Topologia:

• mantenuta

• oppure no – Streaming

• Possibile

• Oppure no

– ...

(8)

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 2 / 1 3 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Automatic simplification (or poly-reduction)

• Different possible strategies:

– iterative approaches

• repeat

– do a local operation – (pick the least expensive one

in term of error increase)

• until (objective reached) – e.g.: poly count,

o max error

remove vertex

remove face edge collapse

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 2 / 1 3 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Semplificazione automatica

• Strategie completamente diverse

– Vertex clustering:

• dividi i vertici originali in una griglia regolare

• "collassa" in un solo vertice tutti quelli nella stessa casella

• togli i triangoli che hanno solo 1 o 2 vertici diversi – Approssimazione dipende da dimensione griglia

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 2 / 1 3 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Semplificazione automatica

Simplificazione ad edge collapse (adattva)

215k faces

Semplificazione a clustering (non adattiva)

235k faces

Riferimenti

Documenti correlati

Mantenimento, preparazione delle aliquote e distribuzione dello stock di enzimi, di antibiotici e di vari reagenti (ISH, etc.) e Kit per la Biologia Molecolare per

De scr i zi o ne La Commissione Europea ha pubblicato il bando EACEA/15/11 per il sostegno alla cooperazione nel campo dell’istruzione e della formazione, nell’ambito del

TABELLA “1”.. SPESE DEL PERSONALE

PRODUTT.,

• riduzione 10% Card Cultura Bologna, visitatori dei Musei dell’Istituzione Bologna Musei, Amici e abbonati di Ravenna Festival, abbonati Orchestra Mozart, sostenitori e

Prima della stipula, e comunque anche nei 14 giorni successivi ad essa (termine per esercitare il recesso) il finanziatore deve dare completa assistenza al consumatore fornendogli

In the present study, the tear and conjunctival secretions of patients diagnosed with the novel coronavirus were collected for viral culture and reverse ‐transcription polymerase

effettuare la valorizzazione della componente di gradualità nella determinazione dei conguagli sulla base dei range di valori individuati da ARERA e delle performance del