32
Présentation ANS6 Parametrization and smooth approximation of surface triangulations Daniel Déchelotte [email protected] Loria Présentation ANS6 – p.1/13

Présentation ANS6 · Loria Présentation ANS6 – p.1/13. Pour commencer, une évidence Toutes les paramétrisations ne sont pas équivalentes! Quelques points pour lesquels il faut

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Présentation ANS6 · Loria Présentation ANS6 – p.1/13. Pour commencer, une évidence Toutes les paramétrisations ne sont pas équivalentes! Quelques points pour lesquels il faut

Présentation ANS6Parametrization and smooth approximation of surface

triangulations

Daniel Déchelotte

[email protected]

Loria

Présentation ANS6 – p.1/13

Page 2: Présentation ANS6 · Loria Présentation ANS6 – p.1/13. Pour commencer, une évidence Toutes les paramétrisations ne sont pas équivalentes! Quelques points pour lesquels il faut

Pour commencer, une évidence

Toutes les paramétrisations ne sont pas équivalentes !

Quelques points pour lesquels ilfaut trouver une paramétrisationlisse

x3

x4

x1 x2

Paramétrisation uniforme :

t1 t2 t3 t4

Paramétrisation déconseillée. . .

t1 t2 t3 t4

Paramétrisation dite « longueurde corde » :

t1 t2 t3 t4

C’est celle-là que l’on va étendre aux surfaces triangulées.

Présentation ANS6 – p.2/13

Page 3: Présentation ANS6 · Loria Présentation ANS6 – p.1/13. Pour commencer, une évidence Toutes les paramétrisations ne sont pas équivalentes! Quelques points pour lesquels il faut

Pour commencer, une évidence

Toutes les paramétrisations ne sont pas équivalentes !

Quelques points pour lesquels ilfaut trouver une paramétrisationlisse

x3

x4

x1 x2

Paramétrisation uniforme :? t1 t2 t3 t4

Paramétrisation déconseillée. . .

t1 t2 t3 t4

Paramétrisation dite « longueurde corde » :

t1 t2 t3 t4

C’est celle-là que l’on va étendre aux surfaces triangulées.

Présentation ANS6 – p.2/13

Page 4: Présentation ANS6 · Loria Présentation ANS6 – p.1/13. Pour commencer, une évidence Toutes les paramétrisations ne sont pas équivalentes! Quelques points pour lesquels il faut

Pour commencer, une évidence

Toutes les paramétrisations ne sont pas équivalentes !

Quelques points pour lesquels ilfaut trouver une paramétrisationlisse

x3

x4

x1 x2

Paramétrisation uniforme :? t1 t2 t3 t4

Paramétrisation déconseillée. . .?

t1 t2 t3 t4

Paramétrisation dite « longueurde corde » :

t1 t2 t3 t4

C’est celle-là que l’on va étendre aux surfaces triangulées.

Présentation ANS6 – p.2/13

Page 5: Présentation ANS6 · Loria Présentation ANS6 – p.1/13. Pour commencer, une évidence Toutes les paramétrisations ne sont pas équivalentes! Quelques points pour lesquels il faut

Pour commencer, une évidence

Toutes les paramétrisations ne sont pas équivalentes !

Quelques points pour lesquels ilfaut trouver une paramétrisationlisse

x3

x4

x1 x2

Paramétrisation uniforme :? t1 t2 t3 t4

Paramétrisation déconseillée. . .?

t1 t2 t3 t4

Paramétrisation dite « longueurde corde » :

?

t1 t2 t3 t4

C’est celle-là que l’on va étendre aux surfaces triangulées.

Présentation ANS6 – p.2/13

Page 6: Présentation ANS6 · Loria Présentation ANS6 – p.1/13. Pour commencer, une évidence Toutes les paramétrisations ne sont pas équivalentes! Quelques points pour lesquels il faut

Pour commencer, une évidence

Toutes les paramétrisations ne sont pas équivalentes !

Quelques points pour lesquels ilfaut trouver une paramétrisationlisse

x3

x4

x1 x2

Paramétrisation uniforme :? t1 t2 t3 t4

Paramétrisation déconseillée. . .?

t1 t2 t3 t4

Paramétrisation dite « longueurde corde » :

?

t1 t2 t3 t4

C’est celle-là que l’on va étendre aux surfaces triangulées.Présentation ANS6 – p.2/13

Page 7: Présentation ANS6 · Loria Présentation ANS6 – p.1/13. Pour commencer, une évidence Toutes les paramétrisations ne sont pas équivalentes! Quelques points pour lesquels il faut

Paramétrisation d’une surface triangulée

On met en évidence les sommets internes (u1, . . . , uni)

et les sommets du contour de la surface (uni+1, . . . , uN )

On répartit les sommets du contour sur un polygoneconvexe

On positionne chaque sommet interne en fonction deses voisins :

ui =N

j=1

λi,juj avec

λi,j > 0 si pj ∈ Ni

λi,j = 0 si pj /∈ Ni∑

λi,j = 1

⇒ Il faut trouver des λi,j de telle sorte que les ui = [ui; vi]reproduisent au mieux la topologies des xi = [xi; yi; zi].

Présentation ANS6 – p.3/13

Page 8: Présentation ANS6 · Loria Présentation ANS6 – p.1/13. Pour commencer, une évidence Toutes les paramétrisations ne sont pas équivalentes! Quelques points pour lesquels il faut

Inspirons-nous du cas 1D

« Longueur de corde » : ti+1−ti

ti−ti−1= Li

Li−1.

Plusieurs réécritures sont possibles :ti−1 ti ti+1

µLi−1 µLi

1. On fixe t1 et µ, et ∀i ∈ [2, N ] ti+1 = ti + µLi

2. On fixe t1 et tN , et ∀i ∈ [2, N − 1] ti = λi,1ti−1 + λi,2ti+1

avec λi,1 =Li

Li−1 + Liet λi,2 =

Li−1

Li−1 + Li

3. On fixe t1 et tN , on pose wi = 1Li

, s1 = t1 et sN = tN . Lest2, . . . , tN−1 minimisent la fonction :

F (s2, . . . , sN−1) =

N−1∑

i=1

wi (si+1 − si)2

Présentation ANS6 – p.4/13

Page 9: Présentation ANS6 · Loria Présentation ANS6 – p.1/13. Pour commencer, une évidence Toutes les paramétrisations ne sont pas équivalentes! Quelques points pour lesquels il faut

Inspirons-nous du cas 1D

« Longueur de corde » : ti+1−ti

ti−ti−1= Li

Li−1.

Plusieurs réécritures sont possibles :ti−1 ti ti+1

µLi−1 µLi

1. On fixe t1 et µ, et ∀i ∈ [2, N ] ti+1 = ti + µLi

2. On fixe t1 et tN , et ∀i ∈ [2, N − 1] ti = λi,1ti−1 + λi,2ti+1

avec λi,1 =Li

Li−1 + Liet λi,2 =

Li−1

Li−1 + Li

3. On fixe t1 et tN , on pose wi = 1Li

, s1 = t1 et sN = tN . Lest2, . . . , tN−1 minimisent la fonction :

F (s2, . . . , sN−1) =

N−1∑

i=1

wi (si+1 − si)2

Présentation ANS6 – p.4/13

Page 10: Présentation ANS6 · Loria Présentation ANS6 – p.1/13. Pour commencer, une évidence Toutes les paramétrisations ne sont pas équivalentes! Quelques points pour lesquels il faut

Inspirons-nous du cas 1D

« Longueur de corde » : ti+1−ti

ti−ti−1= Li

Li−1.

Plusieurs réécritures sont possibles :ti−1 ti ti+1

µLi−1 µLi

1. On fixe t1 et µ, et ∀i ∈ [2, N ] ti+1 = ti + µLi

2. On fixe t1 et tN , et ∀i ∈ [2, N − 1] ti = λi,1ti−1 + λi,2ti+1

avec λi,1 =Li

Li−1 + Liet λi,2 =

Li−1

Li−1 + Li

3. On fixe t1 et tN , on pose wi = 1Li

, s1 = t1 et sN = tN . Lest2, . . . , tN−1 minimisent la fonction :

F (s2, . . . , sN−1) =

N−1∑

i=1

wi (si+1 − si)2

Présentation ANS6 – p.4/13

Page 11: Présentation ANS6 · Loria Présentation ANS6 – p.1/13. Pour commencer, une évidence Toutes les paramétrisations ne sont pas équivalentes! Quelques points pour lesquels il faut

Inspirons-nous du cas 1D

« Longueur de corde » : ti+1−ti

ti−ti−1= Li

Li−1.

Plusieurs réécritures sont possibles :ti−1 ti ti+1

µLi−1 µLi

1. On fixe t1 et µ, et ∀i ∈ [2, N ] ti+1 = ti + µLi

2. On fixe t1 et tN , et ∀i ∈ [2, N − 1] ti = λi,1ti−1 + λi,2ti+1

avec λi,1 =Li

Li−1 + Liet λi,2 =

Li−1

Li−1 + Li

3. On fixe t1 et tN , on pose wi = 1Li

, s1 = t1 et sN = tN . Lest2, . . . , tN−1 minimisent la fonction :

F (s2, . . . , sN−1) =

N−1∑

i=1

wi (si+1 − si)2

Présentation ANS6 – p.4/13

Page 12: Présentation ANS6 · Loria Présentation ANS6 – p.1/13. Pour commencer, une évidence Toutes les paramétrisations ne sont pas équivalentes! Quelques points pour lesquels il faut

Moindres carrés pondérés

On fixe les points du contour uni+1, . . . ,uN et on chercheles u1, . . . ,un qui minimisent

F (u1, . . . ,un) =∑

(i,j)∈E

wi,j‖ui − uj‖2.

Pour les wi,j, on choisit 1/‖xi − xj‖q

Les solutions sont

ui =∑

j:(i,j)∈E

λi,juj où λi,j =wi,j

j:(i,j)∈E wi,j

Les performances sont meilleures qu’avec laparamétrisation uniforme (wi,j = cste ⇔ λi,j = 1/di), maisil reste des oscillations indésirables.

Présentation ANS6 – p.5/13

Page 13: Présentation ANS6 · Loria Présentation ANS6 – p.1/13. Pour commencer, une évidence Toutes les paramétrisations ne sont pas équivalentes! Quelques points pour lesquels il faut

Moindres carrés pondérés

On fixe les points du contour uni+1, . . . ,uN et on chercheles u1, . . . ,un qui minimisent

F (u1, . . . ,un) =∑

(i,j)∈E

wi,j‖ui − uj‖2.

Pour les wi,j, on choisit 1/‖xi − xj‖q

Les solutions sont

ui =∑

j:(i,j)∈E

λi,juj où λi,j =wi,j

j:(i,j)∈E wi,j

Les performances sont meilleures qu’avec laparamétrisation uniforme (wi,j = cste ⇔ λi,j = 1/di), maisil reste des oscillations indésirables.

Présentation ANS6 – p.5/13

Page 14: Présentation ANS6 · Loria Présentation ANS6 – p.1/13. Pour commencer, une évidence Toutes les paramétrisations ne sont pas équivalentes! Quelques points pour lesquels il faut

Moindres carrés pondérés

On fixe les points du contour uni+1, . . . ,uN et on chercheles u1, . . . ,un qui minimisent

F (u1, . . . ,un) =∑

(i,j)∈E

wi,j‖ui − uj‖2.

Pour les wi,j, on choisit 1/‖xi − xj‖q

Les solutions sont

ui =∑

j:(i,j)∈E

λi,juj où λi,j =wi,j

j:(i,j)∈E wi,j

Les performances sont meilleures qu’avec laparamétrisation uniforme (wi,j = cste ⇔ λi,j = 1/di), maisil reste des oscillations indésirables.

Présentation ANS6 – p.5/13

Page 15: Présentation ANS6 · Loria Présentation ANS6 – p.1/13. Pour commencer, une évidence Toutes les paramétrisations ne sont pas équivalentes! Quelques points pour lesquels il faut

Moindres carrés pondérés

On fixe les points du contour uni+1, . . . ,uN et on chercheles u1, . . . ,un qui minimisent

F (u1, . . . ,un) =∑

(i,j)∈E

wi,j‖ui − uj‖2.

Pour les wi,j, on choisit 1/‖xi − xj‖q

Les solutions sont

ui =∑

j:(i,j)∈E

λi,juj où λi,j =wi,j

j:(i,j)∈E wi,j

Les performances sont meilleures qu’avec laparamétrisation uniforme (wi,j = cste ⇔ λi,j = 1/di), maisil reste des oscillations indésirables.

Présentation ANS6 – p.5/13

Page 16: Présentation ANS6 · Loria Présentation ANS6 – p.1/13. Pour commencer, une évidence Toutes les paramétrisations ne sont pas équivalentes! Quelques points pour lesquels il faut

Respect de la topologie

Dans le cas 1D, la paramétrisation « longueur decorde » a la propriété suivante :Si les points x1, . . . ,xN de R3 sont alignés suivant unedroite, et si on considère une paramétrisation uniformet1, . . . , tN de ces points, il existe une fonction affineφ : R3 → R3 telle que φ(xi) = (ti, 0, 0).

On souhaite étendre cette propriété au cas 2D : si lasurface triangulée est contenue dans un plan, on pourraobtenir la paramétrisation par une rotation et une mise àl’échelle.

Présentation ANS6 – p.6/13

Page 17: Présentation ANS6 · Loria Présentation ANS6 – p.1/13. Pour commencer, une évidence Toutes les paramétrisations ne sont pas équivalentes! Quelques points pour lesquels il faut

Respect de la topologie

Dans le cas 1D, la paramétrisation « longueur decorde » a la propriété suivante :Si les points x1, . . . ,xN de R3 sont alignés suivant unedroite, et si on considère une paramétrisation uniformet1, . . . , tN de ces points, il existe une fonction affineφ : R3 → R3 telle que φ(xi) = (ti, 0, 0).

On souhaite étendre cette propriété au cas 2D : si lasurface triangulée est contenue dans un plan, on pourraobtenir la paramétrisation par une rotation et une mise àl’échelle.

Présentation ANS6 – p.6/13

Page 18: Présentation ANS6 · Loria Présentation ANS6 – p.1/13. Pour commencer, une évidence Toutes les paramétrisations ne sont pas équivalentes! Quelques points pour lesquels il faut

Comment trouver les bons λi,j

On itère le procédé suivant pourchaque sommet i de G :

On considère Gi, le sous-graphe deG composé du nœud i et de sesvoisins xj1 , . . . ,xjdi

.

On projette les xi,xj1 , . . . ,xjdien,

resp., p,p1, . . . ,pi en préservant laforme de S localement autour de xi.

On choisit des λi,j tels que

p =∑di

k=1 λi,jkpk.

xj2

xj4

xj3

xi

xj5

xj6

xj1

p2

p4

p6

p5p3

p1

p

Présentation ANS6 – p.7/13

Page 19: Présentation ANS6 · Loria Présentation ANS6 – p.1/13. Pour commencer, une évidence Toutes les paramétrisations ne sont pas équivalentes! Quelques points pour lesquels il faut

Comment trouver les bons λi,j

On itère le procédé suivant pourchaque sommet i de G :

On considère Gi, le sous-graphe deG composé du nœud i et de sesvoisins xj1 , . . . ,xjdi

.

On projette les xi,xj1 , . . . ,xjdien,

resp., p,p1, . . . ,pi en préservant laforme de S localement autour de xi.

On choisit des λi,j tels que

p =∑di

k=1 λi,jkpk.

xj2

xj4

xj3

xi

xj5

xj6

xj1

p2

p4

p6

p5p3

p1

p

Présentation ANS6 – p.7/13

Page 20: Présentation ANS6 · Loria Présentation ANS6 – p.1/13. Pour commencer, une évidence Toutes les paramétrisations ne sont pas équivalentes! Quelques points pour lesquels il faut

Comment trouver les bons λi,j

On itère le procédé suivant pourchaque sommet i de G :

On considère Gi, le sous-graphe deG composé du nœud i et de sesvoisins xj1 , . . . ,xjdi

.

On projette les xi,xj1 , . . . ,xjdien,

resp., p,p1, . . . ,pi en préservant laforme de S localement autour de xi.

On choisit des λi,j tels que

p =∑di

k=1 λi,jkpk.

xj2

xj4

xj3

xi

xj5

xj6

xj1

p2

p4

p6

p5p3

p1

p

Présentation ANS6 – p.7/13

Page 21: Présentation ANS6 · Loria Présentation ANS6 – p.1/13. Pour commencer, une évidence Toutes les paramétrisations ne sont pas équivalentes! Quelques points pour lesquels il faut

Plaquer xi et ses voisins dans un plan

On préserve les distances du pointcentral à ses voisins :

‖pk − p‖ = ‖xjk− xi‖

On préserve les rapports d’angles :

θi =di

k=1

ang(

xjk,xi,xjk+1

)

ang(

pk,p,pk+1

)

=2π

θiang

(

xjk,xi,xjk+1

)

xj2

xj4

xj3

xi

xj5

xj6

xj1

p2

p4

p6

p5p3

p1

p

Présentation ANS6 – p.8/13

Page 22: Présentation ANS6 · Loria Présentation ANS6 – p.1/13. Pour commencer, une évidence Toutes les paramétrisations ne sont pas équivalentes! Quelques points pour lesquels il faut

Calculer les λi,j

Si di = 3, il existe un uniquetriplet (λi,j1, λi,j2 , λi,j3) tel quep = λi,j1p1 + λi,j2p2 + λi,j3p3

Si xi a plus de trois voisins,on considère pour chaque l de1, . . . , di :

pl

pr(l)

pr(l)+1

p

le point pl ;l’indice r(l) tel que le triangle (pl,pr(l),pr(l)+1)

contienne le point p ;on calcule les coordonnées barycentriques(µl

l, µlr(l), µ

lr(l)+1) de p dans ce triangle.

On prend pour λi,jk= 1

di

∑di

l=1 µlk

Présentation ANS6 – p.9/13

Page 23: Présentation ANS6 · Loria Présentation ANS6 – p.1/13. Pour commencer, une évidence Toutes les paramétrisations ne sont pas équivalentes! Quelques points pour lesquels il faut

Calculer les λi,j

Si di = 3, il existe un uniquetriplet (λi,j1, λi,j2 , λi,j3) tel quep = λi,j1p1 + λi,j2p2 + λi,j3p3

Si xi a plus de trois voisins, onconsidère pour chaque l de1, . . . , di :

pl

pr(l)

pr(l)+1

p

le point pl ;l’indice r(l) tel que le triangle (pl,pr(l),pr(l)+1)

contienne le point p ;

on calcule les coordonnées barycentriques(µl

l, µlr(l), µ

lr(l)+1) de p dans ce triangle.

On prend pour λi,jk= 1

di

∑di

l=1 µlk

Présentation ANS6 – p.9/13

Page 24: Présentation ANS6 · Loria Présentation ANS6 – p.1/13. Pour commencer, une évidence Toutes les paramétrisations ne sont pas équivalentes! Quelques points pour lesquels il faut

Calculer les λi,j

Si di = 3, il existe un uniquetriplet (λi,j1, λi,j2 , λi,j3) tel quep = λi,j1p1 + λi,j2p2 + λi,j3p3

Si xi a plus de trois voisins, onconsidère pour chaque l de1, . . . , di :

pl

pr(l)

pr(l)+1

p

le point pl ;l’indice r(l) tel que le triangle (pl,pr(l),pr(l)+1)

contienne le point p ;on calcule les coordonnées barycentriques(µl

l, µlr(l), µ

lr(l)+1) de p dans ce triangle.

On prend pour λi,jk= 1

di

∑di

l=1 µlk

Présentation ANS6 – p.9/13

Page 25: Présentation ANS6 · Loria Présentation ANS6 – p.1/13. Pour commencer, une évidence Toutes les paramétrisations ne sont pas équivalentes! Quelques points pour lesquels il faut

Calculer les λi,j

Si di = 3, il existe un uniquetriplet (λi,j1, λi,j2 , λi,j3) tel quep = λi,j1p1 + λi,j2p2 + λi,j3p3

Si xi a plus de trois voisins, onconsidère pour chaque l de1, . . . , di :

pl

pr(l)

pr(l)+1

p

le point pl ;l’indice r(l) tel que le triangle (pl,pr(l),pr(l)+1)

contienne le point p ;on calcule les coordonnées barycentriques(µl

l, µlr(l), µ

lr(l)+1) de p dans ce triangle.

On prend pour λi,jk= 1

di

∑di

l=1 µlk

Présentation ANS6 – p.9/13

Page 26: Présentation ANS6 · Loria Présentation ANS6 – p.1/13. Pour commencer, une évidence Toutes les paramétrisations ne sont pas équivalentes! Quelques points pour lesquels il faut

Mise en œuvre

On répartit les sommets du contour uni+1, . . . ,uN surune forme convexe par « longueur de corde »

Pour chaque sommet interne i, on calcule les λi,j pourj : (i, j) ∈ E par somme pondérée de coordonnéesbarycentriques

On résoud le système :

ui =N

j=1

λi,juj , i = 1, . . . , ni.

On cherche une fonction lisse satisfaisant s(ui) = xi.

Présentation ANS6 – p.10/13

Page 27: Présentation ANS6 · Loria Présentation ANS6 – p.1/13. Pour commencer, une évidence Toutes les paramétrisations ne sont pas équivalentes! Quelques points pour lesquels il faut

Mise en œuvre

On répartit les sommets du contour uni+1, . . . ,uN surune forme convexe par « longueur de corde »

Pour chaque sommet interne i, on calcule les λi,j pourj : (i, j) ∈ E par somme pondérée de coordonnéesbarycentriques

On résoud le système :

ui =N

j=1

λi,juj , i = 1, . . . , ni.

On cherche une fonction lisse satisfaisant s(ui) = xi.

Présentation ANS6 – p.10/13

Page 28: Présentation ANS6 · Loria Présentation ANS6 – p.1/13. Pour commencer, une évidence Toutes les paramétrisations ne sont pas équivalentes! Quelques points pour lesquels il faut

Mise en œuvre

On répartit les sommets du contour uni+1, . . . ,uN surune forme convexe par « longueur de corde »

Pour chaque sommet interne i, on calcule les λi,j pourj : (i, j) ∈ E par somme pondérée de coordonnéesbarycentriques

On résoud le système :

ui =N

j=1

λi,juj , i = 1, . . . , ni.

On cherche une fonction lisse satisfaisant s(ui) = xi.

Présentation ANS6 – p.10/13

Page 29: Présentation ANS6 · Loria Présentation ANS6 – p.1/13. Pour commencer, une évidence Toutes les paramétrisations ne sont pas équivalentes! Quelques points pour lesquels il faut

Mise en œuvre

On répartit les sommets du contour uni+1, . . . ,uN surune forme convexe par « longueur de corde »

Pour chaque sommet interne i, on calcule les λi,j pourj : (i, j) ∈ E par somme pondérée de coordonnéesbarycentriques

On résoud le système :

ui =N

j=1

λi,juj , i = 1, . . . , ni.

On cherche une fonction lisse satisfaisant s(ui) = xi.

Présentation ANS6 – p.10/13

Page 30: Présentation ANS6 · Loria Présentation ANS6 – p.1/13. Pour commencer, une évidence Toutes les paramétrisations ne sont pas équivalentes! Quelques points pour lesquels il faut

Résultats

Surface triangulée initiale Paramétrisation uniforme

Paramétrisation somme pondéréede carrés

Paramétrisation conservant laforme

Présentation ANS6 – p.11/13

Page 31: Présentation ANS6 · Loria Présentation ANS6 – p.1/13. Pour commencer, une évidence Toutes les paramétrisations ne sont pas équivalentes! Quelques points pour lesquels il faut

Exploitation des résultats

Paramétrisation conservant laforme

Retriangulation (Delaunay)

Nouvelle approximation de lasurface

Retriangulation de la surfacePrésentation ANS6 – p.12/13

Page 32: Présentation ANS6 · Loria Présentation ANS6 – p.1/13. Pour commencer, une évidence Toutes les paramétrisations ne sont pas équivalentes! Quelques points pour lesquels il faut

Conclusion

Approche plus géométrique que calculatoire duproblème du choix de la paramétrisation

Résultats convaincants

Souplesse pour la forme de la frontière (cercle unité,carré unité)

Permet de retrianguler des surfaces en transmettant debonnes propriétés à la nouvelle triangulation

Présentation ANS6 – p.13/13