corso di realtà virtualepercro.sssup.it/marcello/didattica/6_modellazione.pdf · 2011-04-08 ·...

40
Modellazione Moduli logici di un Ambiente Virtuale Sintesi Campionamento Comportamenti Proprietà Rendering UTENTE Interazione AMBIENTE VIRTUALE Modellazione Management

Upload: others

Post on 17-Apr-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Corso di Realtà Virtualepercro.sssup.it/marcello/didattica/6_Modellazione.pdf · 2011-04-08 · Moduli logici di un Ambiente Virtuale ... (sfera, cubo, ecc) Primitive modificabili

Modellazione

Moduli logici di un Ambiente Virtuale

Sintesi Campionamento

Comportamenti Proprietà

Rendering

UTENTE

Interazione

AMBIENTE VIRTUALE

Modellazione

Management

Page 2: Corso di Realtà Virtualepercro.sssup.it/marcello/didattica/6_Modellazione.pdf · 2011-04-08 · Moduli logici di un Ambiente Virtuale ... (sfera, cubo, ecc) Primitive modificabili

Modellazione

Modellazione

È il processo che porta alla descrizione di un

oggetto (modello), mediante sintesi o

campionamento

Tale modello può essere utilizzato in fase di

rendering e/o di simulazione

Proprietà dell’oggetto modellato:

Geometriche (forma)

Fisiche

Meccaniche (cinematica, statica, dinamica)

Ottiche (materiale)

Page 3: Corso di Realtà Virtualepercro.sssup.it/marcello/didattica/6_Modellazione.pdf · 2011-04-08 · Moduli logici di un Ambiente Virtuale ... (sfera, cubo, ecc) Primitive modificabili

Modellazione

Es. modellazione manuale (sintesi)

Page 4: Corso di Realtà Virtualepercro.sssup.it/marcello/didattica/6_Modellazione.pdf · 2011-04-08 · Moduli logici di un Ambiente Virtuale ... (sfera, cubo, ecc) Primitive modificabili

Modellazione

Es. acquisizione 3D (campionamento)

Page 5: Corso di Realtà Virtualepercro.sssup.it/marcello/didattica/6_Modellazione.pdf · 2011-04-08 · Moduli logici di un Ambiente Virtuale ... (sfera, cubo, ecc) Primitive modificabili

Modellazione

Modellazione geometrica

Solid modeling: viene descritto tutto l’oggetto inteso come solido 3D

Surface modeling: vengono descritte solo le superfici dell’oggetto

Page 6: Corso di Realtà Virtualepercro.sssup.it/marcello/didattica/6_Modellazione.pdf · 2011-04-08 · Moduli logici di un Ambiente Virtuale ... (sfera, cubo, ecc) Primitive modificabili

Modellazione

Solid Modeling

Page 7: Corso di Realtà Virtualepercro.sssup.it/marcello/didattica/6_Modellazione.pdf · 2011-04-08 · Moduli logici di un Ambiente Virtuale ... (sfera, cubo, ecc) Primitive modificabili

Modellazione

Solid modeling: CSG

Oggetto come porzione di volume

CSG (Constructive Solid Geometry)

L’oggetto viene descritto come semplice

composizione di alcune primitive 3D

(sfera, cubo, ecc)

Primitive modificabili tramite traslazioni,

rotazioni, deformazioni

Primitive componibili utilizzando

operatori booleani

Page 8: Corso di Realtà Virtualepercro.sssup.it/marcello/didattica/6_Modellazione.pdf · 2011-04-08 · Moduli logici di un Ambiente Virtuale ... (sfera, cubo, ecc) Primitive modificabili

Modellazione

Solid modeling: CSG

Permette di descrivere efficientemente oggetti “semplici”

Difficilmente applicabile a modelli di oggetti reali

Può essere combinata con altri tipi di modellazione (ciò avviene nei programmi CAD)

Page 9: Corso di Realtà Virtualepercro.sssup.it/marcello/didattica/6_Modellazione.pdf · 2011-04-08 · Moduli logici di un Ambiente Virtuale ... (sfera, cubo, ecc) Primitive modificabili

Modellazione

Anche in questo caso l’oggetto è visto come

porzione di volume

Sono di interesse le proprietà puntuali. Es: risultato

di una TAC, dati fluidodinamici, tensore degli sforzi

di un pezzo meccanico valutato in ogni punto.

La primitiva adottata

è il voxel

(volume element)

Solid modeling: Voxels

Page 10: Corso di Realtà Virtualepercro.sssup.it/marcello/didattica/6_Modellazione.pdf · 2011-04-08 · Moduli logici di un Ambiente Virtuale ... (sfera, cubo, ecc) Primitive modificabili

Modellazione

Solid modeling: Voxels

Griglia 3D uniforme

Facile gestione

Grande occupazione di memoria

Possibile comprimere i dati i modo efficiente

Ok se i dati sono distribuiti in modo uniforme e la rilevanza delle varie parti del volume è la stessa

Utilizzati per alcuni algoritmi di collision detection

Page 11: Corso di Realtà Virtualepercro.sssup.it/marcello/didattica/6_Modellazione.pdf · 2011-04-08 · Moduli logici di un Ambiente Virtuale ... (sfera, cubo, ecc) Primitive modificabili

Modellazione

Surface Modeling

Page 12: Corso di Realtà Virtualepercro.sssup.it/marcello/didattica/6_Modellazione.pdf · 2011-04-08 · Moduli logici di un Ambiente Virtuale ... (sfera, cubo, ecc) Primitive modificabili

Modellazione

Surface Modelling

Oggetto come superficie

Superficie: sottoinsieme S di R3

intrinsecamente bidimensionale

Tipi di rappresentazione

Implicita: F(x,y,z) = 0

definizione troppo generale (non sempre produce

superfici)

F non sempre disponibile ed equazione non sempre

risolvibile

Parametrica: : R3 (con R2 )

non è sempre facile da derteminare

Page 13: Corso di Realtà Virtualepercro.sssup.it/marcello/didattica/6_Modellazione.pdf · 2011-04-08 · Moduli logici di un Ambiente Virtuale ... (sfera, cubo, ecc) Primitive modificabili

Modellazione

Curve e Superfici Parametriche

La superficie è rappresentata da una

collezione di “patch”

Ciascuna patch è caratterizzata da un

reticolo di punti di controllo che ne

determinano posizione e forma

: R3

Page 14: Corso di Realtà Virtualepercro.sssup.it/marcello/didattica/6_Modellazione.pdf · 2011-04-08 · Moduli logici di un Ambiente Virtuale ... (sfera, cubo, ecc) Primitive modificabili

Modellazione

Curve di Bezier

n punti di controllo (P1..n)

La curva passa da P1 e Pn

Tangenze in P1 a (P2 – P1)

in Pn a (Pn-1 – Pn)

Equazione (es. n=4 -> grado del polinomio = n-1)

Q(t) = (1-t)3 P1 + 3t(1-t)2 P2 + 3t2(1-t) P3 + t3 P4 =

= i Pi·Bi(t) = G·B·T(t)G = geometry, ovvero vettore dei punti = [P1 P2 P3 P4]

B = spline basis, matrice tipica della classe di curve

T(t) = power basis = [t3 t2 t 1] T

Bi(t) = blending (oppure “basis”) functions

Page 15: Corso di Realtà Virtualepercro.sssup.it/marcello/didattica/6_Modellazione.pdf · 2011-04-08 · Moduli logici di un Ambiente Virtuale ... (sfera, cubo, ecc) Primitive modificabili

Modellazione

Bezier Cubic Patch

Bezier Patch – es. 16 control points -> cubica

(u,v) = i j Pij·Bij(u,v)i,j = 0..3; u,v [0,1]

Le Bij sono tali che sui 4 vertici del reticolo di

controllo posizione e derivate parziali (u, v) della patch corrispondano a quelle dei punti di

controllo, e che in tali punti uv = 0.

Page 16: Corso di Realtà Virtualepercro.sssup.it/marcello/didattica/6_Modellazione.pdf · 2011-04-08 · Moduli logici di un Ambiente Virtuale ... (sfera, cubo, ecc) Primitive modificabili

Modellazione

Bezier Cubic Patch

Mancanza di controllo locale

Effetto dello spostamento di un c.p.

Le B-splines (generalizzazione delle curve di Bezier)

usano delle funzioni di blending che consentono di

avere controllo locale. Fanno uso di punti di controllo

addizionali (knot-points) che possono essere

equispaziati o meno (NURBS)

Sono precise ma computazionalmente onerose

Page 17: Corso di Realtà Virtualepercro.sssup.it/marcello/didattica/6_Modellazione.pdf · 2011-04-08 · Moduli logici di un Ambiente Virtuale ... (sfera, cubo, ecc) Primitive modificabili

Modellazione

NURBS

Nella grafica 3D real-time, le NURBS vengono solitamente usate solo per

modellare un oggetto. Si procede poi ad una tessellazione per

approssimarlo ad una mesh poligonale che viene poi effettivamente

usata in tempo reale.

Page 18: Corso di Realtà Virtualepercro.sssup.it/marcello/didattica/6_Modellazione.pdf · 2011-04-08 · Moduli logici di un Ambiente Virtuale ... (sfera, cubo, ecc) Primitive modificabili

Modellazione

Mesh poligonali

Descrizione approssimata della superficie

Mesh: insieme di poligoni tale che due suoi elementi non si intersecano oppure condividono un vertice o uno spigolo.

Ogni poligono approssima una porzione di superficie

Vengono usate in prevalenza mesh di triangoli

Facili da rappresentare, manipolare, visualizzare

Sono ricostruibili a partire da dati campionati irregolarmente

Il rendering di un triangolo è ottimizzato in hw

Rappresentazione accurata numero elevato di triangoli elevate dimensioni e

“pesantezza” del modello

Selezione del numero di triangoli come scelta di trade-off

Page 19: Corso di Realtà Virtualepercro.sssup.it/marcello/didattica/6_Modellazione.pdf · 2011-04-08 · Moduli logici di un Ambiente Virtuale ... (sfera, cubo, ecc) Primitive modificabili

Modellazione

Mesh poligonali

Page 20: Corso di Realtà Virtualepercro.sssup.it/marcello/didattica/6_Modellazione.pdf · 2011-04-08 · Moduli logici di un Ambiente Virtuale ... (sfera, cubo, ecc) Primitive modificabili

Modellazione

Mesh poligonali: bassa risoluzione

Page 21: Corso di Realtà Virtualepercro.sssup.it/marcello/didattica/6_Modellazione.pdf · 2011-04-08 · Moduli logici di un Ambiente Virtuale ... (sfera, cubo, ecc) Primitive modificabili

Modellazione

Mesh poligonali: alta risoluzione

Page 22: Corso di Realtà Virtualepercro.sssup.it/marcello/didattica/6_Modellazione.pdf · 2011-04-08 · Moduli logici di un Ambiente Virtuale ... (sfera, cubo, ecc) Primitive modificabili

Modellazione

Mesh poligonali

Page 23: Corso di Realtà Virtualepercro.sssup.it/marcello/didattica/6_Modellazione.pdf · 2011-04-08 · Moduli logici di un Ambiente Virtuale ... (sfera, cubo, ecc) Primitive modificabili

Modellazione

Mesh Triangolari

Informazione codificata nel modello:

Geometrica

Posizione dei vertici

Normali ai vertici

Topologica

Connettività

Relazioni fra triangoli

Nota: in una mesh contenente n vertici

ci sono circa 2n triangoli

Page 24: Corso di Realtà Virtualepercro.sssup.it/marcello/didattica/6_Modellazione.pdf · 2011-04-08 · Moduli logici di un Ambiente Virtuale ... (sfera, cubo, ecc) Primitive modificabili

Modellazione

Strutture Dati

Esempio:

Geometria = Lista di vertici (n elementi)

G =

{v1: [x1, y1, z1], v2: [x2, y2, z2],…, vn: [xn, yn, zn],

}

Connettività = Lista di triangoli (m elementi ~2n) :

C = {

t1: [vi, vj, vk], t2: [vk, vl, vp],…, tm: [vq, vs, vt],

}

Costo: 3n floats + 2n·3·log(n) bits

Page 25: Corso di Realtà Virtualepercro.sssup.it/marcello/didattica/6_Modellazione.pdf · 2011-04-08 · Moduli logici di un Ambiente Virtuale ... (sfera, cubo, ecc) Primitive modificabili

Modellazione

3D File Format: VRML

VRML (Virtual Reality Modeling Language) è molto più di un

formato dati, dato che fornisce anche features di interazione

e descrizione. Tuttavia oggi è usato per lo più solo come

formato dati “universale”, leggibile e scrivibile da molti tipi

di SW diversi, nonostante i suoi numerosi dialetti.

In VRML è possibile descrivere un’intera scena 3D sotto forma

di albero di nodi. Vi sono 54 tipi differenti di nodi, alcuni di

questi rappresentano direttamente oggetti 3D, altri

realizzano connessioni gerarchiche.

E’ possibile specificare anche materiali, textures, e parametri

di camera/illuminazione.

Si è evoluto nell’X3D (formato multi-sintassi). Sample

Page 26: Corso di Realtà Virtualepercro.sssup.it/marcello/didattica/6_Modellazione.pdf · 2011-04-08 · Moduli logici di un Ambiente Virtuale ... (sfera, cubo, ecc) Primitive modificabili

Modellazione

3D File Format: OBJ

Formato file ASCII sviluppato da Wavefront, e utilizzato

spesso come formato di interscambio.

Il file format OBJ supporta linee, poligoni, e curve/superfici

free-form . Linee and poligoni sono descritte in termini dei

loro punti, mentre curve e superfici sono definite con I punti

di controllo e altre informazioni che dipendono dal tipo di

curve (Bezier, B-Splines, etc.).

Sample

Page 27: Corso di Realtà Virtualepercro.sssup.it/marcello/didattica/6_Modellazione.pdf · 2011-04-08 · Moduli logici di un Ambiente Virtuale ... (sfera, cubo, ecc) Primitive modificabili

Modellazione

3D File Format: Collada

Acronimo di COLLAborative Design Activity, si propone di

diventare lo standard di interscambio utilizzando uno schema

XML.

Originariamente realizzato da Sony, oggi è gestito dal

consorzio open-source Khronos Group.

E’ usato da Google Earth per memorizzare le informazioni 3D.

Permette di definire anche informazioni relative alla fisica.

Sample

Page 28: Corso di Realtà Virtualepercro.sssup.it/marcello/didattica/6_Modellazione.pdf · 2011-04-08 · Moduli logici di un Ambiente Virtuale ... (sfera, cubo, ecc) Primitive modificabili

Modellazione

3D File Format: FBX

Formato binario sviluppato da Kaydara per il software

Filmbox (gestore di animazioni e MOCAP), è diventato in

breve uno standard de facto di interscambio.

Successivamente è stato acquisito da Autodesk che ne ha

rilasciato le specifiche e un SDK facendolo diventare “open-

standard” (non tutti concordano…).

Permette di specificare non solo dati 3D, ma anche

animazioni, audio e video.

Permette di incorporare estensioni

di terze parti (es. COLLADA).

Page 29: Corso di Realtà Virtualepercro.sssup.it/marcello/didattica/6_Modellazione.pdf · 2011-04-08 · Moduli logici di un Ambiente Virtuale ... (sfera, cubo, ecc) Primitive modificabili

Modellazione

Formato nativo di XVR per la descrizione di mesh triangolari:

– ottimizzato sui tempi di caricamento in XVR

– disponibile in formato ASCII (per permettere facilmente

modifiche manuali) o binario (per caricamento veloce)

– 1:1 corrispondente alla strutture dati XVR

Supporta:

- Multitexturing

- Animazioni

- Smoothing Groups

- Shaders, Skinning

- Esportatori per Max, GMax, Maya

e Blender

3D File Format: AAM

Page 30: Corso di Realtà Virtualepercro.sssup.it/marcello/didattica/6_Modellazione.pdf · 2011-04-08 · Moduli logici di un Ambiente Virtuale ... (sfera, cubo, ecc) Primitive modificabili

Modellazione

Mixed modeling: Point-based modeling

I componenti di base sono i surfels (surface elements),

specificati tramite:

Coordinate 3D

Colore/Materiale

Normale (per i calcoli di illuminazione)

Rispetto ai voxels richiedono calcoli meno onerosi

Ottime per modelli provenienti da

sampling, evitando la produzione

di mesh e i problemi di connettività

Tuttavia non esistono ancora

efficienti implementazioni HW

Non gestiscono benissimo

geometrie semplici e superfici

piatte

Page 31: Corso di Realtà Virtualepercro.sssup.it/marcello/didattica/6_Modellazione.pdf · 2011-04-08 · Moduli logici di un Ambiente Virtuale ... (sfera, cubo, ecc) Primitive modificabili

Modellazione

Modellazione procedurale

Page 32: Corso di Realtà Virtualepercro.sssup.it/marcello/didattica/6_Modellazione.pdf · 2011-04-08 · Moduli logici di un Ambiente Virtuale ... (sfera, cubo, ecc) Primitive modificabili

Modellazione

Sampling

Page 33: Corso di Realtà Virtualepercro.sssup.it/marcello/didattica/6_Modellazione.pdf · 2011-04-08 · Moduli logici di un Ambiente Virtuale ... (sfera, cubo, ecc) Primitive modificabili

Modellazione

Acquisizione (sampling)

E’ possibile acquisire direttamente, tramite un processo di scansione, la geometria (e in alcuni casi anche il colore) degli oggetti.

Il risultato è una nuvola di punti più o meno densa a seconda della risoluzione dello scanner

Solitamente la nuvola di punti viene poi processata per ricavarne una mesh poligonale(la connettività è calcolata)

Le mesh così ricavate sono di solito ad altissima risoluzione, e necessitano di semplificazione per essere utilizzate in tempo reale.

Page 34: Corso di Realtà Virtualepercro.sssup.it/marcello/didattica/6_Modellazione.pdf · 2011-04-08 · Moduli logici di un Ambiente Virtuale ... (sfera, cubo, ecc) Primitive modificabili

Modellazione

Acquisizione (sampling)

Page 35: Corso di Realtà Virtualepercro.sssup.it/marcello/didattica/6_Modellazione.pdf · 2011-04-08 · Moduli logici di un Ambiente Virtuale ... (sfera, cubo, ecc) Primitive modificabili

Modellazione

3D Scan

Oggetto reale Nuvola di punti

Meshing

Mesh poligonale

Ottimizzazione

Semplificazione

Recupero del

dettaglio

Acquisizione: flusso dei dati

Page 36: Corso di Realtà Virtualepercro.sssup.it/marcello/didattica/6_Modellazione.pdf · 2011-04-08 · Moduli logici di un Ambiente Virtuale ... (sfera, cubo, ecc) Primitive modificabili

Modellazione

3D Scanning - Tecnologie

Touch-probe Precisione, oggetti di dimensione media (1-2 m), contatto, no colore

CLIP

Page 37: Corso di Realtà Virtualepercro.sssup.it/marcello/didattica/6_Modellazione.pdf · 2011-04-08 · Moduli logici di un Ambiente Virtuale ... (sfera, cubo, ecc) Primitive modificabili

Modellazione

Luce strutturata Economico, colore, no contatto, veloce, bassa precisione,

oggetti di medie dimensioni

3D Scanning - Tecnologie

Page 38: Corso di Realtà Virtualepercro.sssup.it/marcello/didattica/6_Modellazione.pdf · 2011-04-08 · Moduli logici di un Ambiente Virtuale ... (sfera, cubo, ecc) Primitive modificabili

Modellazione

Laser Scanner – Time of flight Costo, precisione, velocità, oggetti grandi, no contatto

Usati soprattutto in architettura

3D Scanning - Tecnologie

Page 39: Corso di Realtà Virtualepercro.sssup.it/marcello/didattica/6_Modellazione.pdf · 2011-04-08 · Moduli logici di un Ambiente Virtuale ... (sfera, cubo, ecc) Primitive modificabili

Modellazione

Laser Scanner Line Costo, colore, precisione, no contatto, veloce, oggetti di

media dimensione

Usato soprattutto per applicazioni relative a Beni Culturali

3D Scanning - Tecnologie

Page 40: Corso di Realtà Virtualepercro.sssup.it/marcello/didattica/6_Modellazione.pdf · 2011-04-08 · Moduli logici di un Ambiente Virtuale ... (sfera, cubo, ecc) Primitive modificabili

Modellazione

Image based modeling

E’ una tecnica di modellazione che usa fotografie reali per

descrivere le proprietà geometriche e l’apparenza della

scena

E più appropriato parlare di “Image based modeling and

rendering” dato che i due aspetti

sono sostanzialmente inscindibili

Un esempio è la fotogrammetria,

una tecnologia in cui si usano

misurazioni fatte usando 2 o più

fotografie prese da diverse posi-

zioni per ricavare le coordinate

3D di un oggetto.