Transport de m´etriques

Dans le document The DART-Europe E-theses Portal (Page 88-93)

3.3 Extension au cas anisotrope

3.3.2 Transport de m´etriques

cadre et but. A ce stade, nous avons construit un champ tensoriel qui encode la r´epartition id´eale` des points et l’alignement des mailles afin de minimiser l’erreur de la surface ou celle d’une solution num´eriqueu calcul´ee sur la triangulation, conform´ement `a la r´esolution souhait´ee et `a la sensibilit´e de la norme utilis´ee. De plus, il nous garantit une variation lisse des tailles de toute paire d’arˆetes incidentes. Lorsqu’un point est cr´e´e ou d´eplac´e, sa normale ainsi que son tenseur m´etrique doivent ˆetre recalcul´es ou interpol´es `a partir de ses voisins, puisqu’ils ont chang´es. N´eanmoins l’interpolation r´ep´et´ee d’un tenseur m´etrique implique une perte d’anisotropie `a cause des effets de diffusion71. Par

71Intuitivement, quand on prend la moyenne d’une moyenne d’une moyenne alors on perd forc´ement en pr´ecision.

C’est au moins le cas quand on effectue une interpolation lin´eaire de tenseurs m´etriques.

c2018.HOBYRAKOTOARIVELO

88 3.3. Extension au cas anisotrope

Algorithme3.8: Gradation

t= 0, et marquer tous les points comme ´etant `a traiter. . grˆace `a une file de tˆaches.

r´ep´eter

pourchaque pointpmarqu´efaire

calculer une base localeJ = (up,vp) du plan tangent dep.

calculerMp le tenseur associ´e `a gp dans la baseJ. diagonaliserMp et extraireh0,p eth1,p.

pourchaque point voisinqdepfaire .calcul de gp|w,w=−→pq Expansion de la m´etrique deqversppar le biais degp|w

N=R=P=D=λ= 02×2

calculer ˜gq par transport parall`ele degq versp.

calculerMq le tenseur associ´e `a ˜gq dans la baseJ.

calculerN=M−1p Mq et diagonaliserN=R−1ΛR. . voirA.2.3 pourchaque directionvi∈Rfaire

ηi= (1 + hi,pkwk)−2. .voir ´equation3.27

λ1,i=hvi,Mpvii. . voir ´equationA.16

λ2,i=hvi, ηiMqvii. .voir ´equation3.35 fin

R´eduction avec la m´etrique re¸cuegp|w

siil y a unj pour lequelλ1,j < λ2,j alors . si hhj,q

j,p <1 + `p(vj).

pourchaque directionvi faire

Dii= min(max(λ1,i, λ2,i), hmax2). . voir ´equationA.17 P=R1

stockergp=JPTD PJT. . gp|w∩gp, voir ´equationA.18 fin si

marquerq.

fin

sigp a ´et´e modifi´e, d´emarquerp.

fin t=t+ 1

jusqu’`aaucun point marqu´e ou quet≥tmax

ailleurs, d´eplacer un tenseur m´etrique sur la surface peut d´evier ses directions principales. Pour minimiser cette d´eviation, nous utilisons une routine detransport parall`ele72au sens de la d´efinition29 mais ´etendu au cas des tenseurs m´etriques. Intuitivement, il g´en´eralise la notion de translation de vecteurs au cas des vari´et´es. Notons que cela est d´ej`a utilis´e dansmmgsde mani`ere heuristique. Ici, notre but est de prouver formellement qu’un transport de tenseurs m´etriques pr´eservant les directions peut ˆetre r´ealis´e par un simple transport parall`ele de vecteurs tangents (propri´et´e3).

D´efinition 29 (transport parall`ele).Soit Γ une vari´et´e munie d’une connexion affine∇a. Un champ vectoriel v[t] du fibr´e tangentb de Γ le long d’une courbe γ : I → Γ est dit parall`ele relativement `a cette connexion si ∇γ[t] v[t] s’annule pour toutt∈I.

Ainsi un vecteur tangent v est transport´e parall`element dep`a q sur γ si le champ vectoriel v[t]

induit par son d´eplacement le long de γ est parall`ele.

aUneconnexion affinesur une vari´et´e diff´erentielleΓ efinit la notion de d´eriv´ee d’un champ vectorielU par rapport `a un autre champ vectorielV du fibr´e tangent deΓ. Son d´eveloppement d´ecrit une courbeγreliant les plans tangents de deux points deΓ. Dans le cadre du transport parall`ele,Vcorrespond au champ de vitesse deγ.

bLe fibr´e tangent de la vari´et´eΓ est l’union disjointe de tous les plans tangents en tout point deΓ.

72Notons juste qu’elle fait intervenir des notions rigoureuses de g´eom´etrie diff´erentielle assez complexes `a appr´ehender : nous veillerons `a rester synth´etique en ne d´etaillant que les points pertinents dans notre contexte.

c2018.HOBYRAKOTOARIVELO

D´efinition 30 (connexion de levi-civita).Il existe une unique connexion affine ∇, dite de levi-civita, sur une vari´et´e riemannienne(Γ, g)telle que :

• elle soitsans-torsiona, i.e que la rotation des plans tangents autour d’une g´eod´esiqueγ est nulle quand ils sont transport´es parall`element le long deγ par le biais de∇.

• elle soitcompatiblebavecg, i.e que le produit scalaire local en tout pointpdeΓ est pr´eserv´e par transport parall`ele deple long deγ : ce d´eplacement est donc uneisom´etrie.

Si la vari´et´e est munie de deux m´etriquesg1 etg2alors leurs connexions de levi-civitane sont pas n´ecessairement les mˆemesc.

aElle estsans torsionsi pour tout champs vectorielsU,Vdu fibr´e tangent deΓ, on a : UV − ∇VU= [U,V], o`u [·,·] d´esigne le crochet de Lie. Le terme de gauche quantifie le manque de commutativit´e du transport parall`ele induite par, et le terme de droite le manque de commutativit´e des flots associ´es `aUetV, qui est intrins`eque `a la vari´et´e. Ainsine ”rajoute” pas de torsion suppl´ementaire que celle intrins`eque `a la vari´et´e.

bCela implique que : (Ug)(V,W) =Ug(V,W)g(UV,W)g(V,UW) = 0 pour toutU,V,Wdu fibr´e tangent deΓ. On dit alors queest uneconnexion m´etriqueavec∇g= 0.

cCar on a deux vari´et´es riemanniennes distinctes dans ce cas.

cas vectoriel. En fait, un vecteur tangentv peut ˆetre transport´e parall`element d’un point de la vari´et´e munie d’une connexion∇, `a un autre si le chemin qu’elle emprunte est uneg´eod´esiquede cette connexion, c’est-`a-dire une courbe la vari´et´e correspondant au plus court chemin entre ces deux points selon∇. `A vrai dire, la d´eviation dev va d´ependre de la connexion que l’on choisit. Intuitivement, la connexion delevi-civita(voir d´efinition30) fournit une mani`ere optimale de r´ealiser le transport dev puisqu’elle sans torsion et pr´eserve le produit scalaire local. Mais le plus important est que les g´eod´esiques d’une connexion delevi-civita co¨ıncident avec celles de la surface elle-mˆeme. Ainsi, le probl`eme revient concr`etement `a :

• trouver une g´eod´esique ”naturelle”γpassant par les sommets de toute arˆete [pq],

• d´eterminer une mani`ere de translater un vecteur tangent depversqle long deγ.

Ici, γ peut ˆetre approch´ee par une b-spline (voir section 3.2.3, page 61). Par contre, d´eplacer par-all`elementvle long deγrevient `a r´esoudre l’´equation diff´erentielle suivante :

trouver le champ vectorielv[t] du fibr´e tangent deΓ tq :∇γ[t] v[t]= 0, pour toutt∈I . (3.37) Au lieu de r´esoudre (3.37), elle peut ˆetre approch´ee par le biais de l’´echelle de schild[160]. Pour d´eplacer le vecteurvd’un pointp`a un pointqle long de la courbeγ, l’id´ee est de construire une s´erie de parall´elogrammes courbes tel qu’un cˆot´e de chaque parall´elogramme repr´esente la discr´etisation de γ, et le cˆot´e adjacent repr´esente le d´eplacement devsur chaque point contrˆole de cette discr´etisation.

De mani`ere concr`ete, cela se fait en quatre ´etapes :

• calculer la courbeγ1de d´ebut pet de vitesse initialev : γ1(0) =p,γ1(0) =v,`(γ) = 1.

• calculer la courbeγ2de d´ebut r=γ1(1) et de finq, ainsi que son point milieu m.

• calculer la courbeγ3de d´ebut ppassant parm telle quemsoit le milieu deγ3.

• calculer la courbeγ4de d´ebut qet de finγ3(1). En fait,γ4(0) est le transport´e devsurq.

En fait, cette construction n’est valide que sipet qsont suffisamment proches. Si ce n’est pas le cas, il suffit d’it´erer la proc´edure et donc de construire une ”´echelle”.

cas tensoriel. Ne perdons pas de vue que notre but r´eel est de r´ealiser le transport parall`ele d’un tenseur m´etrique gp d’un point p vers un point q de la vari´et´e. De la mˆeme mani`ere que pour un vecteur tangent, transporter parall`elementgp sur une courbeγ:I→Γ sous-tendue par [pq] consiste `a trouver un champ tensorielgγ[t] tel que∇γ[t] gγ[t] = 0 pour toutt∈I, et donc de r´esoudre l’´equation diff´erentielle associ´ee.

Au lieu de r´esoudre directement ce probl`eme, on va plutˆot le ramener `a un transport parall`ele de vecteurs tangents. Ainsi, cela permet de r´eutiliser l’´echelle de schild pour le transport de gp. Notre souci est qu’il faut construire la connexion associ´ee `a la vari´et´e riemannienne (Γ, g) de sorte qu’elle soit compatible avecg. Au lieu de l’expliciter, on va plutˆot essayer de l’exprimer avec celle de levi-civita. L’avantage est qu’elle pr´eserve le tenseur m´etrique induit deR3 lors du d´eplacement le

c2018.HOBYRAKOTOARIVELO

90 3.3. Extension au cas anisotrope

long d’une g´eod´esiqueγ. En fait, siPest une base orthonormale deTpΓ, alors il suffit de transporter parall`element chaque vecteur colonne de Ple long deγ pour obtenir une base orthonormale de TqΓ. Ici on va montrer que c’est ´egalement le cas si on consid`ere les directions principalesR= (v1,v2) de gp=RTD R(propri´et´e3).

Propri´et´e 3 (transport de m´etriques).Notons(Γ, g)notre vari´et´e riemannienne.

R´ealiser le transport parall`ele d’un tenseur m´etrique gp d’un point p vers un point q revient au transport parall`ele de sesdirections principales le long d’une g´eod´esique ”naturelle”a deΓ.

aEn fait, il s’agit de g´eod´esiques relatives `a la connexion delevi-civitaassoci´ee `a la m´etrique intrins`eque de la surface (oupremi`ere forme fondamentale). Cette derni`ere d´efinit le produit scalaire usuel sur la surface.

preuve. Pour d´emontrer la propri´et´e3, il faudrait d’abord montrer que la connexion delevi-civita associ´ee `a la m´etrique intrins`eque de la surface est bien compatible avec notre m´etrique gp en tout point pde la surface. Pour toute courbeγ :I →Γ, gγ[t] est compatible avec∇ si pour tout champ vectorielu,v du fibr´e tangent deΓ, on a :

(∇γ[t] gγ[t])(u,v) =γ[t] (gγ[t](u,v))−gγ[t](∇γ[t] u,v)−gγ[t](u,∇γ[t] v) = 0, ∀t∈I (3.38) En fait,gpest une forme bilin´eaire sym´etrique correspondant `a une matrice sym´etriqueMexprim´ee dans une base locale de TpΓ. En particulier, il existe une base orthonormalePdonn´ee de TpΓ telle que M est congruente `a une matrice diagonale D dans P. Autrement dit, gp(vi,vj) = 0 pour tout vi,vj ∈P. Dans ce cadre, on va montrer que les valeurs propresλi∈Dsont invariantes par transport parall`ele des vecteurs colonnes vi dePle long d’une courbeγ:I→Γ sous-tendue par [pq]. Pour un t∈I donn´e, notons w[t] le transport´e d’un vecteur tangentw au pointγ(t),D la matrice diagonale form´ee des λi au pointp=γ(0), etP[t] = (v[t]1 ,v[t]2 ). Ainsi, on a :

∀u[0]∈Tγ[0]Γ, on a :gγ[t](u[t],v2[t]) =hu[t],Mγ[t]v[t]2 i, ∀t∈I (3.39a)

=hu[t],P2

i=1λ[t]i v[t]i vi[t],Tv[t]2 i (3.39b)

=hu[t], λ[t]1 v[t]1 (v[t],Ti v[t]2 ) +λ2(v2[t]v[t],Ti )v2[t]i (3.39c)

=hu[t], λ[t]2 kv[t]2 kv[t]2 i (3.39d)

[t]2 hu[t],v[t]2 i (3.39e)

de mˆemegγ[t](u[t],v1[t]) =λ[t]1 hu[t],v[t]1 i (3.39f) or∇γ[t] u=∇γ[t] vi =~0, ∀t∈I. (3.39g) doncgγ[t](∇γ[t] u,vi) +gγ[t](u,∇γ[t] vi) = 0 (3.39h)

donc∇γ[t] gγ[t](u,vi) =

γ[t]gγ[t](u[t],v[t]i ) voir ´equation (3.38).

donc∇γ[t] gγ[t](u,vi) = 0⇔gγ[t](u[t],v[t]i )−gγ[0](u[0],v[0]i ) Rt

0kγ(s) kds = 0 (3.39i)

⇔ hu[0],vi[0]i Rt

0kγ(s) kds(λ[t]i −λ[0]i ) = 0 carhu,viiconstant sur γ.

⇔λ[t]i −λ[0]i = 0 (3.39j)

⇔Mγ[t]=P2

i=1λ[0]i v[t]i v[t],Ti (3.39k)

⇔Mγ[t]=P[t],TD P[t] (3.39l)

d’o`u∇γ[t] gγ[t](u,v) = 0⇔



γ[t] u=∇γ[t] v=~0

gγ[t](u,v) =hu,P[t],TD P[t]vi (3.39m)

c2018.HOBYRAKOTOARIVELO

Ainsi d’apr`es (3.39), r´ealiser le transport parall`ele d’un tenseur m´etrique gp le long de γ revient `a transporter parall`element ses vecteurs propresvipar le biais de la connexion delevi-civitaassoci´ee

`

a la m´etrique intrins`eque de la surface (aussi appel´epremi`ere forme fondamentale). En fait, comme les directions du tenseur doivent ˆetre orthogonales en tout point deγ, il suffit de transporter une seule directionv1 puis de retrouver v2 de sorte quehv[t]1 ,v[t]2 i= 0 pour toutt∈I. Elle est r´ealis´ee par le biais de l’algorithme3.9.

Algorithme 3.9: Transport parall`ele d’un tenseur m´etrique.

fonction transport-parall`ele(γ, gp) . γ : g´eod´esique sous-tendue par [pq].

poser ˜p=p. . gp : tenseur `a transporter dep`aq.

pourchaque past∈[0,1]faire . γ: [0,1]→Γ

poser ˜q=γ[t].

calculer des jacobiennesJp˜et Jq˜et en d´eduire les normalesn(˜p) etn(˜q).

extraire une baseP= (v1,v2) deTp˜Γ tel quegp˜=Jp˜PTD PJpT˜. d´eterminer le point scomme suit :

- soit rl’extr´emit´e dev1, .´echelle deschild

- calculer un segment [r˜q] et soitmson milieu, - calculer un segment [ps] tel quek−→psk=2k−→pmk.

prendrev[t]1 =−→qs, puis˜ v[t]2 =v1[t]×n(˜q) etP[t] = (v[t]1 ,v[t]2 ).

stockergp[t]˜ =Jq˜P[t],TD P[t]JqT˜. mettre `a jour ˜p= ˜qetn(˜p) =n(˜q).

fin

retournergp[1]. fin

∗ ∗ ∗ 3.4 EVALUATION NUM´´ ERIQUE

3.4.1 Cadre, but et mesures

En bref, nous avons propos´e quatre noyaux locaux ainsi qu’une strat´egie compl`ete pour le

r´e-´echantillonnage et la r´egularisation anisotropes de surfaces triangul´ees, conform´ement `a l’erreur d’une solution num´erique ou de la surface elle-mˆeme. Ces noyaux concilient les contraintes de localit´e induite par le hardware tout en restant aussi efficaces que les noyaux de r´ef´erence. En effet, aucun d’entre eux n’impliquent un voisinage dynamique de points ou mailles, ni de s´equence dynamique d’op´erations.

Par contre, ils s’appuient sur des routines g´eom´etriques avanc´ees `a savoir :

• une projection de points bas´ee sur le calcul de g´eod´esiques pour le placement pr´ecis des points sur la surface id´eale lors de leur cr´eation ou d´eplacement,

• une relocalisation de points mixte diffusion-optimisation permettant d’am´eliorer la qualit´e des mailles tout en minimisant la d´eformation de la surface.

• un transport optimal de tenseurs m´etriques pour pr´eserver leurs directions principales lors du d´eplacement d’un point ou durant la gradation.

Maintenant le but est de montrer num´eriquement l’efficacit´e de chaque feature propos´ee. `A cette fin, les noyaux ont ´et´e impl´ement´es enC++11 sous forme d’une biblioth`eque baptis´ee trigen. Elle est actuellement en cours d’int´egration au sein degmdset sera bientˆot en open-source.

plan. Pour commencer, nous montrons l’efficacit´e du raffinement et de la relaxation. En particulier, nous ´evaluons l’impact de notre traitement particulier73 des arˆetes vives sur l’approximation de la surface lors du raffinement, puis l’impact de la relaxation sur l’irr´egularit´e de la triangulation ainsi que sa convergence. Ensuite, nous ´evaluons la pr´ecision de notre op´erateur de projection en termes

73Notamment le fait que les ”ridges” soient dupliqu´es et que nous utilisons l’op´erateur bas´e sur le calcul de g´eod´esiques pour la projection des points desteiner.

c2018.HOBYRAKOTOARIVELO

Dans le document The DART-Europe E-theses Portal (Page 88-93)