informatica grafica a.a. 2012-2013 dicgim – university of palermo dipartimento di ingegneria...
TRANSCRIPT
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica
Curve e superfici parametriche
Roberto Pirrone
24 ottobre 2012
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Sommario
Generalità sulle curve parametricheVincoli geometrici e funzioni di blending
Curve di Hermite
Curve di Bézier
Curve B-splineCurve NURBS
Superfici ParametricheSuperfici di Hermite di Bézier e NURBS
24 ottobre 2012
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Curve parametriche
Una curva parametrica è definita come una terna di funzioni di un parametro Q(u)=[x(u),y(u),z(u)] che fa da ascissa curvilinea lungo la curva stessa.
Una superficie è definita in termini di una coppia di parametri che stabiliscono un sistema di coordinate curvilinee sulla superficie stessa:
Q(u,v)= [x(u,v), y(u,v),z(u,v)]
24 ottobre 2012
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Curve parametriche24 ottobre 2012
In ogni segmento il parametro varia in [0,1]
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Curve parametriche
le tre funzioni del parametro sono di norma scelte come funzioni cubiche.
Tale scelta deriva dalla proprietà delle cubiche di rappresentare curve non planari
3 è il minimo grado polinomiale che ci consente di rappresentare curve nello spazio
le curve quadratiche necessitano di 3 coefficienti e quindi sono planari.
24 ottobre 2012
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Curve parametriche
Le cubiche sono facilmente controllabili, mentre polinomi di grado superiore presentano delle oscillazioni che sono difficili da controllare in termini del parametro.
Infine, dipendendo da 4 parametri, ci consentono di specificarle a partire da 4 punti di controllo o dagli estremi e dalle tangenti degli estremi.
24 ottobre 2012
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Curve parametriche24 ottobre 2012
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Curve parametriche24 ottobre 2012
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Gradi di continuità
Curve complesse sono costituite dalla successione di più segmenti
Il grado di continuità definisce il modo con cui due curve si toccano
Continuità geometrica• G0 le curve si toccano• G1 le curve hanno gradiente in u con la stessa direzione e
verso
Continuità parametrica Cn:• le derivate in u nel punto di giunzione sono uguali fino
all’ordine n
24 ottobre 2012
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Gradi di continuità24 ottobre 2012
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Rappresentazione con polinomi di blending
Una curva parametrica Q(u) può essere specificata dalla conoscenza di 4 vincoli geometrici Pi=[pix,piy,piz] i=0,…,3 posti nell’intorno della curva
I vincoli possono rappresentare• Punti di passaggio• Tangenti negli estremi• Punti di controllo esterni che influenzano la curvatura locale
di Q(u)• Un mix dei precedenti
La scelta dei vincoli da luogo a diverse famiglie di curve
24 ottobre 2012
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Rappresentazione con polinomi di blending24 ottobre 2012
Polinomi di blending
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Curve di Bézier24 ottobre 2012
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Algoritmo di De Casteljeau
Consente la valutazione della curva nel punto di ascissa curvilinea u0.
Si basa su uno schema ricorsivo di valutazione del punto Q(u0) a partire dai punti di controllo Pi.
24 ottobre 2012
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Proprietà delle curve di Bézier
Le curve di Bézier sono tali che per ogni valore di u la somma dei polinomi di blending è sempre 1.
I Bi(u) si comportano come le coordinate baricentriche quindi il punto generico della curva Q(u) si trova sempre all’interno della chiusura convessa dei punti di controllo Pi.
24 ottobre 2012
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Proprietà delle curve di Bézier24 ottobre 2012
Chiusura convessa di n punti: il minimo poligono convesso che li raccorda tutti come vertici
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Proprietà delle curve di Bézier24 ottobre 2012
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Proprietà delle curve di Bézier24 ottobre 2012
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Congiunzione di più segmenti di Bézier24 ottobre 2012
Condizione di continuità:S3-S2=k(R1-R0)
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Congiunzione di più segmenti di Bézier24 ottobre 2012
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Curve di Hermite24 ottobre 2012
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Relazione tra curve di Bézier e di Hermite24 ottobre 2012
Nella formulazione di Hermite le curve parametriche non sono vincolate a giacere nella chiusura convessa dei punti di controllo
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Curve B-spline24 ottobre 2012
Possono essere:
- Uniformi rispetto a u- Non Uniformi rispetto a u- Razionali
(NURBS: Non-Uniform Rational B-Spline)
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Proprietà delle B-spline uniformi
Il segmento B-spline uniformeNon passa per i punti di controllo e giace nella loro chiusura convessa
E’ uniforme nel parametro • passando dal segmento Qi(u) al segmento
successivo Qi+1(u) Δiu=1, ui=0,1,2,…
• Knot: il valore ui ad ogni punto di giunzione
• Il segmento i-esimo è comunque valutato per 0 ≤ u ≤ 1
24 ottobre 2012
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Proprietà delle B-spline uniformi
Ogni segmento di curva Qi(u) dipende da 4 punti di controllo Pi-3, Pi-2, Pi-1, Pi
parzialmente condivisi con i 3 segmenti precedenti
In generale, una curva è un insieme di m-2 segmenti Q3, Q4, …, Qm dipendenti da m+1 punti di controllo P0, P1,…, Pm con m>=3
24 ottobre 2012
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Proprietà delle B-spline uniformi24 ottobre 2012
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Proprietà delle B-spline uniformi24 ottobre 2012
Le funzioni di blending Bi(u) sono identicamente traslate lungo l’asse del parametro di intervallo in intervallo formando delle “funzioni di base” che si estendono su quattro intervalli
Per m-2 segmenti sono necessari m+5 knot
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Proprietà delle B-spline uniformi24 ottobre 2012
Vettore uniforme dei knot:[0,1,2,3,4]
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Molteplicità dei punti di controllo24 ottobre 2012
La molteplicità tripla di un punto di controllo estremo forza il passaggio della curva per il punto stesso
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Molteplicità dei punti di controllo24 ottobre 2012
La molteplicità doppia di un punto di controllo non estremo “attrae” il segmento creando una forte curvatura locale
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Molteplicità dei punti di controllo24 ottobre 2012
La molteplicità tripla di un punto di controllo non estremo forza il passaggio della curva per il punto stesso creando una discontinuità
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
B-spline non uniformi24 ottobre 2012
Il vettore dei knot può avere delle molteplicità, modificando la forma della funzione di base
[0,1,2,3,4]
[0,1,1,2,3]
[0,1,1,1,2]
[0,1,1,1,1]
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
B-spline non uniformi24 ottobre 2012
Al crescere della molteplicità di ui, i [∈ k,k+4] accade che:
ui ≡ ui+1
Il segmento Qi(u) si
annulla
bi-k(u) si annulla
Bk(u) cambia la sua
forma
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
B-spline non uniformi24 ottobre 2012
La molteplicità influenza molte funzioni di base:
Es. [0, 0, 0, 0, 1, 2, 3, 3, 3, 3] 6 Bi(u)
0 0 0 0 1 B0(u)
0 0 0 1 2 B1(u)
0 0 1 2 3 B2(u)
0 1 2 3 3 B3(u)
1 2 3 3 3 B4(u)
2 3 3 3 3 B5(u)
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Molteplicità dei knot24 ottobre 2012
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Molteplicità dei knot24 ottobre 2012
Q4 si annulla e si crea un flesso perché Q3 e Q5 debbono giacere nelle rispettive chiusure convesse
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Molteplicità dei knot24 ottobre 2012
Q5 si annulla e si crea una cuspide perché Q3 e Q6 debbono giacere nelle rispettive chiusure convesse che condividono solo P3
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Molteplicità dei knot24 ottobre 2012
Q6 si annulla e si crea una discontinuità perché Q3 e Q7 debbono giacere nelle rispettive chiusure convesse che sono completamente disgiunte
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Calcolo ricorsivo delle funzioni di base24 ottobre 2012
Il calcolo è valido per B-spline uniformi e non di qualsiasi ordine.Le cubiche corrispondono all’ordine 4 cioè sono influenzate da 4 knot ciascuna.
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Curve razionali
Una curva razionale R(u) n-dimensionale si ottiene attraverso una trasformazione proiettiva di tipo prospettico da una curva Q(u) definita in uno spazio in n+1 dimensioni
Il processo di riduzione delle coordinate è quello di omogeneizzazione
I punti della curva in Rn+1 si dividono per l’ultima coordinata
Le funzioni del parametro in Rn divengono così delle funzioni razionali
24 ottobre 2012
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Curve di Bézier razionali24 ottobre 2012
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Condizioni di controllo delle curve razionali
Le curve razionali possono essere controllate modificando i Pi e/o i wi
(a) i punti di R(u) si muovono parallelamente alla direzione di spostamento di Pi
(b) i punti di R(u) si muovono lungo raggi proiettori a partire dal punto di controllo cui è associato il peso• Ad es. wi≡1 i=0,1,2,3 genera un arco di circonferenza
24 ottobre 2012
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
NURBS
Non-Uniform Rational B-SplinesSi controllano:• Muovendo i punti di controllo• Variando la molteplicità dei knot• Modificando i pesi wi
Hanno le stesse proprietà geometriche ed analitiche delle B-spline non razionali
24 ottobre 2012
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Superfici parametriche
Sono l’estensione delle curve a due coordinate locali (u,v)
Si devono intendere come costruite “accostando” tra loro curve parametriche in v a passi costanti in u lungo l’andamento di una curva in u o viceversa
24 ottobre 2012
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Superfici di Bézier24 ottobre 2012
16 punti di controllo
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Superfici di Bézier24 ottobre 2012
Effetto della modifica dei punti di controllo
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Superfici di Bézier24 ottobre 2012
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Superfici di Bézier24 ottobre 2012
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Continuità delle superfici di Bézier24 ottobre 2012
S(u,v)R(u,v)
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Continuità delle superfici di Bézier24 ottobre 2012
S(u,v)R(u,v)
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Superfici B-spline
Necessitano di 16 punti di controllo, come nel caso precedente, che modulano 16 funzioni di base bi-variate
Sono necessari 8 knot per ogni patch lungo entrambe le coordinate (u,v)
8x8 knot per ogni patch
Le 16 funzioni di base hanno il loro picco nel quadrilatero centrale di questo reticolo
24 ottobre 2012
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Superfici B-spline24 ottobre 2012
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Superfici B-spline24 ottobre 2012
Il patch è confinato all’interno dei quattro punti centrali di controllo e non li interpola
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Triplicando una riga di punti di controllo lungo un edge a u costante non si ottiene interpolazione
24 ottobre 2012
Superfici B-spline
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Triplicando una riga di punti di controllo sia lungo un edge a u costante sia lungo un edge a v costante si ottiene interpolazione dei soli vertici collineari
24 ottobre 2012
Superfici B-spline
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Triplicando una riga ed una colonna interna di punti di controllo in cui quello centrale sia stato alzato si ottengono creste
Punti di controllo collineari danno luogo a creste più accentuate
24 ottobre 2012
Superfici B-spline
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Modellazione con superfici parametriche
Caso di una sezione circolareIl problema è la determinazione dei Pij che determinano la superficie a partire da un profilo 2D noto
I punti del profilo dovranno essere “modulati” dai punti che definiscono la sezione circolare
Si costruisce solo un quarto della superficie e poi si opera per simmetria
La sezione circolare con Bézier si può costruire con i punti T00={0,1,0}, T10={c,1,0}, T20={1,c,0}, T30={1,0,0}, c 0,552 ≃
24 ottobre 2012
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Modellazione con superfici parametriche24 ottobre 2012
I punti Pij (i=0,…,3 j=cost) si ottengono scalando i punti Ti0 di rj nel piano (x,y) e imponendo la quarta coordinata pari a zj Pij={rjTi0x, rjTi0y, zj}
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Modellazione con superfici parametriche24 ottobre 2012
La sezione trasversale viene interpolata tra il profilo iniziale e quello finale:
Q(u,v)=Q(u,0)(1-r(v))+Q(u,1)r(v), r(0)=0, r(1)=1
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Modellazione con superfici parametriche24 ottobre 2012
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Controllo delle superfici durante la modellazione24 ottobre 2012
Per garantire la continuità in una mesh di patch è necessario che ogni estremo venga mosso collinearmente con i suoi otto vicini in mododa rendere continue le derivate Qu, Qv e Quv
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Disegno dei poliedri di controllo
Si possono implementare due strategie
Controllo fine per raffinamento della griglia dei punti di controllo• Si ottiene maggior precisione per realizzare
deformazioni locali della superficie
Controllo globale attraverso la deformazione dei punti di controllo “annegati” in uno spazio parametrico controllato da una ipersuperficie di Bézier
24 ottobre 2012
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Controllo fine24 ottobre 2012
Le deformazioni vengono confinate ai nuovi patch definiti per inserzione dei Rij
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Controllo globale
Si consideri una curva Q(t) controllata da quattro punti Pi:
I punti possono essere pensati come appartenenti ad uno spazio bivariato (u,v) che variano in [0..1]
Se definiamo una griglia complanare di punti di controllo Rij in (u,v) questi definiscono un patch di Bézier planare
La curva Q(t) appartiene interamente allo spazio così definito e, se modifichiamo i punti di controllo Rij sempre in modo complanare, questo induce una deformazione nei punti Pi e quindi, globalmente in Q(t)
Nel caso 3D la superficie viene annegata in un iperspazio trivariato di Bézier
24 ottobre 2012
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Controllo globale24 ottobre 2012
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Fitting di superfici
Il fitting di curve o superfici con B-spline è importante in CG
Modellazione di nuvole di punti acquisiti con range finder
Interpolazione “dolce” di traiettorie nell’animazione
Si procederà ad interpolare curve B-spline a u costante e a v costante creando una mesh di curve
La mesh di curve viene trasformata in una sequenza di patch di Bézier più semplici da controllare
24 ottobre 2012
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Fitting di superfici24 ottobre 2012
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Fitting di superfici
Il sistema precedente ha m-1 equazioni e m+1 incognite
Si risolve aggiungendo altri due punti di controllo da interpolare
L’interpolazione avviene separatamente lungo u e lungo v dando luogo ad una rete di punti di controllo B-spline Qi
24 ottobre 2012
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Fitting di superfici
La conversione B-spline Bézier avviene trasformando i soli punti di controllo attraverso le matrici di base
La forma analitica delle superfici in funzione di u e v è la stessa
[P0 P1 P2 P3]=BB-1BS[Q0 Q1 Q2 Q3]
Per ogni quadrupla di punti di controllo B-spline Qk,…,Qk+3 si genera una quadrupla di punti Bézier eliminando Qk ed inserendo Qk+4
Così si generano i punti di controllo sui contorni delle patch: quelli interni si costruiscono sulla base di vincoli di continuità tra le superfici
24 ottobre 2012
Informatica Grafica a.a. 2012-2013
DICGIM – University of Palermo
Fitting di superfici24 ottobre 2012