Curve e Superfici Professor Ivo De Lotto, Ing. Alessandro Martinelli ➢Curve e Superfici Implicite ➢ Coniche ➢ Blob Surfaces ➢Curve e Superfici Parametriche ➢ Retta e Linea Parametrica ➢ Cerchio ed Ellisse ➢ Triangolo Parametrico ➢ Sfera Parametrica ➢ Algoritmo di De Casteljau e Curve di Bezier ➢ Patch Bilineari e Patch Quadratici ➢Proprietà di Curve e Superficie ➢ Retta tangente ad una Curva ➢ Piano tangente ad una curva e Vettore Normale ➢Algoritmi di Tassellazione ➢ Tassellazione Fissa ➢ Tassellazione Adattativa e Tassellazione Adattativa Esplicita Grafica 3D e Simulazioni Visuali Modelli Geometrici I Modelli Geometrici si dividono in due grandi categorie Modelli Impliciti: definiscono delle proprietà ( tramite equazioni e disequazioni ) che i punti devono soddisfare per appartenere ad una superficie. Esempio: X 2 + Y 2 = 0 Modelli Parametrici: Definiscono una superficie attraverso la mappatura di un altra superficie più semplice: Esempio X = O x + tD x Y = O y + tD y t ≤ t≤ t 1 0 Curve e Superfici Implicite Curve implicite nel piano Curve implicite nello spazio Superfici implicite nello spazio Delimitazioni: introducono condizioni aggiuntive e limitano le superfici X+Y≤1 X + Z ≤ −2 Vedremo Coniche Blob Surfaces Curve Implicite: Coniche (1/4) La conica generica nel piano è espressa con una equazione A seconda dei coefficienti la conica può essere Una Parabola Un’iperbole Un’ellisse (eventualmente una circonferenza) Una curva degenere: Una coppia di rette, un punto, l’insieme vuoto. Curve Implicite: Coniche (2/4) Circonferenza: la generica circonferenza nel piano è nella forma Che equivale alla forma generica se si scrive Ellisse: la generica ellisse nel piano con assi paralleli agli assi ortogonali è nella forma Che equivale alla forma generica se si scrive E’ possibile ottenere la forma più generica dell’ellisse applicando una rotazione degli assi ortogonali Curve Implicite: Coniche (3/4) Curve Implicite: Coniche (4/4) Parabola: forma implicita Iperbole con assi paralleli agli assi ortogonali Generalizzazione delle coniche sotto l'effetto di una trasformazione lineare Blob Surfaces (1/3) Consideriamo la funzione distanza da un punto d p ( x, y, z ) Consideriamo inoltre una funzione di 'fusione' blending f(r) come quella in figura, definita da 0 ad R Allora la funzione f (d p ( x, y , z )) è un potenziale scalare che vale 0 sulla circonferenza avente centro in P e raggio R e valori crescenti fino ad 1 per circonferenze di raggio più piccolo d p ( x, y , z ) = R R P f (d p ( x, y , z )) = 0 Blob Surfaces (2/3) Date N funzioni di distanza (non necessariamente 'distanza da un punto' ma anche altre funzioni di distanza )La superficie blob o di blending è definita in questo modo f (d1 ( x, y, z )) + f (d 2 ( x, y, z )) + f (d 3 ( x, y, z )) + = k Per avere una struttura gerarchica che componga in modo intelligente più superfici si utilizzano i Blob Tree (prossima slide), che introducono operazioni aggiuntive sulle superfici Blob Surfaces (3/3) Curve e Superfici Parametriche Curve parametriche nello spazio ( analoga nel piano ) Superfici parametriche nello spazio Le curve sempre definite dato un intervallo: t 0 ≤ t ≤ t1 Le superfici sono definite su un dominio in due dimensioni, tipicamente una figura geometrica semplice come un triangolo o un quadrato v v u u Esempi di Curve e Superfici Rette e Linee Triangoli Sfera Algoritmo di De Casteljau per le curve di Bezier Algoritmo di De Casteljau per l'interpolazione Bi-Lineare Algoritmo di De Casteljau per patch di Bezier di secondo grado Retta e Linea Parametriche (1/2) Data la direzione che esce da in direzione e il punto è data la retta parametrica P = Q + tD Dato il punto e il punto parametrizzato che congiunge i due punti è dato da il segmento P = A + t ( B − A) Retta e Linea Parametriche (1/2) Circonferenza ed Ellisse Dato il centro e il raggio r, la circonferenza generica può essere parametrizzata come Dato il centro , il raggio r e due pesi a e b rispetto ai due assi principali si ottiene la generica ellisse nel piano con assi perpendicolari agli assi cartesiani Il Triangolo Parametrico Un triangolo è una superficie molto semplice Ogni triangolo può essere mappato in modo parametrico su un triangolo di riferimento nello spazio (u,v): quello di vertici (0,0),(1,0),(0,1) L’equazione parametrica è lineare P = A + u ( B − A) + v(C − A) P = (1 − u − v) A + uB + vC La Sfera Parametrica La sfera parametrica è costruita dato centro e raggio Questo modello della sfera ha un solo problema: i punti con uguale a 0 e a mappano tutti su, rispettivamente, il polo alto e il polo basso Algoritmo di De Casteljau (1/5) Dati 3 punti nel piano, chiamiamo e segmento che collega rispettivamente PA = P0 (1 − t ) + tP1 PB = P1 (1 − t ) + tP2 il generico punto del con e con Algoritmo di De Casteljau (2/5) Dato un certo valore con considero il segmento che congiunge PC = PA (1 − t* ) + tPB Algoritmo di De Casteljau (3/5) Complessivamente, generalizzando su tutti i valori di t PC = ( P0 (1 − t ) + tP1 ) (1 − t * ) + t ( P1 (1 − t ) + tP2 ) PC = (1 − t ) 2 P0 + 2t (1 − t ) 2 P1 + t 2 P2 Algoritmo di De Casteljau (4/5) Aggiungendo un punto alla catena, il processo è analogo PC = (1 − t ) 2 P0 + 2t (1 − t ) 2 P1 + t 2 P2 PD = (1 − t ) 2 P1 + 2t (1 − t ) 2 P2 + t 2 P3 PE = (1 − t ) 3 P0 + 3t (1 − t ) 2 P1 + 3t 2 (1 − t ) P2 + t 3 P3 Algoritmo di De Casteljau (5/5) L'algoritmo di De Casteljau è un algoritmo che vale sempre ( per qualsiasi coppia di curve parametriche definita da 0 ad 1 ) Nel caso in cui le curve siano prodotte da una catena di punti come nell'esempio precedente, le curve realizzate vengono dette Cu rve d i B ezier Le curve di Bezier sono uno degli strumenti di modellazione più utilizzati in ambito grafico. Approfondiremo il problema nella lezione sulla modellazione La proprietà principale delle curve di Bezier è la proprietà di tangenza rispetto ai segmenti iniziale e finale della catena ( cioè le curve sono tangenti al primo e ultimo segmento della linea ) Patch di Bezier Bi-Lineare L'algoritmo di De Casteljau è un algoritmo che vale sempre ( per qualsiasi coppia di curve parametriche definita da 0 ad 1 ) Pv1 = P0 (1 − u ) + uP3 Pv 2 = P1 (1 − u ) + uP4 P = Pv1 (1 − v) + vPv 2 P = ( P0 (1 − u ) + uP3 )(1 − v) + v( P1 (1 − u ) + uP4 ) P = P0 (1 − u )(1 − v) + P1 (1 − u )v + P2 u (1 − v) + P3uv Patch di Bezier Quadratico (1/3) In modo analogo al caso delle curve il Patch di Bezier di secondo grado è definito dato una griglia di 9 punti ed i Patch bilineari definiti su gruppi di 4 punti alla volta Patch di Bezier Quadratico (2/3) Saltando i conti.. P = PA (1 − u )(1 − v) + PB (1 − u )v + PC u (1 − v) + PD uv Patch di Bezier Quadratico (3/3) Proprietà di Curve e Superfici Vedremo ora alcune proprietà di Curve e superfici Parametriche Parametrizzazione della Retta Tangente ad una Curva Vettore normale ad una superficie e formula implicita del piano tangente Parametrizzazione del Piano Tangente ad una Superficie Retta Tangente ad una Curva Data la Curva Parametrica Dato La retta tangente in Q è il vettore tangente in Q è dato da Piano Tangente ad una Superficie Data la Superficie Parametrica Dato superficie in Q è , il piano tangente alla Normale ad una Superficie Il vettore normale ad una superficie parametrica S(u,v) può essere calcolata come prodotto vettoriale dei due vettori derivata parziale della superficie N i ∂S ∂S ∂S × = ∂u ∂v ∂u X ∂S ∂ v X j ∂S ∂uY ∂S ∂vY k ∂S ∂uZ ∂S ∂ v Z ∂S ∂u ∂S ∂v ∂S ∂S ∂S ∂S ∂S ∂S ∂S ∂S ∂S ∂S ∂S ∂S ∂S ∂S × = i( − ) + j( − )+ k( − ) ∂u ∂v ∂uY ∂v Z ∂vY ∂uZ ∂uZ ∂v X ∂v Z ∂u X ∂u X ∂vY ∂v X ∂uY Il piano tangente in forma implicita è dato da: ( P − Q ) ⋅ N = 0 Tassellazione La tassellazione è il processo di approssimazione di una superficie tramite primitive lineari, solitamente triangoliper le superfici e segmenti per le curve Ci limiteremo a curve/superfici parametriche Per Curve e Superfici Parametriche vediamo 2 tipi di tassellazione: Tassellazione Fissa Tassellazione Adattativa Tassellazione Fissa Crea i punti necessari per la superficie campionando il suo dominio con passi fissi Il vantaggio principale è l'enorme semplicità e la rapidità di ricostruzione delle primitive lineari Lo svantaggio è che non tiene sufficientemente conto dell'andamento della curva/superficie Ciò nonostante è la filosofia di tassellazione ancora oggi più utilizzata Tassellazione Fissa su Dominio Lineare dt costante t 0 Una Line_Strip 1 Tassellazione Fissa su Dominio Triangolare Una Lista di Triangle Strip Tassellazione Fissa su Dominio Quadrangolare Una Lista di Quad Strip Tassellazione Adattativa La tassellazione adattativa tassella maggiormente dove ce n'è più bisogno: E' necessario definire una funzione 'errore d i a pprossim a zion e' Se l'errore di approssimazione su un triangolo supera una certa soglia, il triangolo è tassellato in modo più fine Gli algoritmi sono complessi e richiedono la memorizzazione dell'elenco delle primitive durante il processo Tassellazione Adattativa Esplicita (1/2) E' una forma di tassellazione che estende la tassellazione fissa Definisce una funzione di Kernel f(t) o f(u,v) per riposizionare i punti di campionamento all'interno del dominio Non cambia il numero dei vertici e il funzionamento degli algoritmi di tassellazione è identico al caso fisso Tassellazione Adattativa Esplicita (2/2) Può essere applicata a molti contesti di modellazione
© Copyright 2024 ExpyDoc