IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de...

57
IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

Transcript of IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de...

Page 1: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

IFT3355: Infographie Courbes et surfaces

© Victor Ostromoukhov

Dép. I.R.O.

Université de Montréal

Page 2: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Courbes et surfaces

• Beaucoup de trajectoires sont définies par des courbes, et beaucoup de vrais objets sont définis par une surface lisse– typographie, dessins, trajectoire de la caméra,

graphes, interpolation de mouvement, CAD, etc.

Page 3: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Polygones

• Solution polygonale consiste à augmenter le nombre de polygones (maillage plus fin) pour mieux approximer la surface

+ diminue l’erreur de représentation

+ hardware déjà disponible pour des polygones– augmente l’espace mémoire– augmente le temps requis pour le rendu– augmente le nombre de points à manipuler pour

modifier la surface

Page 4: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Courbes et surfaces paramétriques

• Solution paramétrique polynômiale– courbe (cubique): – surface ou patche (bicubique):

• Solution implicite– contrôle plus complexe pour la modélisation de

grande précision– discutée plus tard dans la modélisation avancée

)(),(),( tztytx

),(),,(),,( tsztsytsx

0),,( zyxF

Page 5: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Degré d’un polynôme

• Linéaire– deux points définissent le segment– dérivées définies par la ligne elle-même

zz

yy

xx

btatz

tbtaty

btatx

)(

10 )(

)(

Page 6: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Degré d’un polynôme

• Quadratique– deux points– une autre condition

• pente

• troisième point

– courbe est planaire en 3D (trois points)

Page 7: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Degré d’un polynôme

• Cubique– deux points– deux conditions

• 2 points

• 2 dérivées

– non-planaire en 3D• Plus élevé

– oscillations souvent indésirables– plus coûteux à évaluer

Page 8: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Courbe cubique

zzzyyyxxx

zyx

zyx

zyx

zyx

zzzz

yyyy

xxxx

ctbtactbtactbta

Gttdt

tdQ

GT

ddd

ccc

bbb

aaa

ttttztytxtQ

dtctbtatz

tdtctbtaty

dtctbtatx

232323

0123)(

1)()()()(

)(

10 )(

)(

222

2

23

23

23

23

Page 9: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Continuité

• Une courbe paramétrique est continue partout sauf à ses extrémités

• Les continuités entre deux segments sont:

Géométriques:– : le point de jonction est commun– : … et la direction du vecteur tangent

(pas la longueur)

vitesse d’un point sur la courbe par rapport à t

kBkA 0pour

0G1G

1et 0 tt

Page 10: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Continuité

• Les continuités entre deux segments sont:

Paramétriques:– : … et la longueur du vecteur tangent (k = 1)

implique excepté lorsque– : … et la direction et la longueur de– : accélération d’un point sur la courbe par

rapport à t

1C

nC

1C 1G )0,0,0(tg

n

n

dt

tQd )(

2C

Page 11: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Contraintes

• Points aux extrémités du segment• Vecteurs tangents• Continuité entre les segments

Une courbe cubique est définie par 4 coefficients, donc requiert 4 contraintes pour résoudre le système

Page 12: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Courbes d’après les contraintes

• Hermite– deux points– deux tangentes

• Bézier– deux points– deux points contrôlant les tangentes

• Splines– quatre points

B-splines (uniformes et non-uniformes)-splines

Page 13: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Interpolation linéaire

GMT

ggg

ggg

mm

mmttQ

zyx

zyx

1)(222

111

2221

1211

01

11M

tgtgtz

tgtgty

tgtgtx

zz

yy

xx

21

21

21

)1()(

)1()(

)1()(

222211122111 )( mgmgtmgmgtx xxxx

Page 14: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Interpolation cubique

GMT

ggg

ggg

ggg

ggg

mmmm

mmmm

mmmm

mmmm

ttttQ

zyx

zyx

zyx

zyx

1)(

444

333

222

111

44434241

34333231

24232221

14131211

23

G : contraintes géométriquesM : matrice de la baseTM : blending (poids de chaque contrainte pour t)

Page 15: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Transformations

• Transformer les contraintes G est équivalent à transformer la courbe parce que la courbe est définie par une combinaison linéaire des 4 contraintes

• Donc la courbe est invariant sous rotation, changement d’échelle et translation

• Mais la courbe varie après une projection en perspective

Page 16: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Courbe d’Hermite

• Contraintes– points aux extrémités– tangentes aux extrémités

41 et PP

41 et RR

1P

4P

1R

4R

Page 17: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Courbe d’Hermite

HxH GMTtx )(

HxHx

HxHx

HxHx

HxHx

GMRxt

GMRxt

GMPxt

GMPxt

0123)1(' 1

0100)0(' 0

1111)1( 1

1000)0( 0

4

1

4

1

zzzyyyxxx ctbtactbtactbta

Gttdt

tdQ

232323

0123)(

222

2

1P

4P

1R

4R

Page 18: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Courbe d’Hermite

HxH GMTtx )(

HxHx

HxHx

HxHx

HxHx

GMRxt

GMRxt

GMPxt

GMPxt

0123)1(' 1

0100)0(' 0

1111)1( 1

1000)0( 0

4

1

4

1

HxHHx GMG

0123

1100

1111

1000

Page 19: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Courbe d’Hermite

HxHHx GMG

0001

0100

1233

1122

1HH MIM

4

1

4

1

)()()()(

R

R

P

P

MTtztytxtQ H

Page 20: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Courbe d’Hermite fonctions deblending d’Hermite

)(

)2(

)32(

)132(

234

231

234

231

ttR

tttR

ttP

ttP

1P 4P

1R

4R

1

1

7

7

4

4

1

4

1

0 :

R

R

P

P

R

R

P

P

C

7

4

7

4

4

1

4

1

1 :

R

kR

P

P

R

R

P

P

G

7

4

7

4

4

1

4

1

1 :

R

R

P

P

R

R

P

P

C

0001

0100

1233

1122

123 tttMTB HH

Page 21: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Courbe d’Hermite

Page 22: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Courbe de Bézier

• Contraintes– points aux extrémités– tangentes aux extrémités sont déterminées par

deux points de contrôle

41 et PP

1P

4P

2P

3P

32 et PP

Page 23: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Tangentes sur Bézier

• Les deux tangentes d’Hermite sont déterminées par les deux points de contrôle additionnels 32 et PP

)(3)1('

)(3)0('

3443

1221

PPQPP

PPQPP

4

3

2

1

4

1

4

1

3300

0033

1000

0001

P

P

P

P

R

R

P

P

1P 4P2P 3P

facteur 3: vitesse constante

BBHH GMG

Page 24: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

De Hermite à Bézier

BB

BBHH

BBHH

HH

BBHH

GMT

GMMT

GMMT

GMTtQ

GMG

)(

)(

)(

0001

0033

0363

1331

BM

Page 25: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Courbe de Bézier

fonctions de blending de Bézier

)(

3)1(

3)1(

)1(

34

23

22

31

tP

ttP

ttP

tP

1B 4B

2B 3B

1

1Polynôme de Bernstein

0001

0033

0363

1331

123 tttMTB BB

Page 26: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

0C

distance même la àet ... 1 :

scolinéairesont ,, 0 )(:1

54354431

kC

PPPkPPkPPG

Contraintes de Bézier

1G

1C

Page 27: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Propriétés de Bézier

• (1) et (2) impliquent que– Q(t) est une somme pondérée des 4 points

– la courbe est complètement comprise dans l’enveloppe convexe (convex hull) des 4 points

• Enveloppe convexe (convex hull) peut servir à– subdivision (planarité de la courbe)

– clippage (acceptation/rejet trivial)

10 0)( )2(

1)( )1(4

t

tB

tB

B

B

Page 28: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Cubique par morceaux: propriétés désirées

• Chaque segment est une cubique• La courbe interpole les points de contrôle• La courbe a contrôle local• La courbe a une continuité

• Les différentes familles de représentations ne peuvent satisfaire au plus que trois de ces quatre propriétés

C 2

Page 29: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Splines

• baguette flexible de métal avec des attaches pour la déformer

• utilisée pour mesurer des surfaces courbes• équivalent mathématique est la spline cubique

naturelle

Page 30: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Spline cubique naturelle

+ interpole les points de contrôle

+ donc plus lisse que Hermite et Bézier à - les coefficients dépendent des n points de contrôle,

donc contrôle global seulement- doit inverser une matrice de

code dans Numerical Recipes in C

Impossible d’avoir , interpoler les points et un contrôle local avec des courbes cubiques

2C 1C

)1()1( nn

2C

Page 31: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

B-spline uniforme non-rationnelle

+ les coefficients ne dépendent que de quelques points, donc contrôle local

+ même continuité que la spline naturelle

- n’interpole pas les points de contrôle

points de contrôle :

segments de courbes

1m2m

3 ,...,0 mPP m

mQQ ,...,3

Page 32: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

B-spline uniforme non-rationnelle

est défini par 4 points de contrôle

• Propriété de l’enveloppe convexe

• affecte 4 segments

iiii PPPP ,,, 123 iQ

iQ

3iP

2iP1iP

iP

(uniforme) 1 0)( )2(

1)( )1(11i4

iii

S

Sttttt

tB

tB

iP

Page 33: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

B-spline uniforme non-rationnelle

2BsB1

1

1BsB

3BsB 0BsB1/6

4/6

i

i

i

i

iiii

P

P

P

P

tttttttQ1

2

3

23

0141

0303

0363

1331

6

11)()()()(

BsiBsii GMTtQ )(

[Bartels,Beatty,Barsky’87]

Page 34: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

B-spline uniforme non-rationnelle

Page 35: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

B-spline non-uniforme non-rationnelle

+ les intervalles entre les noeuds n’ont pas à être uniformément espacés en t

- ceci entraîne que les fonctions de blending diffèrent dans chaque intervalle

+ possible de réduire de à à et même non-

+ à la courbe interpole les points de contrôle sans hacking (i.e. sans introduire des segments linéaires)

+ peut ajouter des noeuds intermédiaires pour un contrôle encore plus local

2C 1C 0C 0C0C

Page 36: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

B-spline non-uniforme rationnelle (NURBS)

• Points de contrôle sont définis en coordonnées homogènes

• Invariant sous rotation, changement d’échelle, translation et projection en perspective (projette les points de contrôle)

• Définit aussi les coniques (alors que non-rationnelle approxime seulement les coniques)

)()()()()( tWtZtYtXtQ

11/)(1/)(1/)( 1)( tZtYtXtW

Page 37: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Spline Catmull-Rom

+ Interpole les points de contrôle à l’exception du premier et du dernier point

+ Contrôle local

+ Tangente à est parallèle au segment

- Ne possède plus la propriété de l’enveloppe convexe

i

i

i

i

ii

P

P

P

P

TtQ1

2

3

0020

0101

1452

1331

2

1)(

iP11 ii PP

Page 38: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

-spline

• Ajoute deux variables de contrôle valide sur toute la courbe

• : biais

• : tension

• mais seulement

1

2

2G 0C

direction autrel' dans biais ; 1 si

desupérieur côtédu ngente ta

lapar influencéeest spline la ; 1 si

1

1

t

contrôle de points ses de

rapprochéeest spline la ; 1 si 2

Page 39: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Contrôle de courbe

• On peut modifier la forme d’une courbe en manipulant ses points de contrôle (G)

• Mais la forme peut ne pas correspondre aux attentes de l’usager dues aux limites de la cubique et du nombre de segments

Page 40: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Contrôle de courbe - Solutions

• Augmenter le degré du polynôme (>3)– plus de points d’inflections (oscillations)– plus coûteux à évaluer

• Subdiviser en plus de segments– construction de de Casteljau pour évaluer une

courbe de Bézier à la position t– diminution de variation des enveloppes

convexes de la courbe

Page 41: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Construction de de Casteljau

1- t

1- t

1- t

1- t1- tt

t

t

t

tt

1 - t

Page 42: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Diminution de variation (variation diminishing)

• Les nouveaux points de contrôle sont à l’intérieur de l’enveloppe convexe des points de contrôle de la courbe non-subdivisée

Page 43: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Conversion entre différentes représentations

12

111

22

1122

1122

)(

)(

GMG

GMMG

GMGM

GMTGMTtQ

conversion

Page 44: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Traçage de courbe

• Evaluation à de Q(.)– naïf (11x, 10+)

– règle de factorisation de Horner (9x, 10+)

– incrémental (forward differences) (9+, init)

t

xxxx dtctbtatx 23)(

xxxx dtctbtatx ))(()(

Page 45: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Forward differences

)()()( txtxtx

)()23()3(

)()()(

)()()(

222

2323

xxxxxx

xxxxxxxx

cbatbata

dtctbtadtctbta

txtxtx

23 266

)()())((

xxx bata

txtxtx

36

))(())(()))(((

xa

txtxtx

Page 46: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Forward differences

3

23

23

6)))0(((

26))0((

)0(

)0(

x

xx

xxx

x

ax

bax

cbax

dx

),,(

))(()(

)(

zyxsegment

xx

xx

xx

à t=0:

boucle:

Page 47: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Traçage de courbe

• Evaluations à des intervalles fixes en t– Des intervalles réguliers en t ne correspondent

pas à des intervalles réguliers en espace 3D– Si l’intervalle est trop grand, la courbe

ressemble à des segments de lignes; si l’intervalle est trop petit, on fait trop de calculs

• Subdivision récursive sur la longueur– Si la distance entre Q(t) et Q(t+dt) est plus

grande que le seuil désiré, subdivise dt

Page 48: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Traçage de courbe

• Subdivision récursive sur la linéarité– critère d’arrêt lorsque la portion de la courbe est

suffisamment plate pour être remplacée par un simple segment de ligne

– basé sur la propriété de l’enveloppe convexe et de la diminution de variation

1P

2P

3P

4P2d

3d

remplace parsi

41PP 32 et dd

Page 49: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

[Foley-van Dam-Feiner-Hughes]

Page 50: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Surfaces bicubiques

1D courbe

)(

4

3

2

1

x

x

x

x

x

g

g

g

g

MTGMTtx

3D courbe

)(

4

3

2

1

g

g

g

g

MTGMTtQ

3D surface

)(

)(

)(

)(

)(),(

4

3

2

1

tg

tg

tg

tg

MStGMStsQ

Page 51: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Surfaces bicubiques

(0,0)

(0,1) (1,0)

(1,1)

st

(0.5,0)

(0.5,0.5)

(0,0.5)

(0.5,1)

(1,0.5)

Page 52: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Surfaces bicubiques

• G(t) est constante: courbe cubique• G(t) n’est pas constante: surface• G(t) est cubique en t:

Afin de conserver t en vecteur ligne: ii GMTtQ )(

TTTi

Ti TMGGMT )(

44434241

34333231

24232221

14131211

),(

gggg

gggg

gggg

gggg

G

TMGMStsQ TT

Page 53: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Surfaces bicubiques

44434241

34333231

24232221

14131211

),(

gggg

gggg

gggg

gggg

G

TMGMStsQ TT

t

s 4 contraintes en tpour s = 0

4 contraintes en spour t = 0 16 points de contrôle

4 contraintes en tpour s = 1

4 contraintes en spour t = 1

Page 54: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Surface de Bézier

Page 55: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Surface de BézierTT

BBxB TMGMStsx ),(

0

1

2

3

)(),(

0123

)(),(

2

2

t

t

MGMS

t

TMGMS

t

tsQ

TMGMss

TMGMs

S

s

tsQ

T

TT

TT

TT

t

tsQ

s

tsQN

),(),(

Page 56: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Notes sur les surfaces bicubiques

• Affichage par subdivision– lorsque les subdivisions ne sont pas égales en s

et en t, des craques peuvent apparaître entre les polygones résultants

• Textures– paramétrisation ),(),( vuts

Page 57: IFT3355: Infographie Courbes et surfaces © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Standards historiques