Curve e Superfici Il mondo non è fatto di rette e poligoni.

Slides:



Advertisements
Presentazioni simili
Coordinate di un punto P(x,y,z)
Advertisements

di Pasquale Infantino VA
Funzioni di due variabili
DIDATTICA A DISTANZA “CARRELLATA” SULLE CONICHE CON ESERCITAZIONI
1 LA RETTA. 2 Equazione in forma implicita ax+by+c=0 dove: a è il coefficiente della variabile x b è il coefficiente della variabile y c è il termine.
Geometria analitica dello spazio
Meccanica 3 7 marzo 2011 Cinematica in due dimensioni
Definizione e caratteristiche
Elementi di Matematica
Elementi di Matematica
Liceo scientifico “G.Aselli” classe III E anno scolastico
DERIVATE PARZIALI PRIME
SUPERFICIE NELLO SPAZIO, FORMULE DELLA DIVERGENZA E DI STOKES
LA PARABOLA PREREQUISITI DISTANZA TRA DUE PUNTI
LA PARABOLA.
La quantità di moto Data una particella di massa m che si muove con velocità v Si definisce quantità di moto la quantità: È un vettore Prodotto di uno.
Il moto armonico Altro esempio interessante di moto è quello armonico caratterizzato dal fatto che l’accelerazione è proporzionale all’opposto della posizione:
Velocità ed accelerazione
Sistema di riferimento su una retta
INFORMATICA GRAFICA – SSD ING-INF/05 Sistemi di elaborazione delle informazioni a.a. 2007/2008 Esercitazione OpenGL.
Carlo Culla & Marco Vezzani
DERIVATE dellENERGIA e PROPRIETA MOLECOLARI. 1.Differenze di energia : energia di dissociazione, stabilità relativa di conformeri, calori di reazione,
Il prodotto vettoriale
Grandezze scalari e vettoriali
"La geometria" di Cartesio
LE CONICHE                                       .
13 a lezione di laboratorio Laurea Specialistica in Ingegneria Matematica Ingegneria dei Sistemi Energetici Laurea Specialistica in Ingegneria Matematica.
1 Superfici nascoste Daniele Marini. 2 Ray casting adatto a CSG o superfici parametriche dipende dal punto di vista è una sorta di campionamento spaziale.
Smoothing Daniele Marini.
Trasformazioni geometriche
Le Coniche dalle origini ai giorni nostri
“Il piano cartesiano e la retta”
11 ottobre 2012 Modelli a poligoni Roberto Pirrone.
I solidi.
Fabrizio Gay – corso di fondamenti e applicazioni di geometria descrittiva aa CURVE e SUPERFICIE 1: Modelli matematico e categorie comuni (morfologia.
LA DERIVATA DI UNA FUNZIONE
Triangoli e Poligoni al PC
Lo studio delle coniche nel tempo
Cominciamo a parlare di tangenti.
Vettori Finche’ il moto si svolge in una sola dimensione – moto unidimensionale, moto rettilineo – non abbiamo bisogno di vettori La posizione e’ individuata.
LA CIRCONFERENZA.
Daniele Marini, Maurizio Rossi
Daniele Marini Con contributi di Maurizio Rossi
Formule generali per il calcolo di superficie e volume di solidi a 2 basi by iprof.
Modelli di Illuminazione
Intersezioni e distanze
Intersezioni e distanze Daniele Marini Corso di Programmazione Grafica per il Tempo Reale.
La geometria analitica
TECNOLOGIE INFORMATICHE NELLA DIDATTICA
Triangoli Di Mattia Zagallo.
LE DEFINIZIONI.
LA PARABOLA  Definizione: la parabola è il luogo geometrico dei punti del piano equidistanti da un punto fisso, detto fuoco, e da una retta fissa,
IL PROBLEMA DELL’AREA Nella matematica greca calcolare l’area di una figura (ovvero quadrarla) significa costruire con riga e compasso un quadrato equivalente.
La geometria nel secondo ciclo
Calcolo delle Aree Area del Cerchio Il calcolo dell’area è molto più complesso in quanto non è possibile scomporre il cerchio in triangoli. E’ possibile.
G.M. - Edile A 2002/03 Una sferetta P viene posta in una conca semisferica di raggio R in un punto diverso da quello più basso. La sferetta rotola e l’angolo.
Equazione di un luogo geometrico nel piano cartesiano
POLIGONI INSCRITTI E CIRCOSCRITTI
Rapporto incrementale
Solidi di rotazione.
La circonferenza e l’ellisse La sezione conica è l’intersezione di un piano con un cono. La sezione cambia a seconda dell’inclinazione del piano. Se il.
La derivata Docente Grazia Cotroni classi V A e V B.
IL PIANO CARTESIANO E LA RETTA
IISS "E. Medi" - Galatone Prof. Giuseppe Frassanito a.s. 2012/2013
1. Le coordinate di un punto su un piano Le coordinate di un punto su un piano 2. La lunghezza e il punto medio di un segmento La lunghezza e il punto.
IL CERCHIO E LA CIRCONFERENZA.
La Circonferenza. LA CIRCONFERENZA Assegnato nel piano un punto C detto Centro, si chiama circonferenza la curva piana con i punti equidistanti da C.
Se il piano è perpendicolare (ortogonale) all’altezza del cono abbiamo la CIRCONFERENZA! LA CIRCONFERENZA COME LUOGO GEOMETRICO: la circonferenza.
Transcript della presentazione:

Curve e Superfici Il mondo non è fatto di rette e poligoni. Non é sempre ragionevole approssimare curve con spezzate. Moltissime le rappresentazioni proposte: polygon mesh superfici parametriche (curve) superfici quadriche Cominciamo con modellazione di curve e superfici, poi vedremo modellazione solida. Curve e Superfici 1

Polygon Mesh Insieme di superfici poligonali planari limitate: rappresentano esattamente alcune figure, approssimano bene altre (fig. sinistra). Buone approssimazioni sono sempre possibili ma spesso sono costose (fig. destra per una sezione). Curve e Superfici

Rappresentazione di Polygon Mesh Aspetto fondamentale: efficienza spazio / tempo. Per ottimizzare bisogna individuare quali sono le operazioni più frequenti. Noi vedremo 3 rappresentazioni: Esplicita Con puntatori ai vertici Con puntatori ai lati Ognuna ha vantaggi e svantaggi. La scelta dipende dalle operazioni richieste. Curve e Superfici 3

Rappresentazione Esplicita Polygon Mesh: lista di poligoni. Poligono: lista di vertici. Problemi: - Spreco spazio per duplicazione vertici. - Dispendioso trovare tutti i poligoni che hanno un determinato vertice. Questo richiede di ordinare tutte le liste e cercare un elemento in tutte le liste. Curve e Superfici 4

Rappresentazioni con Puntatori Puntatori a lista di vertici: rappresentazione piu usata Problemi: inefficiente trovare i poligoni con un lato in comune. Lati in comune sono disegnati 2 volte. Puntatori a lista di lati: Problemi: 2 poligoni per lato va bene per molte figure, ma può essere maggiore. Curve e Superfici

Equazioni del Piano Usando polygon meshes un’operazione fondamentale e’ di calcolare il piano di un poligono. I coefficienti dell’EQ: Ax + By + Cz + D = 0 si possono trovare calcolando l’area delle proiezioni sui piani coordinati. Per esempio, il valore di C per un triangolo è dato da: Curve e Superfici

Curve di Grado Superiore Buone approssimazioni con polylines richiedono molti punti. Alternativa : approssimare con funzioni di grado superiore. Molti metodi possibili. Il più semplice consiste nell’avere Y e Z come funzioni esplicite di x : Y=f(x) Z=f(x) Problemi : non adatto a cerchi, ellissi, ..… non si preserva se ruotiamo non adatto a curve con tangente verticale Curve e Superfici 7

Equazioni Implicite Curva definita implicitamente f(X,Y,Z) = 0. Problemi: difficile rappresentare mezza circonferenza. difficile calcolare la tangente. difficile congiungere più segmenti. Curve e Superfici 8

Rappresentazioni Parametriche Rappresentazioni implicite, con X, Y e Z funzioni di un parametro t. Normalmente t va da 0 a 1. X=X(t) Y=Y(t) Z=Z(t) Una curva è una lista di segmenti dove ogni segmento è definito da 3 funzioni parametriche (cubiche in t). Cubiche perchè si possono fissare 2 endpoints con relative derivate e le curve non sono necessariamente planari. Curve e Superfici

Curve Cubiche Parametriche Curve di grado più alto (>4) sono difficili da controllare, e usate solo in poche applicazioni. Forma generale (cubica) Q(t) = [x(t) y(t) z(t)]T = x(t) = ax t3 + bx t2 + cx t + dx y(t) = ay t3 + by t2 + cy t + dy z(t) = az t3 + bz t2 + cz t + dz In forma matriciale: Q(t) = C*T dove T=[t3 t2 t 1]T e ax bx cx dx C = ay by cy dy az bz cz dz Curve e Superfici 9

Esempio in 2D 2 segmenti 2D congiunti. Notate che la curva nel piano xy non è una funzione nè di x nè di y. Curve e Superfici

Continuità tra Segmenti Se 2 segmenti si incontrano: G0 geometric continuity. Se hanno anche la stessa tangente nel punto di contatto: G1 geometric continuity. Se vettori tangenti uguali C1 continuity Se dnQ(t)/dt n uguali C n continuity (d Q / dt é la velocità d2 Q /dt2 é l’ accelerazione) Curve e Superfici

Differenze C-G In generale C1 implica G1 poichè impone stessa direzione e grandezza dei vettori tangenti La differenza tra continuità C1 e continuità G1 è importante solo se la derivata in t è significativa. Le derivate rispetto a t sono invisibili Y1(t) =4t2+2t+1 0<t<1 Y2 (t) =16t2+4t+1 0<t<1/2 [dY1 / dt ] t=0 = 2 [dY2/ dt ] t=0 = 4 Curve e Superfici

Tipi Curve Parametriche Tipi curve: Hermite 2 (estremi + vettori tangenti). Bezier 2 estremi + 2 punti di controllo. Splines 4 punti di controllo Riscriviamo l’ equazione di Q(t) = G * M * T M è la basis matrix e G è il geometry vector. G contiene le specifiche dei vincoli geometrici, mentre M è costante per ogni tipo. Le 3 funzioni risultanti dal prodotto M * T vengono chiamate blending functions Curve e Superfici 13

Curve di Hermite Geometry vector : G = [P1 P4 R1 R4] 2 estremi 2 vettori tangenti La base matrix viene : 2 -3 0 1 MH = -2 3 0 0 1 -2 1 0 1 -1 0 0 Si ottiene imponendo che ogni componente (x, y o z) soddisfi i vincoli geometrici. Curve e Superfici 14

Hermite Blending Functions Riscrivendo Q ottengo 4 blending functions Curve e Superfici

Esempi Hermite P1,P4,R4 fissi. R1 stessa direzione ma ampiezze diverse. R1 ampiezza fissa cambia direzione. Curve e Superfici

Disegno Curve Parametriche typedef float CoefficientArray[4]; void DrawCurve(CoefficientArray cx, CoefficientArray cy, CoefficientArray cz, int n) { float x, y, z, delta, t, t2, t3; int i; MoveAbs3(cx[3], cy[3], cz[3]); delta = 1.0/n; for( i = 1; i <= n; i++ ){ t = i*delta; t2 = t*t; t3 = t2*t; x = cx[0]*t3 + cx[1]*t2 + cx[2]*t + cx[3]; y = cy[0]*t3 + cy[1]*t2 + cy[2]*t + cy[3]; z = cz[0]*t3 + cz[1]*t2 + cz[2]*t + cz[3]; DrawAbs3(x, y ,z);} } Curve e Superfici 18

Curve di Bezier Fisso i 2 estremi + 2 punti di controllo. Estremi: P1 P4 Punti di controllo: P2 P3 Relazione con Hermite: R1 = 3(P2 - P1) R2 = 3(P4 - P3) Curve e Superfici

Polinomi di Bernstein Blending functions per Bezier: sempre positive 0 <= t <= 1 BB1+BB2+BB3+BB4 = 1 Quindi hanno la proprietà del convex hull Continuità: se P3-P4-P5 allineati G1 se P4-P3=P5-P4 C1 Curve e Superfici

Uniform Nonrational B-Splines Natural cubic splines: curva che interpola i control points con continuità C0, C1, C 2. Ottima continuità, ma non hanno la proprietà di località. Ogni tratto della curva dipende da tutti i punti di controllo. B-splines: splines con controllo locale e stessa continuità (C2). Però non interpolano nessuno dei punti di controllo. Curve e Superfici

Uniform Nonrational B-Splines Punti di controllo condivisi tra segmenti adiacenti: m +1 control points P0 P1 ....Pm m-2 segmenti Q3 Q4 ...Qm un solo t t i <= t < t i + 1 per Q i punti di contatto knot per t = t3 , t 4, t 5... t m-1 , t m (o estremi) Curve e Superfici

B-Splines Uniformi Uniforme vuol dire che ti+1-ti è costante. Possiamo assumere t 3= 0 e t i+1 - ti =1. Il segmento Qi é definito dai punti P i-3 , P i-2, P i-1 , Pi che sono il suo geometry vector. Definendo Ti=[(t-ti)3 (t-ti) 2 (t-ti) 1]T abbiamo per ogni segmento: Qi(t) = GBSi * MBS * Ti Spostando un control point modifico al più 4 segmenti. Curve e Superfici

Base Matrix La matrice di base vale: -1 3 -3 1 MBS = 1/6 * 3 -6 0 4 -1 3 -3 1 MBS = 1/6 * 3 -6 0 4 -3 3 3 1 1 0 0 0 Curve e Superfici

B-Spline Blending Functions Moltiplicando M * T ottengo le blending functions [(1-t)3]/6 [3t3-6t2+4]/6 [-3t3+3t2+3t+1]/6 t3/6 Nota : La somma è pari a 1 e sono tutte non negative quindi vale la proprietà del convex hull. Curve e Superfici

(S)Vantaggi Vantaggi: alta continuità C0, C1, C2. Svantaggi: difficili da controllare poiché non interpolano alcun punto. Per migliorare il controllo: duplico punti di controllo attenzione: posso perdere in continuità G1. Curve e Superfici

Non Uniform B-Splines Differenze: ti+1-ti non è costante. Vantaggi: si può controllare la continuità (da C2 a nessuna continuità) si possono interpolare punti (solo se C0) si possono interpolare estremi Control points P0.........Pm Knots t0.......tm+4 I knots possono ripetersi. Unico vincolo è che i valori di t siano non decrescenti. Curve e Superfici

Nonuniform B-Splines (2) Ogni segmento è definito da Q i(t) = P i-3 *B i-3,4(t)+P i-2*B i-2,4(t)+P i-1*B i-1,4(t)+P i*B i,4(t) ti <= t < ti+1 3 <= i <= m Bi,J= funzione di blending di ordine j per il punto Pi definita con delle equazioni di ricorrenza (vedi libro pg 347). Le B-Splines non uniformi hanno ancora la proprietà del convex hull. Curve e Superfici

Multiple Knots Aumentare la molteplicità dei knots ha due effetti: 1) Si aumenta il controllo sul knot 2) Si riduce la continuità Se ti = ti+1 allora il knot sta sul segmento congiungente Pi-2 e Pi-1 e la continuità scende a C1. Se ti = ti+1 = ti+2 allora il knot coincide con Pi-1 e la continuità scende a C0. Se ti = ti+1 = ti+2 = ti+3 allora la curva si interrompe e si perde la continuità. Curve e Superfici

Nonuniform Rational B-Splines NURBS Rational significa che le equazioni sono rapporti di 2 polinomi: x(t) = X(t)/W(t); y(t) = Y(t)/W(t); z(t) = Z(t)/W(t) In coordinate omogenee: Q(t) = [X(t) Y(t) Z(t) W(t)]T Vantaggi: 1) Le NURBS sono invarianti rispetto a: rotazioni, scalamenti, traslazioni e trasformazioni prospettiche 2) Con le NURBS possiamo definire precisamente le coniche (ellissi, cerchi etc.). Curve e Superfici

Riconoscimento Curve Le curve viste sono facilmente utilizzabili per descrivere profili risultanti dalla digitalizzazione di disegni e figure. Per esempio, usando Bezier otteniamo: Curve e Superfici

Superfici Parametriche Bicubiche Superfici definite da equazioni con 2 parametri: s, t Se si ha dipendenza cubica da s e t allora sono dette bicubiche. Forma generale: Q(s,t)=[G1(t) G2(t) G3(t) G4(t)]*M*S dove Gi(t) è a sua volta una curva parametrica cubica. Quindi Gi (t) = Gi * M * T Trasponendo otteniamo GiT (t) = TT * MT * GiT L’equazione complessiva è: Q(s,t) = TT * MT * G * M * S dove G è una matrice 4*4. Curve e Superfici

Superfici di Hermite Caratterizzate da: P1(t) P4(t) 2 curve estreme R1 (t) R4(t) 2 curve tangenti Ogni coordinata può essere scritta: x(t) = TT * MHT * GHx * MH * S y(t) = TT * MHT * GHy * MH * S z(t) = TT * MHT * GHz * MH * S GHx GHy GHz sono costanti ed hanno il ruolo di GH per le curve. Curve e Superfici

Congiungere Patches Ogni superfici così definita si chiama patch. Congiungere patches è come congiungere due segmenti di curva. Proprietà fondamentale è la continuità alla giunzione. Possiamo ottenere continuità C1 e G1 imponendo restrizioni alle matrici G. Curve e Superfici

Superfici di Bezier Le informazioni sono ora 16 control points. Alla congiunzione ho continuità G1 se: P13-P14-P15 P23-P24-P25 P33-P34-P35 P43-P44-P45 sono collineari Curve e Superfici

Normali Trovare le normali ad una superfice non è matematicamente difficile: Per trovare la nomale basta calcolare dQ(s,t)/ds e dQ(s,t)/dt. Dal loro prodotto vettoriale otteniamo la tangente. Purtroppo l’equazione della normale è un polinomio di quinto grado nelle due variabili s e t. Questo rende il suo calcolo abbastanza costoso. Curve e Superfici

Disegno di Superfici Metodo di valutazione iterativa: per tutti i valori di s per tutti i valori di t calcola il punto Q(s,t) Il costo computazionale è elevato. Spesso si usano tecniche di forward-difference. Curve e Superfici

Superfici Quadriche Definite da equazioni implicite: f(x,y) = ax2 + by2 + cz2 + 2dxy + 2eyz + 2f xz + 2gx + 2hy + 2jz +k = 0 o in alternativa: PT * Q * P = 0. Vantaggi: Sono semplificate le operazioni di: 1) Calcolo della normale 2) Verifca di appartenenza di un punto alla superficie 3) Calcolo di z dati x ed y 4) Calcolo intersezioni con altra superfice Gli svantaggi sono quelli legati alle equazioni implicite. Curve e Superfici

Modelli Specializzati I modelli visti sinora sono generali, ma non permettono rappresentazioni molto accurate di oggetti complessi del mondo reale. Vediamo brevemente 2 metodi specializzati adatti ad alcune situazioni particolari: Modelli frattali Modelli basati su una grammatica Curve e Superfici

Modelli Frattali Basati sull’idea di self-similarity. Partendo da una semplice figura iniziale, ogni segmento viene rimpiazzato da una copia ridotta dell’originale. Curve e Superfici

Julia-Fatou set Curve e Superfici

Mandelbrot Set Curve e Superfici

Modelli Frattali (2) Modelli frattali sono stati spesso utilizzati per modellare il profilo delle montagne. In modelli 2D ad ogni passo il segmento viene diviso in 2 ed il punto centrale viene alzato di una quantità random. Curve e Superfici

Grammatiche Estese Usando grammatiche più estese si possono ottenere modelli per oggetti come: Curve e Superfici