• Aucun résultat trouvé

Approcher des courbes par des hélices

N/A
N/A
Protected

Academic year: 2021

Partager "Approcher des courbes par des hélices"

Copied!
25
0
0

Texte intégral

(1)

HAL Id: hal-01224893

https://hal.archives-ouvertes.fr/hal-01224893

Submitted on 25 Nov 2015

HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires

Approcher des courbes par des hélices

Florence Bertails-Descoubes, Alexandre Derouet-Jourdan

To cite this version:

Florence Bertails-Descoubes, Alexandre Derouet-Jourdan. Approcher des courbes par des hélices.

Quadrature, EDP Sciences, 2015. �hal-01224893�

(2)

Approcher des courbes par des h´elices

Florence Bertails-Descoubes et Alexandre Derouet-Jourdan

INRIA et Laboratoire Jean Kuntzman, Grenoble, France

Paru dans Quadrature, avril 2015

R´ esum´ e

La forme ´elanc´ee des structures fibreuses - telles que les cheveux, les brins d’ADN ou encore les tiges de plantes - peut se repr´esenter

`

a l’aide de courbes de l’espace. En particulier, les courbes en h´elices par morceaux offrent une repr´esentation int´eressante pour mod´eliser num´eriquement de telles donn´ees, car elle s’av`ere tr`es compacte : 2 nombres (une courbure et une torsion) suffisent ` a caract´eriser un mor- ceau d’h´elice circulaire. Dans cet article, nous pr´esentons une m´ethode

`

a la fois pr´ecise et rapide pour approcher une courbe quelconque de l’espace par une courbe lisse en h´elices par morceaux.

1 Des h´ elices dans notre quotidien

Il est assez ´ etonnant de constater ` a quel point les structures filiformes, c’est-` a-dire les objets longs et tr` es fins, font partie de notre environnement quotidien : les exemples biologiques naturels (branches d’arbre, brins d’herbe, cheveux, etc.) rivalisent en nombre avec les objets issus de l’industrie (fibres optiques, cordons de t´ el´ ephone, cˆ ables d’ordinateur, etc.). Et l’on a beau zoo- mer et d´ ezoomer notre angle de vue, on retrouve encore ces mˆ emes structures longilignes ou fibreuses, aussi bien en descendant dans les petites ´ echelles (fibres musculaires du cœur, nano-tubes de carbone, prot´ eines ou encore ADN) qu’en remontant vers les grandes ´ echelles (structure chevelue du champ

[email protected]

(3)

magn´ etique d’une ´ etoile, filaments galactiques). Par ailleurs, quelle que soit l’´ echelle consid´ er´ ee, on peut remarquer la tendance spontan´ ee qu’ont la plu- part de ces structures ` a s’enrouler, s’enchevˆ etrer ou se vriller, pour dessi- ner des formes tridimensionnelles des plus ´ el´ ementaires, mais aussi des plus esth´ etiques : des h´ elices. La double h´ elice de l’ADN, bien sˆ ur. Mais aussi les cheveux ondul´ es ou boucl´ es, les vrilles de vigne entortill´ ees, les cordons t´ el´ ephoniques spiral´ es, ou encore les tornades et courants h´ elico¨ıdaux dans les rivi` eres. Quelques exemples de formes h´ elico¨ıdales r´ eelles sont pr´ esent´ es en Figure 1.

Figure 1 – Exemples d’h´ elices r´ eelles. De gauche ` a droite : vrille de vigne - c J. Sullivan, pdphoto.org, m` eche de cheveux boucl´ es - c F. Bertails- Descoubes, et sculpture de Charles Jencks aux Kew Gardens de Londres, repr´ esentant la double h´ elice de l’ADN - c J.-P. Truc.

2 Acquisition et traitement num´ erique

Si les artistes c´ el` ebrent par la peinture ou la sculpture la grˆ ace des objets

filiformes et h´ elico¨ıdaux depuis l’antiquit´ e, les scientifiques - non moins sen-

sibles ` a cette grˆ ace - cherchent davantage ` a observer, analyser et mod´ eliser

math´ ematiquement ces structures pour en comprendre l’origine et en pr´ edire

la formation. Pour saisir la structure des objets ´ etudi´ es, ` a deux ou trois

dimensions, de nombreuses techniques d’acquisition ont ´ et´ e d´ evelopp´ ees au

cours des soixante derni` eres ann´ ees, depuis la cristallographie r´ ev´ elant la

(4)

structure h´ elico¨ıdale de l’ADN jusqu’` a l’IRM mettant en lumi` ere la struc- ture fibreuse de la mati` ere blanche du cerveau, en passant par la capture multi-cam´ eras sous lumi` ere contrˆ ol´ ee permettant d’acqu´ erir pr´ ecis´ ement la g´ eom´ etrie d’une chevelure humaine r´ eelle. Ainsi, aujourd’hui, un grand nombre de donn´ ees complexes sous forme d’images ou de g´ eom´ etrie brute (comme des nuages de points) sont disponibles dans tous les champs de la science, no- tamment en biologie, m´ edecine, astrophysique, ou en informatique de l’image (vision par ordinateur, informatique graphique). Un traitement num´ erique est alors indispensable afin de trier, de simplifier, d’analyser, et de comprendre ces donn´ ees.

La mod´ elisation g´ eom´ etrique est l’une des ´ etapes importantes de l’in- terpr´ etation des donn´ ees d’entr´ ee : elle consiste ` a repr´ esenter les structures observ´ ees par des primitives g´ eom´ etriques ´ el´ ementaires (comme des courbes ou des surfaces param´ etr´ ees) et permet ainsi de simplifier et de rationa- liser les formes de la vie r´ eelle. Dans notre cas, o` u nous nous int´ eressons

`

a des structures filiformes plus ou moins boucl´ ees, ce sont les courbes, et plus pr´ ecis´ ement les courbes constitu´ ees d’h´ elices, qui apparaissent parti- culi` erement pertinentes pour repr´ esenter nos donn´ ees d’entr´ ee. Nous allons alors nous int´ eresser au probl` eme suivant : comment approcher une courbe quelconque de l’espace par une courbe en h´ elices par morceaux ?

3 Approximation en h´ elices par morceaux

Voil` a donc notre probl` eme. En entr´ ee, nous consid´ ererons une courbe spa- tiale, aussi tordue que l’on veut. Cette courbe pourra provenir d’un travail de mod´ elisation g´ eom´ etrique pr´ ealable (par exemple, sculpture virtuelle de cheveux par un artiste), ou au contraire ˆ etre issue d’une capture automa- tique sur un sujet r´ eel (par exemple, capture et reconstruction 3d d’une fibre

`

a partir de photographies). Le format d’entr´ ee n’aura que peu d’importance :

il pourra s’agir d’une s´ equence de points 3D, ou d’une spline, ou autre. Par

contre nous consid´ ererons que l’information est compl` ete (pas de trou dans

les donn´ ees) et exacte (pas de bruit dans les donn´ ees). En sortie, notre ob-

jectif sera de g´ en´ erer une courbe en h´ elice par morceaux. Par h´ elice, nous

entendrons en fait “h´ elice circulaire”, c’est-` a-dire une h´ elice ` a base circu-

laire et ` a pas constant (voir Figure 2). Nous nous imposerons une contrainte

suppl´ ementaire : les arcs d’h´ elice devront se recoller de mani` ere lisse, c’est ` a

dire de telle sorte que les tangentes co¨ıncident aux points de jonction.

(5)

x

y z

Figure 2 – H´ elice circulaire ` a pas constant. Ici son axe est l’axe z. Projet´ e dans le plan (xy), l’h´ elice d´ ecrit un cercle (repr´ esent´ e par une ligne discon- tinue).

Ainsi, notre d´ emarche est celle d’une approximation (ou conversion) g´ eom´ e- trique, dans le sens o` u nous cherchons ` a faire co¨ıncider “au mieux” des arcs d’h´ elices avec la courbe d’entr´ ee.

4 Nombre minimal de morceaux ou erreur maximale ?

Dans un probl` eme d’approximation g´ eom´ etrique, o` u l’on approche une donn´ ee d’entr´ ee (ici, une courbe de l’espace) par un nombre fini de primitives g´ eom´ etriques ´ el´ ementaires (ici, des arcs d’h´ elice circulaire), il est l´ egitime de se poser la question suivante : souhaite-t-on contrˆ oler le nombre de morceaux de primitives que l’on utilise pour approcher au mieux la donn´ ee d’entr´ ee, ou bien l’erreur d’approximation commise ? ´ Evidemment, ces deux quan- tit´ es sont totalement inter-d´ ependantes, et le minimum que l’on puisse exi- ger d’une bonne m´ ethode d’approximation est que l’erreur d’approximation soit une fonction strictement d´ ecroissante du nombre de primitives utilis´ ees.

Autrement dit, plus l’on utilise un nombre ´ elev´ e de primitives, plus l’on se

doit d’ˆ etre pr´ ecis. Dans le cas o` u l’on souhaite garantir une erreur d’ap-

(6)

proximation minimale entre la forme d’entr´ ee et la forme approch´ ee, il est souhaitable de pouvoir contrˆ oler directement l’erreur caus´ ee par la m´ ethode d’approximation, sans se pr´ eoccuper du nombre de primitives qu’il est alors n´ ecessaire d’utiliser pour atteindre la pr´ ecision requise (quitte ` a avoir besoin d’un nombre gigantesque de primitives). ` A l’inverse, si l’on consid` ere que l’utilisation d’une primitive a un coˆ ut (par exemple, un coˆ ut en m´ emoire de stockage), il est sans doute pr´ ef´ erable de contrˆ oler directement le nombre de primitives employ´ ees, et en fonction de la quantit´ e de ressources que l’on veut bien s’accorder, tˆ acher d’approcher au mieux la forme d’entr´ ee (quitte

`

a rester tr` es loin de la forme d’entr´ ee, faute d’un nombre suffisant de res- sources). Ce choix du param` etre que l’on laisse ` a l’utilisateur est important car il conditionne la fa¸con dont on va construire l’algorithme d’approxima- tion, c’est-` a-dire la m´ ethode pour calculer automatiquement une approxima- tion de la courbe d’entr´ ee en une h´ elice par morceaux.

Dans cet article nous opterons pour la seconde strat´ egie. Plus pr´ ecis´ ement, notre algorithme d’approximation prendra comme param` etre d’entr´ ee le nom- bre N d’arcs d’h´ elice souhait´ es, et produira en sortie une courbe C

1

constitu´ ee de N arcs d’h´ elice de longueur ´ egale, approchant la courbe d’entr´ ee avec une erreur correspondant ` a une certaine notion de distance (que nous pr´ eciserons plus tard) entre la courbe d’origine et la courbe approch´ ee.

Pour simplifier, nous commencerons par d´ ecouper la courbe d’entr´ ee en

N morceaux de longueur ´ egale. Nous appellerons points de jonction et no-

terons p

i

les N + 1 points de la courbe localis´ es ` a l’endroit de d´ ecoupe. En

chaque point p

i

, nous supposerons qu’il est possible de calculer ou d’estimer

pr´ ecis´ ement la tangente ` a la courbe, not´ ee t

i

. Une question naturelle qui se

pose est alors la suivante : ´ etant donn´ es deux points successifs p

i

et p

i+1

ainsi

que leurs tangentes respectives t

i

et t

i+1

, est-il possible de construire un arc

d’h´ elice interpolant les deux points et les deux tangentes ? Y a-t-il toujours

existence d’une telle h´ elice interpolante, ou uniquement dans certains cas ?

Comment la construire en pratique ? Si une telle h´ elice existe dans une confi-

guration donn´ ee, est-elle unique ? Aussi ´ el´ ementaires qu’elles y paraissent,

ces questions semblent n’avoir ´ et´ e abord´ ees en r´ ealit´ e que tr` es r´ ecemment.

(7)

5 Interpolation et h´ elices : un probl` eme peu ´ etudi´ e ?

Les questions d’interpolation pour les courbes et les surfaces se posent naturellement dans le domaine de la conception assist´ ee par ordinateur – domaine qui a ´ emerg´ e dans les ann´ ees 60 avec la conception informatique de mod` eles pour l’industrie automobile notamment – o` u l’on souhaite cr´ eer des formes respectant certaines contraintes impos´ ees : par exemple, un cˆ able doit relier un point A ` a un point B, ou bien la surface d’un mod` ele de car- rosserie de voiture doit ˆ etre suffisamment ”lisse” pour refl´ eter la lumi` ere de mani` ere esth´ etique, etc. Ces questions interviennent aussi dans d’autres champs comme la physique ou la biologie, o` u les formes g´ eom´ etriques ´ el´ emen- taires (cercles, ellipses, h´ elices) sont r´ epandues et pour lesquelles on a besoin de comprendre la nature de leur formation ou de leur d´ eformation dans le temps, en fonction des contraintes internes ou externes qui leur sont im- pos´ ees. L’´ etude de l’existence et la caract´ erisation de ces formes ´ el´ ementaires soumises ` a diff´ erents types de contraintes requi` erent en g´ en´ eral l’usage d’ou- tils math´ ematiques classiques : ces questions n’int´ eressent donc que rarement les math´ ematiciens modernes, qui s’att` elent davantage ` a d´ evelopper de nou- velles th´ eories complexes. Pourtant, ces probl` emes g´ eom´ etriques d’apparence simple sont loin d’ˆ etre triviaux. Et encore une fois, ils trouvent bon nombre d’applications dans tout un champ de disciplines : conception par ordinateur, informatique graphique, mod´ elisation en physique et en biologie. Il n’est ainsi pas rare de voir apparaˆıtre de temps en temps, en provenance d’informati- ciens, de physiciens, de biologistes, ou de math´ ematiciens dits “appliqu´ es”, de nouveaux petits th´ eor` emes qu’on aurait pu croire d´ emontr´ es depuis l’an- tiquit´ e, tant leur ´ enonc´ e est simple (mais en math´ ematique, il faut toujours se m´ efier d’un ´ enonc´ e trop simple).

6 A deux dimensions, le cas facile `

Pour y voir plus clair, regardons tout d’abord le cas ` a deux dimensions.

L’analogue d’un arc d’h´ elice circulaire (caract´ eris´ e par des courbure et torsion

constantes) dans le plan est l’arc de cercle (caract´ eris´ e par une courbure

constante). Notre probl` eme d’interpolation initial revient ainsi ` a ´ etudier les

conditions d’existence et d’unicit´ e d’un arc de cercle orient´ e interpolant deux

points p

0

, p

1

et deux vecteurs tangents t

0

, t

1

. Ces conditions seront par la

(8)

suite appel´ ees conditions de co-circularit´ e pour p

0

, p

1

, t

0

, et t

1

.

Pla¸cons-nous tout d’abord dans un cas encore plus simple et moins con- traint, en omettant le second vecteur tangent t

1

. Comment construire un arc de cercle partant de p

0

avec comme vecteur tangent t

0

, et passant par p

1

? Nous voyons rapidement qu’un tel arc orient´ e existe : il s’obtient en construisant le centre du cercle interpolant comme point d’intersection entre la m´ ediatrice du segment [p

0

,p

1

] et la droite perpendiculaire ` a t

0

, comme indiqu´ e sur la Figure 3.

p 0 p 1

t 0

O

Figure 3 – Construction de l’arc de cercle orient´ e joignant p

0

` a p

1

et ayant t

0

pour vecteur tangent en p

0

.

D’apr` es la contrainte d’interpolation du vecteur tangent t

0

au point p

0

, l’arc que l’on recherche est en r´ ealit´ e orient´ e. De plus, si l’on se limite ` a un arc court, c’est-` a-dire ne faisant pas un tour complet, l’arc interpolant p

0

, t

0

et p

1

est unique.

Consid´ erons maintenant la contrainte que nous avions laiss´ ee de cˆ ot´ e, ` a

savoir l’interpolation du vecteur tangent t

1

au point p

1

. Evidemment, vu ce

que nous venons d’´ etablir pr´ ec´ edemment, cette nouvelle contrainte ne peut

pas ˆ etre satisfaite dans le cas g´ en´ eral : le vecteur tangent t

1

ne peut pas ˆ etre

fix´ e de mani` ere arbitraire si l’on veut pouvoir l’interpoler.

(9)

Dans le cas g´ en´ eral, on peut en fait formuler le petit th´ eor` eme suivant qui donne un crit` ere simple pour caract´ eriser la co-circularit´ e de deux points et deux vecteurs tangents :

Soient deux points p

0

et p

1

de R

2

tels que p

0

6= p

1

, et deux vecteurs unitaires t

0

et t

1

de R

2

tels que t

1

6= ±t

0

. Il existe un unique arc de cercle (orient´ e) court reliant p

0

` a p

1

et admettant t

0

et t

1

comme vecteurs tangents en p

0

et p

1

, respectivement, si et seulement si

hp

1

− p

0

, t

1

− t

0

i = 0 (1) ou, en d’autres termes, si et seulement si le vecteur p

1

− p

0

appartient ` a la droite orthogonale au vecteur t

1

− t

0

.

p 0 p 1

t 0

t 1 p 0 0

p 00 0 β 0

β 1

1 Figure 4 – Les points p

0

et p

1

munis des tangentes t

0

et t

1

satisfont la condition d’orthogonalit´ e lorsque la droite reliant p

0

et p

1

est orthogonale ` a la droite (p

00

, p

000

) de vecteur directeur t

1

− t

0

.

Comment peut-on exprimer ce r´ esultat de mani` ere g´ eom´ etrique ? Consid´ e-

rons p

00

l’image de p

0

par la translation de vecteur t

0

et p

000

l’image de p

0

par

la translation de vecteur t

1

(voir Figure 4). Alors la condition d’orthogonalit´ e

signifie que les deux points p

0

et p

1

forment une droite perpendiculaire au

segment [p

00

p

000

]. Comme les deux tangentes sont unitaires, elles ont mˆ eme

(10)

norme, et donc le triangle (p

0

p

00

p

000

) est isoc` ele. Ainsi, la condition d’ortho- gonalit´ e revient ` a dire que p

1

est sur la bissectrice issue de p

0

dans le triangle (p

0

p

00

p

000

), ce qui ´ equivaut ` a β

0

= β

1

.

Nous pouvons maintenant d´ emontrer le th´ eor` eme. Supposons dans un premier temps qu’il existe un arc court (orient´ e) reliant p

0

` a p

1

et admettant t

0

et t

1

comme vecteurs tangents en p

0

et p

1

, respectivement. En reprenant les notations pr´ ec´ edentes, montrons que p

1

est sur la bissectrice issue de p

0

dans le triangle (p

0

p

00

p

000

) (voir Figure 5), ce qui est ´ equivalent ` a montrer que la condition (1) est v´ erifi´ ee.

p 0 p 1

t 0

t 1 p 0 0

p 00 0 β 0

β 1

α 0 α 1

O

1

Figure 5 – On d´ emontre que p

1

est sur la bissectrice issue de p

0

dans le triangle (p

0

p

00

p

000

) en montrant l’´ egalit´ e des angles β

0

et β

1

.

Notons O le centre du cercle interpolant. Alors le triangle (O p

1

p

0

) est isoc` ele d’o` u α

0

= α

1

. Or par construction, α

0

+ β

0

=

π2

et α

1

+

π2

+ β

1

= π d’o` u nous d´ eduisons imm´ ediatement β

0

= β

1

et p

1

est sur la bissectrice issue de p

0

dans le triangle (p

0

p

00

p

000

).

R´ eciproquement, si la condition (1) est v´ erifi´ ee, i.e., si β

0

= β

1

, tra¸cons la droite passant par p

0

et perpendiculaire ` a t

0

ainsi que celle passant par p

1

et perpendiculaire ` a t

1

. Ces deux droites s’intersectent en un point O.

Montrons que le triangle (O p

1

p

0

) est isoc` ele. Comme pr´ ec´ edemment, par

construction, α

0

+ β

0

=

π2

et α

1

+

π2

+ β

1

= π et comme β

0

= β

1

, on a

α

0

= α

1

et le triangle est isoc` ele. L’arc de cercle de centre O qui part de p

0

avec la tangente t

0

atteint donc le point p

1

avec la tangente t

1

. L’unicit´ e de

l’arc d´ ecoule du fait que l’arc est n´ ecessairement orient´ e (car il interpole des

(11)

vecteurs tangents, donc respecte un sens de rotation), et court (il ne fait pas de tour complet)

1

.

Notons que la d´ emonstration pr´ ec´ edente a le grand int´ erˆ et d’ˆ etre construc- tive : lorsque les conditions de co-circularit´ e sont v´ erifi´ ees, elle fournit une m´ ethode pour construire l’unique arc de cercle interpolant (` a partir du calcul du centre du cercle O). Id´ ealement, nous souhaiterions avoir le mˆ eme genre de caract´ erisation simple pour la co-h´ elicit´ e en 3D, ainsi qu’une m´ ethode syst´ ematique de construction en 3D de la ou des h´ elices interpolantes.

7 Et ` a trois dimensions ?

De mani` ere remarquable, le th´ eor` eme pr´ ec´ edent ainsi que sa d´ emonstration constructive se g´ en´ eralisent parfaitement ` a la 3D. On peut en effet formuler le th´ eor` eme suivant pour caract´ eriser la co-h´ elicit´ e de deux points et deux vecteurs tangents :

Soient deux points p

0

et p

1

de R

3

tels que p

0

6= p

1

, et deux vecteurs unitaires t

0

et t

1

de R

3

tels que t

1

6= ±t

0

. Il existe une unique h´ elice courte reliant p

0

` a p

1

et admettant t

0

et t

1

comme vecteurs tangents en p

0

et p

1

, respectivement, si et seulement si

hp

1

− p

0

, t

1

− t

0

i = 0. (2) ou, en d’autres termes, si et seulement si le vecteur p

1

− p

0

appartient au plan orthogonal au vecteur t

1

− t

0

.

Ce joli th´ eor` eme, surprenant de simplicit´ e, semble avoir ´ et´ e formul´ e pour la premi` ere fois par Ghosh en 2010 dans sa th` ese de doctorat [4]. Cepen- dant, contrairement ` a la 2D, en 3D la d´ emontration de ce th´ eor` eme n’est pas si simple. Dans sa th` ese, Ghosh fournit une d´ emonstration analytique du th´ eor` eme, peu difficile d’acc` es mais p´ enible car calculatoire, et surtout incompl` ete : la condition suffisante du th´ eor` eme n’est que partiellement d´ emontr´ ee. En allant jusqu’au bout du raisonnement et des calculs, on peut cependant d´ emontrer le th´ eor` eme dans son int´ egralit´ e [2]. La d´ emonstration compl` ete est longue (une vingtaine de pages), et il existe certainement une d´ emonstration plus courte s’appuyant sur des outils de g´ eom´ etrie diff´ erentielle.

N´ eanmoins, l’int´ erˆ et de cette d´ emonstration analytique (et c’´ etait aussi le but poursuivi par Ghosh), est de fournir une m´ ethode syst´ ematique pour

1. Exercice : Que se passe-t-il dans le cas o` u t

0

et t

1

sont colin´eaires ?

(12)

construire l’unique h´ elice courte interpolante, une fois les points et tangentes plac´ es selon la configuration favorable. Comme en 2D, la d´ emonstration du th´ eor` eme est dite constructive, ce qui pr´ esente un int´ erˆ et pratique ´ evident.

8 Relaxation des points

Revenons ` a notre probl` eme d’approximation initial. Nous avons vu que dans le cas g´ en´ eral il est impossible d’interpoler deux points et deux tan- gentes par un arc de cercle ou une h´ elice. Il faut pour cela qu’ils satisfassent la condition de co-circularit´ e ou de co-h´ elicit´ e ´ enonc´ ee pr´ ec´ edemment. Dans le cas o` u nous souhaitons interpoler des points et des tangentes pris sur une courbe donn´ ee en entr´ ee, il est donc n´ ecessaire de relˆ acher une contrainte pour rendre l’interpolation possible. Notre intuition est que si l’interpola- tion des vecteurs tangents est importante afin de pr´ eserver l’allure g´ en´ erale de la courbe d’entr´ ee, une interpolation stricte des points n’est pas indis- pensable : nous choisissons donc de relˆ acher la position des points. Nous interpolerons ainsi des tangentes ”flottantes”, c’est-` a-dire non fix´ ees ` a des points pr´ ed´ etermin´ es. Bien entendu, nous ne souhaitons pas que les points s’´ ecartent trop de leur position d’origine. C’est la raison pour laquelle nous imposons de minimiser le d´ eplacement de ces points. Consid´ erons le cas de deux points p

0

et p

1

ainsi que deux tangentes t

0

et t

1

que nous prendrons uni- taires et non colin´ eaires. Notons p

00

et p

01

les nouveaux points obtenus apr` es d´ eplacement. Nous pouvons alors formuler notre probl` eme d’approximation de la fa¸con suivante,

min kp

00

− p

0

k

2

+ kp

01

− p

1

k

2

(p

00

, p

01

) t.q. (p

00

, t

0

) et (p

01

, t

1

) sont co-h´ elicaux.

En d’autres termes, nous recherchons les points p

00

et p

01

tels qu’il existe une h´ elice passant par p

00

avec la tangente t

0

et p

01

avec la tangente t

1

(condi- tion (p

00

, t

0

) et (p

01

, t

1

) co-h´ elicaux) et qui minimisent le d´ eplacement par rapport ` a p

0

et p

1

(min kp

00

− p

0

k

2

+ kp

01

− p

1

k

2

). R´ esoudre ce probl` eme de minimisation ne semble pas chose ais´ ee au premier abord. Mais en rem- pla¸cant la condition de co-h´ elicit´ e par son ´ equivalent (2), nous obtenons un probl` eme plus simple,

min kp

00

− p

0

k

2

+ kp

01

− p

1

k

2

(p

00

, p

01

) t.q. hp

1

− p

0

, t

1

− t

0

i = 0.

(13)

Dans le cas planaire, la condition de co-h´ elicit´ e signifie que les deux points sont sur la droite vectorielle orthogonale ` a la diff´ erence des deux tangentes et dans le cas spatial, elle signifie que les deux points sont dans le plan vectoriel orthogonal ` a la diff´ erence des deux tangentes. Consid´ erons le cas le plus g´ en´ eral de l’espace. Notons (u, v) une base du plan vectoriel orthogonal ` a la diff´ erence des deux tangentes

2

. D` es lors, nous pouvons ´ ecrire que la condition de co-h´ elicit´ e est ´ equivalente ` a l’existence de deux scalaires α et β tels que

p

01

= p

00

+ αu + βv.

Nous pouvons alors transformer notre probl` eme en un probl` eme plus simple encore,

min kp

00

− p

0

k

2

+ kp

01

− p

1

k

2

(p

00

, p

01

) t.q. p

01

= p

00

+ αu + βv.

Puis nous pouvons injecter la contrainte de co-h´ elicit´ e directement dans la fonction objectif du probl` eme de minimisation et nous obtenons enfin le probl` eme suivant,

min kp

00

− p

0

k

2

+ kp

00

+ αu + βv − p

1

k

2

. (p

00

, α, β)

On identifie tr` es facilement ici un probl` eme classique de moindres carr´ es lin´ eaires dont la solution unique est donn´ ee par la simple r´ esolution d’un syst´ eme lin´ eaire !

9 R´ ecapitulation : algorithme des tangentes flottantes

Notre algorithme d’approximation, appel´ e “algorithme des tangentes flot- tantes”, fonctionne en 3 ´ etapes illustr´ ees sur la Figure 6 ci-dessous.

En entr´ ee, consid´ erons une courbe r´ eguli` ere, ` a gauche sur la figure (sur l’illustration la courbe est planaire mais l’algorithme reste le mˆ eme dans le cas de courbes spatiales).

1) Prenons des points avec leurs tangentes respectives r´ eguli` erement es- pac´ es sur la courbe ` a approcher. Puisque nous voulons N morceaux, consid´ e- rons N + 1 points, comme repr´ esent´ e deuxi` eme colonne de gauche sur la figure.

2. Exercice : comment construire facilement une telle base, en consid´erant les deux

tangentes comme unitaires et non-colin´eaires ?

(14)

Figure 6 – Algorithme des tangentes flottantes.

2) Puisque dans le cas g´ en´ eral il est impossible d’interpoler deux points successifs avec leurs tangentes par un unique arc de cercle ou d’h´ elice, relˆ a- chons la position de ces points de sorte que l’on puisse les interpoler, troisi` eme colonne sur la figure. Cette relaxation revient ` a d´ eplacer les points pour satisfaire la condition de co-circularit´ e ou de co-h´ elicit´ e, tout en minimisant ce d´ eplacement, c’est-` a-dire la distance entre la position sur la courbe en entr´ ee et la position relˆ ach´ ee.

3) Maintenant que l’on peut les interpoler par un arc de cercle ou un arc d’h´ elice, nous obtenons la courbe en arcs de cercle ou en h´ elices par morceaux d´ esir´ ee comme repr´ esent´ e ` a droite sur la figure.

10 Validation

Il y a deux mani` eres de montrer qu’un algorithme fonctionne correc- tement. La premi` ere, qui est la plus pr´ ecise et la plus d´ efinitive, est de d´ emontrer logiquement que l’algorithme produit bien les r´ esultats souhait´ es.

Ici, cela prendrait la forme d’un th´ eor` eme assurant, pour une courbe donn´ ee en entr´ ee, un r´ esultat compris dans un voisinage de cette courbe (voisinage qu’il faudrait d´ efinir pr´ ecis´ ement). Une telle mani` ere de proc´ eder est bien sˆ ur satisfaisante intellectuellement, mais parfois difficile ` a mettre en place. Dans notre cas, il s’agit encore d’un probl` eme ouvert.

La seconde approche, celle que nous allons employer ici, est plus empi-

rique. Si nous ne pouvons d´ emontrer pr´ ecis´ ement que l’algorithme fonctionne

dans tous les cas, montrons de mani` ere exp´ erimentale qu’il fonctionne dans

de nombreux cas. Ainsi, cette seconde approche consiste ` a faire tourner l’al-

gorithme sur de nombreuses courbes donn´ ees en entr´ ee, si possible de nature

vari´ ee, et ` a v´ erifier que les r´ esultats obtenus sont satisfaisants.

(15)

Dans ce qui suit, nous nous proposons ainsi d’´ evaluer exp´ erimentalement la qualit´ e de notre algorithme. Deux aspects sont ` a ´ evaluer : le temps de calcul d’une part, la qualit´ e de l’approximation d’autre part. Pour ´ evaluer le temps de calcul, il suffit de mesurer le temps que met l’algorithme (ou plus pr´ ecis´ ement, son impl´ ementation sur un ordinateur) pour produire un r´ esultat. Pour en ´ evaluer la qualit´ e, nous devons mesurer l’erreur commise par notre algorithme sur une courbe donn´ ee. Mais comment mesurer cette erreur ? Ce que nous souhaitons mesurer, c’est la distance entre les deux courbes, celle donn´ ee en entr´ ee et la courbe calcul´ ee par notre algorithme. Pour cela, nous choisissons d’utiliser la distance de Fr´ echet qui est adapt´ ee ` a la mesure de l’´ ecart entre deux courbes orient´ ees. Intuitivement, cette distance peut ˆ etre d´ ecrite comme la longueur minimale n´ ecessaire ` a une laisse pour qu’un chien et son maˆıtre se prom` enent, chacun sur une des deux courbes, ` a des vitesses diff´ erentes et quelconques, sans jamais rebrousser chemin. Plus formellement, la distance de Fr´ echet entre deux courbes Γ

1

et Γ

2

peut ˆ etre d´ efinie comme la limite inf´ erieure du maximum de ku

1

(t) − u

2

(t)k pour deux param´ etrisations quelconques u

1

et u

2

des courbes Γ

1

et Γ2. En pratique, nous utiliserons la distance de Fr´ echet discr` ete [3], rapide ` a calculer, sur des ´ echantillonnages de chacune des courbes.

Il est ` a noter que les r´ esultats que nous pr´ esentons ici ont ´ et´ e r´ ealis´ es avec une impl´ ementation r´ ecente de l’algorithme des tangentes flottantes, dis- ponible librement ` a l’adresse suivante : http://www.inrialpes.fr/bipop/

people/bertails/Papiers/floatingTangents3d.html. Par ailleurs, cette impl´ ementation ´ etant plus r´ ecente que celle utilis´ ee pour produire les r´ esultats de l’article [2], les r´ esultats pr´ esent´ es ici ont ´ et´ e calcul´ es plus rapidement.

Courbes synth´ etiques Dans un premier temps, nous allons tester l’algo- rithme des tangentes flottantes sur des jeux de donn´ ees synth´ etiques (voir Figure 7), repr´ esentant des chevelures cr´ ees par un artiste. Chaque coiffure contient environ 240 cheveux, chacun d’une longueur d’environ 30 cm.

Une caract´ eristique int´ eressante de ces trois jeux de donn´ ees est le degr´ e de complexit´ e visuelle qui les compose. Intuitivement, une courbe est d’au- tant plus complexe qu’elle comporte de nombreuses boucles ou ondulations.

Nous constatons visuellement que ces trois jeux de donn´ ees repr´ esentent des

courbes de complexit´ e croissante. En effet, si les cheveux qui composent la

premi` ere coiffure sont presque droits, ceux de la seconde sont un peu plus

ondul´ es alors que ceux qui constituent la troisi` eme sont nettement plus on-

(16)

Figure 7 – Trois coiffures synth´ etiques.

dul´ es que sur les deux premi` eres. Plus quantitativement, nous proposons de mesurer la complexit´ e des courbes par la quantit´ e suivante, introduite par Levien dans son travail de th` ese [6],

C(Γ) = Z

Γ

κ

2

+ τ

2

,

o` u κ repr´ esente la courbure g´ eom´ etrique de la courbe Γ, et τ sa torsion g´ eom´ etrique.

Coiffure A Coiffure B

Complexité des courbes

Densité

Coiffure C

Figure 8 – R´ epartition des complexit´ es pour les trois coiffures synth´ etiques.

(17)

Sur la Figure 8, nous avons repr´ esent´ e les distributions de complexit´ e des courbes 3d pour chaque jeu de donn´ ees. Nous constatons que la mesure de Levien correspond bien ` a l’intuition visuelle de la complexit´ e d’une courbe.

En Figure 9, nous avons repr´ esent´ e la distribution des erreurs commises lors de l’approximation de chaque cheveu pour les trois coiffures, pour un nombre d’arcs d’h´ elice par courbe ´ egal ` a 10 et ` a 15. Figure 10, nous avons repr´ esent´ e la distribution des temps de calcul n´ ecessaire ` a l’approximation.

Nous constatons une grande ind´ ependance du temps de calcul de l’algorithme par rapport ` a la complexit´ e de la courbe initiale. En effet, notre algorithme fonctionne en interpolant des tangentes pr´ elev´ ees sur la courbe d’origine. Par cons´ equent, la complexit´ e de la courbe d’entr´ ee n’est pas prise en compte lors de l’approximation. Nous voyons en revanche que l’erreur commise est plus importante lorsque la complexit´ e s’accroˆıt, ` a nombre d’arcs d’h´ elice ´ egal, ce qui paraˆıt parfaitement raisonnable. En effet, plus une courbe est complexe, plus elle requiert d’arcs d’h´ elice pour ˆ etre approch´ ee convenablement.

0.0005 0.0010 0.0015 0.0020

05001000150020002500

Coiffure A

density_error_a_10$x

density_error_a_10$y

10 arcs 15 arcs

0.000 0.001 0.002 0.003 0.004 0.005

0200400600800

Coiffure B

density_error_b_10$x

density_error_b_10$y

10 arcs 15 arcs

0.00 0.01 0.02 0.03

050100150200

Coiffure C

density_error_c_10$x

density_error_c_10$y

10 arcs 15 arcs

Distribution de l'erreur pour 10 et 15 arcs d’hélices pour les trois coiffures synthetiques

Erreur − Distance de Fréchet (m)

Densité

Figure 9 – R´ epartition des erreurs d’approximation pour l’algorithme des tangentes flottantes appliqu´ e aux trois coiffures synth´ etiques.

La Figure 11 indique l’erreur moyenne commise sur chaque coiffure lorsque

le nombre d’arcs d’h´ elice augmente. Nous constatons que l’algorithme pr´ esente

un comportement souhaitable dans tous ces cas : plus le nombre d’arcs

d’h´ elice pass´ e en entr´ ee augmente (autrement dit plus l’algorithme des tan-

gentes flottantes poss` ede de degr´ es de libert´ e), plus l’approximation est pr´ ecise.

(18)

90 100 110 120

0.00.20.40.60.8

Coiffure A

density_time_a_10$x

density_time_a_10$y

10 arcs 15 arcs

90 100 110 120

0.00.10.20.30.40.50.6

Coiffure B

density_time_b_10$x

density_time_b_10$y

10 arcs 15 arcs

90 100 110 120

0.00.10.20.30.40.50.60.7

Coiffure C

density_time_c_10$x

density_time_c_10$y

10 arcs 15 arcs

Distribution des temps de calcul pour 10 et 15 arcs d’hélices pour les trois coiffures synthétiques

Temps de calcul (microsecondes)

Densité

Figure 10 – R´ epartition des temps de calcul pour l’algorithme des tangentes flottantes appliqu´ e aux trois coiffures synth´ etiques.

0 5 10 15 20 25 30

0.000.020.040.060.08

Erreur moyenne pour les trois coiffures en fonction du nombre d'hélices

Nombre d'hélices

Erreur − Distance de Fréchet (m)

Coiffure A Coiffure B Coiffure C

Figure 11 – Effet du nombre d’arcs d’h´ elices sur l’erreur d’approxima-

tion pour l’algorithme des tangentes flottantes appliqu´ e aux trois coiffures

synth´ etiques.

(19)

Courbes r´ eelles Nous allons appliquer notre algorithme des tangentes flot- tantes ` a l’approximation de 3 types de jeux de donn´ ees, repr´ esentant des courbes vari´ ees, issues de la capture de portions de cheveux [5], Figures 12, 13 et 14 ou de fibres musculaires de cœur [7], Figure 15 ou encore issues de la simulation des lignes du champ magn´ etique d’une ´ etoile [1], Figure 16.

Sur chaque figure, nous repr´ esentons ` a gauche les donn´ ees originales et ` a droite le r´ esultat de notre algorithme. Toutefois, ` a cause de l’h´ et´ erog´ en´ eit´ e des longueurs des courbes, nous devons adapter le nombre d’´ el´ ements utilis´ es pour l’approximation. Ainsi, pour les donn´ ees issues de la capture de cheveux, nous avons utilis´ e de 5 ` a 20 ´ el´ ements par courbe, de 2 ` a 100 ´ el´ ements par courbe pour les fibres musculaires et de 2 ` a 200 ´ el´ ements par courbe pour les lignes du champ magn´ etique. Nous reportons les erreurs commises et les temps de calcul pour chaque jeu de donn´ ees dans le tableau 17.

Les erreurs sont exprim´ ees en pourcentage de la taille du m´ edian des lon- gueurs des courbes du jeu de donn´ ees et les temps de calcul en millisecondes.

Nous constatons que sur tous les jeux de donn´ ees, l’algorithme des tangentes flottantes permet d’obtenir en un temps raisonnable (au plus quelques mi- nutes pour un millier de courbes) une approximation pr´ ecise des courbes pass´ ees en entr´ ee. Ces r´ esultats illustrent bien que l’algorithme des tangentes flottantes permet d’approcher de mani` ere pr´ ecise et rapide de gros jeux de donn´ ees issus d’applications r´ eelles.

Figure 12 – Jeu de donn´ ees (curls) repr´ esentant une portion de chevelure r´ eelle captur´ ee par un proc´ ed´ e automatique. ` A gauche, les donn´ ees originales,

`

a droite le r´ esultat de l’algorithme des tangentes flottantes.

(20)

Figure 13 – Jeu de donn´ ees (straight) repr´ esentant une portion de chevelure r´ eelle captur´ ee par un proc´ ed´ e automatique. ` A gauche, les donn´ ees originales,

`

a droite le r´ esultat de l’algorithme des tangentes flottantes.

Figure 14 – Jeu de donn´ ees (wavy) repr´ esentant une portion de chevelure r´ eelle captur´ ee par un proc´ ed´ e automatique. ` A gauche, les donn´ ees originales,

`

a droite le r´ esultat de l’algorithme des tangentes flottantes.

(21)

Figure 15 – Jeu de donn´ ees repr´ esentant les fibres musculaires d’un cœur.

A gauche, les donn´ ` ees originales, ` a droite le r´ esultat de l’algorithme des tangentes flottantes.

Figure 16 – Jeu de donn´ ees repr´ esentant les lignes d’un champ magn´ etique

d’une ´ etoile, obtenues par simulation. ` A gauche, les donn´ ees originales, ` a

droite le r´ esultat de l’algorithme des tangentes flottantes.

(22)

Cheveux 1 (curls) Cheveux 2 (straight) Cheveux 3 (wavy) Coeur Etoile´

erreur moyenne 0.7% 0.7% 0.6% 0.2% 0.7%

erreur maximale 5% 14% 2% 1% 6%

Tps moyen (ms) 30 32 38 14 101

Tps maximal (ms) 206 128 143 257 3320

Tps total (s) 60 79 58 42 890

Figure 17 – Temps de calcul et erreur d’approximation de l’algorithme des tangentes flottantes appliqu´ e aux jeux de donn´ ees r´ eelles.

11 Limitations de l’algorithme

Ph´ enom` ene de boucle Nous avons vu que dans de nombreux cas, synth´ e- tiques comme r´ eels, l’algorithme des tangentes flottantes r´ epond tr` es bien aux exigences de l’utilisateur : qualit´ e et rapidit´ e. Toutefois, comme nous pou- vons le voir pour l’erreur repr´ esent´ ee Figure 18, il arrive dans certains cas d´ eg´ en´ er´ es que des erreurs importantes apparaissent, mˆ eme avec un nombre d’arcs d’h´ elice important. Ce ph´ enom` ene, que nous d´ esignons par “ph´ enom` ene de boucle” se produit lorsque deux tangentes proches l’une de l’autre sur la courbe sont invers´ ees par la relaxation des points, ce qui transforme de petits arcs en arcs de grande longueur. Nous illustrons ce ph´ enom` ene dans le cas 2d en Figure 19.

D´ ecoupage r´ egulier Par ailleurs, lors du d´ ecoupage de la spline, nous avons choisi d’espacer les points de mani` ere r´ eguli` ere sur la spline, pour pro- duire une courbe en morceaux d’h´ elices ayant ` a peu pr` es la mˆ eme longueur.

Si ce choix a peu de r´ epercussions lorsque le nombre d’arcs est grand, il peut devenir probl´ ematique lorsque le nombre d’arcs est faible. En effet, si nous envisageons une courbe qui aurait deux parties, l’une longue et de courbure faible et l’autre courte mais de courbure importante, nous pourrions vouloir l’approcher avec seulement deux arcs d’h´ elice. H´ elas, avec l’algorithme tel qu’il est pr´ esent´ e ici, nous ne pourrions pas obtenir de r´ esultat satisfaisant, puisque le point de raccord des deux arcs d’h´ elice se trouverait au milieu de la courbe d’entr´ ee et non pas ` a la jonction des deux parties la composant.

Afin d’´ eviter ce type de probl` eme, il serait judicieux de trouver les meilleurs

points o` u d´ ecouper la courbe en entr´ ee, par exemple en ´ etudiant les variations

de la courbe pour trouver les parties les plus susceptibles d’ˆ etre approch´ ees

par un arc d’h´ elice.

(23)

0 20 40 60 80 100

051015

Erreur d'approximation

pour une courbe en fonction du nombre d'hélices

Nombre d'hélices

Erreur − Distance de Fréchet (m)

Figure 18 – Erreur d’approximation de l’algorithme des tangentes flottantes pour une courbe donn´ ee. Le brusque saut qui survient autour de 70 arcs d’h´ elice est la manifestation du ph´ enom` ene de boucle qui peut apparaitre lorsque des points de rupture sont proches.

Faible contrˆ ole sur l’erreur Enfin, nous avons fait le choix de laisser le nombre d’arcs en param` etre d’entr´ ee de l’algorithme, permettant ` a l’utili- sateur de le contrˆ oler pr´ ecis´ ement. Ce choix s’accompagne d’une limitation

´

evidente sur l’erreur d’approximation : il est difficile de la contrˆ oler finement.

En effet, nous avons vu que lorsque le nombre d’arcs d’h´ elice ´ etait trop faible, l’erreur pouvait ˆ etre grande. De mˆ eme, lorsque le nombre d’arcs d’h´ elice est

´

elev´ e, le ph´ enom` ene de boucle peut survenir et produire une approximation

de pi` etre qualit´ e. Nous pourrions donc envisager comme extension de l’algo-

rithme une m´ ethode pour pr´ edire l’erreur d’approximation commise, ce qui

permettrait de guider l’utilisateur de l’algorithme dans son choix du nombre

d’arcs d’h´ elice. Plus simplement, nous pourrions envisager de d´ etecter les

boucles et d’y rem´ edier lors de la relaxation des points.

(24)

2 points de jonction trop proches

Courbe de départ et points de jonction avec leurs tangentes

Courbe approchée par l’algorithme des tangentes flottantes Les points sont

inversés

Gros plan

Gros plan

Figure 19 – Le ph´ enom` ene de boucle est dˆ u ` a l’inversion de la position des

tangentes lors de la relaxation.

(25)

R´ ef´ erences

[1] Benjamin P. Brown, Mark S. Miesch, Matthew K. Browning, Allan Sacha Brun, and Juri Toomre. Magnetic cycles in a convective dynamo simu- lation of a young solar-type star. The Astrophysical Journal, 731(1) :69, 2011.

[2] Alexandre Derouet-Jourdan, Florence Bertails-Descoubes, and Jo¨ elle Thollot. Floating tangents for approximating spatial curves with pie- cewise helices. Computer Aided Geometric Design, 30(5) :490–520, 2013.

[3] Thomas Eiter and Heikki Mannila. Computing discrete Fr´ echet distance.

Technical report, Technische Universitat Wien, 1994.

[4] Sunayana Ghosh. Geometric approximation of curves and singularities of secant maps. A differential geometric approach. PhD thesis, University of Groningen, Johann Bernoulli Institute for Mathematics and Computer Science., December 2010.

[5] Wenzel Jakob, Jonathan T. Moon, and Steve Marschner. Capturing hair assemblies fiber by fiber. ACM Trans. Graph., 28(5) :164 :1–164 :9, De- cember 2009.

[6] Raphael Linus Levien. From Spiral to Spline : Optimal Techniques in Interactive Curve Design. PhD thesis, EECS Department, University of California, Berkeley, Dec 2009.

[7] Damien Rohmer, Arkadiusz Sitek, and Grant T Gullberg. Reconstruction

and visualization of fiber and laminar structure in the normal human

heart from ex vivo diffusion tensor magnetic resonance imaging (dtmri)

data. Investigative Radiology, 42(11) :777–789, Nov 2007.

Références

Documents relatifs

Dans cette zone, il est alors permis de parler de mesure d’extinction ou, plus pr´ ecis´ ement, d’´ epaisseur optique le long de l’axe y.. Il s’agit alors de revenir ` a

Nous proposons donc d’´etudier plus pr´ecis´ement ces deux param`etres (raideur des muscles et des liaisons costovertebrales), afin de d´eterminer leur rˆole dans le comporte- ment

Plus pr´ecis´ement, nos contributions dans le domaine porte sur quatre volets : (1) la d´efinition du contexte selon deux dimensions ; le type de besoin (informationnel,

Cette information est int´ egr´ ee dans le processus de g´ en´ eration, et plus pr´ ecis´ ement dans la matrice de concordance (Di Jorio et al., 2009) : celle-ci doit repr´ esenter

A chaque it´ era- tion, les r´ esultats de preuves permettent de d´ eterminer la valeur de ce param` etre pour la prochaine it´ eration ; un algorithme de recherche par

La preuve de ce r´ esultat s’inspire de la d´ emonstration du th´ eor` eme d’ergodicit´ e quantique [211, 236, 58] et plus pr´ ecis´ ement de celle qui est donn´ ee dans [10]

Si le fluide ext´ erieur a une viscosit´ e n´ egligeable, alors la d´ eriv´ ee de la vitesse du fluide ´ etudi´ e au niveau de la surface libre peut ˆ etre consid´ er´ ee

a- D´ efinir une fonction qui teste la pr´ esence d’un ´ el´ ement dans une liste.. b- Une liste est constitu´ ee d’´ el´ ements qui sont des couples (Key,