• Aucun résultat trouvé

Pour déformer un objet, le but est de trouver la géométrie G correspondant à un ensemble de paramètres donnés P , défini comme problème inverse.

La fonction observer φ : G −→ P introduite en section 4.2 est définie comme la fonction associant un ensemble de paramètres métier à une géométrie. Notre but est de contrôler une forme à partir de ces paramètres. Cela revient à calculer la fonction correspondant au problème inverse φ: P −→ G.

La géométrie G est décrite par un squelette composé de courbes B-Splines. Nous proposons une méthode qui va modifier les coordonnées des points de contrôle de ces courbes jusqu’à obtenir une géométrie correspondant aux paramètres P fixés.

Les coordonnées des points de contrôle sont alors solution d’un système de minimisation, dont les termes sont décrits ci-après.

La géométrie discrète, représentée par un nombre fini de courbes de section et une courbe génératrice est appelée ξ. ξ0 désigne la géométrie initiale composée de la courbe génératrice et

des courbes de section initiales.

La courbe B-Spline de la génératrice, appelée ξg, est paramétrisée par t ∈ [0, 1]. Ses points

de contrôle sont notés cg.

La i`eme section, correspondant au paramètre t

i sur ξg est appelée ξi, pour i = 1, . . . , N .

Les courbes ξi sont paramétrisées par s ∈ [0, 1] et leurs points de contrôle sont notés ci =

(ci,0, . . . , ci,M).

Les points de contrôle du squelette complet, notés c sont définis comme l’ensemble des points de contrôle de la génératrice et de toutes les sections. c = {cg, ci,m, i = 0, ..., N ; m = 0, ..., M }.

5.1.1

Terme de distances des paramètres

Le premier terme du système de minimisation mesure la distance entre la valeur des paramètres courants φ(ξ) et la valeur des paramètres cibles V :

Eparam = kφ(ξ) − V k2 (5.1.1)

Les fonctions observer de la génératrice et des sections sont indépendantes. Eparam est donc

la somme des termes d’erreur de la génératrice et des sections. Le terme d’erreur correspondant à la ieme` section (respectivement courbe génératrice) est noté E

param,i = kφi(ξi) − Vik2

(respectivement Eparam,g = kφg(ξg) − Vgk2).

La fonction observer φ est non linéaire sur les coordonnées des points de contrôle c. Par exemple, comme décrit dans la figure 5.6, le paramètre de hauteur d’un profil est déterminé en cherchant la valeur du paramètre s pour lequel la tangente de la courbe ξi est parallèle à une

direction donnée.

Le terme de distances des paramètres est donc non linéaire.

5.1.2

Terme de consistance de forme

Ce terme est introduit pour assurer la consistance de l’objet en mesurant la distance des courbes de section courantes ou de la génératrice courante avec les courbes originales.

Avant de commencer la résolution du problème de minimisation qui réalise la déformation, les courbes originales sont modifiées avec des transformations affines, permettant de "rapprocher" la géométrie des paramètres cibles.

Par exemple, ces transformations peuvent être des homothéties ou des rotations pour atteindre des longueurs ou des angles donnés.

Nous introduisons aussi des pré-transformations non linéaires, dépendant explicitement des paramètres cibles V . Par exemple, la modification de la hauteur d’un profil.

Ces transformations de la géométrie initiale, appelées DiV (ou DVg), sont explicitement calculées à partir de ξ0

i (ou ξ0g). Elles permettent de trouver une géométrie correspondant aux

paramètres cibles plus rapidement et plus facilement pour de grandes déformations.

C’est la géométrie pré-transformée Di

V(ξi0) (ou D g

V(ξg0)) qui est utilisée comme point de

départ de l’algorithme d’optimisation.

Le terme de consistance de forme est donc défini comme :

Eshape,i = kξi− DVi

0

i)k

2 (5.1.2)

respectivement pour la courbe génératrice : Eshape,g = kξg− D g

V(ξg0)k2.

De part la définition de Di

V (respectivement D g

V), le terme de de consistance de forme est

non linéaire.

5.1.3

Terme de contraintes métier

Ce terme permet de prendre en compte des contraintes architecturales Fk sur l’objet étudié.

Il s’agit en général de contraintes de position ou de tangence, à déterminer au cas par cas en fonction de l’objet étudié.

Ces contraintes sont définies pour chaque section ξi, i = 1, ..., N indépendam ment et pour

la génératrice ξg.

Par exemple, un profil doit avoir une connexion lisse entre l’extrados et l’intrados au bord d’attaque, assurée par une contrainte de position et de tangence. Les coordonnées du point de contrôle au bord d’attaque pour l’extrados et l’intrados doivent être identiques, et les tangentes à ces deux points doivent avoir une direction opposée, perpendiculaire à la corde.

Pour simplifier l’expression de la contrainte, nous pouvons fixer la position du bord d’attaque par rapport au profil initial. Le bord d’attaque est paramétrisé comme étant à s = 0 sur les courbes de section.

Les contraintes métier Fk pour ce cas peuvent se définir de façon identique pour l’extrados et l’intrados comme : F0 :ξi(s = 0) − ξi0(s = 0) = 0 F1 : ∂ξi ∂s · −−−→ chord = 0 F2 :signe( ∂ξi ∂s × −−−→ chord) = signe(∂ξ 0 i ∂s × −−−→ chord)

Les contraintes sont quadratiques en les points de contrôle c, mais nous pouvons envisager des contraintes plus générales qui ne sont a priori pas linéaires ou quadratiques. Le terme de contraintes métier est donc considéré comme non-linéaire.

5.1.4

Terme de lissage

Ce terme permet de contrôler le lissage global des courbes déformées. Cette définition est similaire à celle du terme correctif de l’approximation par courbes B-Splines, introduit dans la section 3.2.5. Ce terme inclut l’énergie de la courbe dans la fonctionnelle à minimiser. L’énergie de la courbe se traduit généralement par une combinaison des énergies :

H0(ξi) = 1 2 M X m=1 k∆cmk2, ∆cm = cm− cm−1 (5.1.3) H1(ξi) = 1 2 M X m=2 k∆2cmk2, ∆2cm = cm+1 − 2cm+ cm−1 (5.1.4)

respectivement H0(ξg) et H1(ξg) pour la génératrice.

Le terme de lissage est quadratique en les points de contrôle c.

5.1.5

Système complet

Finalement, le système de minimisation non-linéaire proposé est le suivant, découplé pour la génératrice ξg et les sections ξi :

min

ci

Eparam,i + εEshape,i+

X k λkFk2(ci) + 1 X l=0 µlHl(ci) (5.1.5)

Respectivement, le système est résolu pour la génératrice en cg.

ε est un poids permettant de pondérer l’influence du terme de contrôle de consistance de

forme. λi est le poids pour les contraintes de forme métier. µi est le poids pour les termes

correctifs. λi et µi sont très petits, en général en dessous de 10−4.

Si ε est trop grand, le système va converger vers une solution proche de la solution originale et ne sera pas en mesure de respecter les paramètres métier fixés, potentiellement éloignés des paramètres originaux.

ε peut être vu comme un coefficient de pénalisation, qui diminue à chaque itération

correspondant aux paramètres architecturaux fixés. Évidement, si ε est trop petit, la forme obtenue peut être de mauvaise qualité d’un point de vue architectural, même si elle respecte les paramètres métier fixés. A chaque itération qui diminue la valeur de ε, la géométrie calcu- lée à l’itération précédente est utilisée comme point de départ de la résolution du système (5.1.5).

La pré-transformation de la géométrie initiale DV introduite dans la section 5.1.2 (terme de

consistance de forme) permet de rapprocher la forme initiale de la forme cible. Nous rappelons que la géométrie pré-transformée DiV0

i) (ou D g

V(ξg0)) est utilisée comme premier point de départ

de l’algorithme d’optimisation.

Cela revient à initialiser le système de minimisation avec un point qui n’est pas trop éloigné de la solution optimale. En pratique, cette initialisation proche d’un optimum est importante pour la convergence de l’algorithme numérique utilisé.