La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Daniele Marini Con contributi di Maurizio Rossi

Presentazioni simili


Presentazione sul tema: "Daniele Marini Con contributi di Maurizio Rossi"— Transcript della presentazione:

1 Daniele Marini Con contributi di Maurizio Rossi
Modellare 2 Daniele Marini Con contributi di Maurizio Rossi

2 Mesh con curve parametriche 3D
Si possono creare superfici a maglia (mesh) composte dalla combinazione di curve parametriche nello spazio, qui un esempio di una maglia:

3 Lofting Le superfici lofted sono anche chiamate ruled surfaces (superfici rigate), ottenute per interpolazione (trascinamento) di curve parametriche 3D lungo rette o altre curve parametriche 3D (sono anche chiamate patch di Coons) Video 6

4 Costruzione per trascinamento (sweep) lungo curve parametriche 3D
Data una curva parametrica bicubica, con c0, c1, c2, c3 punti di controllo (P e c sono vettori in 3D): P(u) = c0 u3 + c1 u2 + c2 u + c3 Viene detta curva generatrice e rappresenta la sezione trasversale su cui trascinare un’altra curva P(v) per costruire una superficie P(u,v). È necessario definire un sistema di riferimento chiamato “frame” per definire l’orientamento di ogni faccia.

5 il frame di Frenet P(u) = c0 u3 + c1 u2 + c2 u + c3 Video 7

6 il frame di Frenet Per definire il frame di Frenet relativo alla curva parametrica: P(u) = c0 u3 + c1 u2 + c2 u + c3 l’origine è un punto qualsiasi lungo la curva P , i 3 versori del riferimento sono T, N, B così definiti: T vettore unitario tangente alla curva in P per costruirlo ricordiamo che: T = V / |V| dove V =3 c0u2+ 2 c1u + c2 è la derivata della curva P N = K/ |K| chiamato vettore normale dove K = V x A x V/ |V| e A è la derivata seconda della curva (A = 6c0u + 2c1) B = T x N chiamato vettore binormale

7 il frame di Frenet Il frame di Frenet può essere utile anche per definire un sistema di riferimento per una telecamera virtuale nella animazione

8 il frame di Frenet Occorre anche definire come suddividere in intervalli la sezione: la divisione di u in intervalli uguali può produrre quadrangoli non uniformi, si sceglie la parametrizzazione rispetto alla lunghezza degli archi: se la curvatura è elevata si avranno più poliedri rispetto a tratti con curvatura bassa.

9 Superfici parametriche complesse
Oggetti complessi composti da molte patch si creano con tecniche di interpolazione di punti campione, imponendo continuità tra le varie “patch”. La continuità limitata al primo ordine garantisce l’assenza di “buchi”, ma dà luogo a superfici con “spigoli” indesiderati. Si impongono continuità della derivata prima e seconda.

10

11 Decimazione dei triangoli
Perché triangoli? Sono piani! Come decimare? Ridurre i triangoli in regioni “piatte” Preservare l’aspetto Stimare la curvatura: Video 8

12 Metodo di Schroeder Determinare gli spigoli “rilevanti per l’aspetto”: questi vanno tenuti Classificare i vertici: Punti interni generici Punti comuni a triangoli con T connessione Punti del contorno Punti di uno spigolo rilevante per l’aspetto Punti comuni a 3 o più spigoli rilevanti per l’aspetto (punti vertice)

13 Punti interni generici
Si possono eliminare se la distanza del punto dalla superficie approssimata è inferiore a una soglia assegnata Punti comuni a triangoli con T connessione Non si possono eliminare Punti del contorno Si possono eliminare se la distanza dalla retta congiungente i vertici adiacenti è inferiore a una soglia assegnata Punti di uno spigolo rilevante per l’aspetto Punti comuni a 3 o più spigoli rilevanti per l’aspetto (punti vertice)

14 Triangolazione Triangolazione di Delaunay e diagrammi di Voronoi Partizione del piano in celle t.c. tutti i punti di una cella sono piu’ vicini al vertice generatore della cella di ogni altro punto

15 Algoritmo di Sibson Data una coppia di triangoli adiacenti, si esamina e si scambiano se un vertice e’ interno al cerchio circoscritto:

16 Un esempio Video 9

17 Volumi

18 Volumi: Schemi di rappresentazione
CSG Boundary representation (Brep) suddivisione spaziale superfici mediali Ciascuno schema deve permettere di risolvere il problema dell’appartenenza di un punto al semispazio individuato dal solido

19 CSG - Geometria solida costruttiva
Constructive Solid Geometry Si basa su operazioni booleane su modelli solidi elementari

20 CSG: i solidi primitivi
Sfera Piramide Parallelepipedo Cono Cilindro toro

21 Albero CSG Le forme base possono essere composte con operatori booleani: unione, intersezione, differenza La composizione può essere rappresentata con un albero

22 Esempio CSG Video 10

23

24 Rappresentazione di volumi per contorni: B-rep
La modellazione solida richiede specifiche informazioni per individuare sottospazi e per determinare se un punto appartiene a un sottospazio. In ogni caso si tratta di definire semispazi e applicare operazioni insiemistiche per aggregare isemispazi. Un semispazio algebrico è definito come: e p(x,y,z) è un polinomio reale con coefficienti reali

25 Volumi: Rappresentazione B-rep versus CSG
Con lo schema CSG si possono ottenere forme assai complesse applicando tecniche di “sweep” Nello schema B-rep un solido è rappresentato da una superficie delimitata da facce, spigoli e vertici. Gli elementi di una rappresentazione B-rep possono intersecarsi solo lungo spigoli o vertici descritti nella struttura. Operatori booleani possono essere applicati anche a un volume B-rep

26 Volumi: Rappresentazione B-rep
Gli schemi B-rep si dividono in due grandi classi: Manifold B-rep Non manifold B-rep Manifold (varietà lineari): ammettono spigoli comuni a due sole facce e vertici comuni a più spigoli raccolti in un conoide Non manifold: ammettono un numero pari qualsiasi di facce comuni a uno spigolo, si distingue il volume interno dall’esterno

27

28 Volumi poliedrici: Formula di Eulero
La formula di Eulero: è una condizione che deve essere verificata affinché la superficie del solido sia corretta (no buchi) V - E + F = 2 V = vertici E = lati (spigoli) F = facce

29 Schemi a suddivisione spaziale
Mesh - conformi al contorno BSP tree - non conformi al contorno Voxel (Octree) - non conformi al contorno Mesh: possono essere organizzate in tetraedri, esaedri o altri poliedri – sono usate nel calcolo ad elementi finiti. Binary Space Partition tree: sono suddivisioni ricorsive dello spazio 3D in regioni disgiunte, la radice denota un piano separatore - un esempio è octree

30 Suddivisione spaziale: octree

31 Voxel

32

33

34 Conversioni tra schemi di rappresentazione
La conversione tra schemi di rappresentazione non è semplice: da CSG a B-rep è ben compresa e facile; da B-rep a CSG ci sono punti oscuri in particolare per conformare la rappresentazione al contorno; nel caso dei poliedri la conversione B-rep -> CSG è analoga alla conversione B-rep -> BSP tree.

35 Software di modellazione
Ogni sistema di modellazione deve risolvere i problemi: Intersezione tra superfici Offset di una superficie (luogo di punti a distanza costante da una superficie) Blending - superficie smooth tra due superfici Deformazioni locali o globali

36 Approcci emergenti alla modellazione
Feature based design Constraint based design Feature based: consiste nel definire elementi di forma aventi un significato specifico (slitte, fori, tasche, …) Modellazione a vincoli: significa imporre vincoli numerici o geometrici (anche fisici o strutturali) a un modello. La valutazione dei vincoli è assai complessa: il problema può essere sovradeterminato (troppi vincoli), sottodeterminato (troppo pochi); in generale si esprimono con sistemi di equazioni.

37 Meta balls o soft balls Simulare forme naturali, soffici, prive di bordi Rappresentare forme costruite con la creta Meta balls: simili a gocce d’acqua, quando si avvicinano si uniscono; si possono descrivere con funzioni di potenziale Video 11

38 Ad esempio si immagini di avvolgere con un drappo una scena fatta di forme geometriche

39 Esempi di fusione

40 Modellazione con soft balls
Una sfera soffice a cui è stato sottratto un cubo soffice

41 Primitive soft Derivano da superfici equipotenziali, ovvero campi scalari descritti da una funzione f(x,y) dipendente da una distanza d. La funzione f(x,y) è implicita! es: circonferenza (2D): forma esplicita parametrica: x(t)=r*cos(t); y(t)=r*sin(t) forma implicita: f(x,y) r2=x2+y2 Risolvere per funzioni implicite è complesso

42 Primitive soft (segue)
La forma implicita f(x,y,z) identifica un luogo di punti in 3D Interessa trovare tutti i punti che soddisfano l’equazione: va valutata per prove ed errori

43 Primitive soft (segue)
Se abbiamo due o più equazioni implicite possiamo sommarle, dovremo valutare il campo risultante. In ogni punto dello spazio il campo è il risultato del contributo dei due (o più) campi descritti da ogni singola funzione

44 Primitive soft (segue)
Dobbiamo avere: Una funzione generatrice di un campo, in ogni punto P il campo è funzione della distanza d(P) da un punto dato (es. campo termico, campo di intensità di illuminazione, ...) Una funzione che descrive il “potenziale del campo” f(d(P)). Dà il valore del campo in ogni punto (funzione di un vettore ad argomenti scalari), es: f(P) = (1-d2/R2)2 con d <= R (distanza) Se abbiamo più generatori del campo dobbiamo miscelarne il contributo per valutare il campo di potenziale totale Il campo risultante si rappresenta visualizzando superfici equipotenziali, o iso superfici.

45 La modellazione con funzioni implicite e isosuperfici si presta alla animazione di forme e alla soluzione efficiente della ricerca di collisioni Esempi di MetaBalls

46

47

48

49

50


Scaricare ppt "Daniele Marini Con contributi di Maurizio Rossi"

Presentazioni simili


Annunci Google