• Aucun résultat trouvé

CHAPITRE 3 VERS UNE NOUVELLE MÉTHODE POUR LA SYNTHÈSE AUTOMATIQUE DE FORMES

3.4 Création de l’espace des solutions

Dans ce paragraphe, nous présentons une méthode qui permet de construire l’espace des formes solutions satisfaisant les contraintes intermédiaires. Pour cela, nous définissons la notion de classe de forme. Ensuite, nous présentons certains problèmes liés au passage des contraintes intermédiaires aux classes de forme. Une fois qu’une solution est proposée pour pallier ces différents problèmes, nous formalisons cette traduction.

3.4.1 Les classes de forme

Comme nous avons pu le voir dans le paragraphe 3, notre approche consiste à construire des formes solutions à partir des contraintes sur les paramètres intermédiaires et des formes de bases contenues dans une bibliothèque (cf. Figure 3-7). Chaque forme est définie à l’aide de paramètres purement géométriques tels que le rayon, les longueurs des cotés, la hauteur, des angles … Pour distinguer ces paramètres des paramètres utilisés dans le cahier des charges, ils sont nommés paramètres terminaux dans la mesure où ils interviennent directement sur la géométrie de l’objet.

Par ailleurs, deux ensembles différents de paramètres terminaux peuvent définir la même forme : par exemple, un tétraèdre peut être caractérisé soit par la longueur de chaque coté de la base et la hauteur (cf. Figure 3-8a), soit par deux angles, une longueur et la hauteur (cf. Figure 3-8b).

L’ensemble des paramètres définissant une forme est appelé classe de forme. Une classe peut aussi avoir des méthodes permettant de passer d’un ensemble de paramètres à un autre, définissant la même forme. De cette façon, une classe devrait être capable de passer de trois longueurs et une hauteur à une longueur, une hauteur et deux angles (cas du tétraèdre).

L’espace des solutions satisfaisant les contraintes du cahier des charges intermédiaire sera représenté par un ensemble de classes de forme. Le choix d’une valeur réelle pour chaque paramètre terminal d’une

R R H L P H b c a h

Figure 3-7. Différentes formes de base avec leurs paramètres terminaux associés

b c a h (a) (b) a h α1 α2

Figure 3-8. Deux manières différentes de représenter un tétraèdre : avec des dimensions (a) ou avec des angles (b)

3 Approche proposée et définitions

classe correspond au plongement de cette classe dans l’espace réel de dimension n – n étant le nombre de paramètres terminaux de la classe (cf. Figure 3-9).

3.4.2 Intervalles de variation des paramètres terminaux pour chaque classe

L’intérêt de s’appuyer sur une bibliothèque de formes prédéfinies est d’éviter de nous soucier de la morphologie de la forme à générer. Seul le paramétrage nous importe. Il suffit, en réalité, de calculer pour chaque forme les valeurs de ses paramètres terminaux qui satisfont le cahier des charges intermédiaire. Ainsi, le principe est de traduire les contraintes définies dans le cahier des charges intermédiaire (les contraintes intermédiaires) en contraintes sur les paramètres terminaux (contraintes terminales). Nous obtenons donc un nouveau cahier des charges où les contraintes sont appliquées sur les paramètres terminaux de chacune des formes de la bibliothèque. De cette façon, il y aura autant de cahiers des charges terminaux qu’il y aura de formes prédéfinies (cf. Figure 3-10a). Pour réaliser cette étape, les paramètres intermédiaires doivent être exprimés en fonction des paramètres terminaux. Ceci peut être réalisé soit mathématiquement soit de façon procédurale. En effet, si une partie des contraintes du cahier des charges intermédiaires est définie par « volume ≥ 5 » et « volume ≤ 10 » et si la forme primitive sphère est considérée, alors on peut obtenir mathématiquement les contraintes terminales suivantes : « R ≥ 5/(2π) et « R ≤ 5/π ». Par contre, la traduction d’une contrainte intermédiaire plus complexe telle que la compressibilité de la bouteille ne peut se faire qu’avec l’aide d’une procédure devant être définie par le concepteur.

La traduction des contraintes intermédiaires en contraintes terminales est difficile parce que, dans la plupart des cas, un paramètre intermédiaire est fonction de plusieurs paramètres terminaux. Au cours des premières conceptions, ces algorithmes ou ces formules mathématiques doivent être spécifiés par le concepteur. Toutefois, au fur et à mesure des conceptions, la connaissance du système augmentera et il sera plus facile de réutiliser des formules existantes ou de donner la possibilité au concepteur de combiner ces formules pour en construire d’autres plus complexes. Par exemple, supposons que le paramètre intermédiaire « volume » soit utilisé dans le cahier des charges intermédiaire et que le système informatique considère la classe de forme « sphère ». Il existe trois possibilités :

− le système sait déjà traduire la contrainte sur le volume en contraintes sur le rayon de la sphère. Dans

Paramètres terminaux (dimensions, angles…) combinaison de formes primitives Classe1 Classe3 Classe2 utilise instances de classe1 instances de classe3 instances de classe2 correspond à Plongement Espace des formes

solutions équivalent à Bibliothèque de formes primitives Espace géométrique correspondant Espace des solutions

Chapitre 3 Vers une nouvelle méthode pour la synthèse automatique de formes

Thèse de l’université de Metz soutenue le 12 Janvier 2000 – D. Pallez 74

ce cas, aucune action particulière n’est nécessaire ;

− le système sait seulement traduire une contrainte sur le paramètre intermédiaire « surface » en contrainte sur le rayon de la sphère : dans ce cas, il suffit au concepteur d’exprimer le lien mathématique qui existe entre le volume et la surface d’une sphère ;

− aucune formule faisant intervenir la sphère n’est connue de la part du système ; dans ce cas, le concepteur est obligé de définir la traduction d’une telle contrainte intermédiaire en contraintes sur le rayon de la sphère.

À partir des contraintes terminales, un ensemble d’intervalles peut être défini pour chaque paramètre terminal de la forme primitive considérée (cf. Figure 3-10b). Il est toutefois difficile à partir d’une seule contrainte intermédiaire (donc faisant référence à un seul paramètre intermédiaire) de déterminer les intervalles pour chaque paramètre terminaux de la forme primitive, surtout que ces derniers interviennent tous pour le calcul du paramètre intermédiaire. Pour illustrer le problème, considérons un cas en deux dimensions : supposons que la contrainte intermédiaire soit « Périmètre = 10 » ; considérons par ailleurs que la forme primitive utilisée soit le rectangle. Supposons ensuite que la largeur du rectangle soit égale à x (x appartenant à l’intervalle [0,5]), la hauteur doit être égale à 5–x pour vérifier la contrainte intermédiaire. Or, il existe une autre solution qui est 5–x pour la largeur et x pour la hauteur (cf. Figure 3-11).

Dans ce qui suit, nous considérons que les deux solutions sont identiques (à une rotation près). Il est possible, dans certains cas, que le concepteur souhaite les considérer comme deux solutions totalement différentes. Pour éviter de retrouver les mêmes solutions à une rotation près, nous réduisons les intervalles

Traduction des contraintes pour la sphère Volume ≥ 5 Volume ≤ 10 R ≥ 5/(2π) R ≤ 5/π Traduction des contraintes pour le cylindre πR2H ≥ 5 πR2H ≤ 10 H ≥ ε et R ≥ 5/(πH) H ∈ [ε , 10/(πε2)] et R ∈ [ε , 10/(πR2)] (a) (b)

Figure 3-10. Traduction des contraintes intermédiaires en contraintes terminales(a), puis en intervalles sur les paramètres terminaux(b)

H = x L = 5–x H = 5–x L = x Solutions identiques à une rotation près L ∈ ]0,5[ H = 5–L Intervalles de variation correspondant :

3 Approche proposée et définitions

de variations des paramètres terminaux. Par ailleurs, comme le rectangle correspond à une solution de conception, il est nécessaire qu’il possède une épaisseur minimale, que l’on note ε. Ainsi, la borne inférieure de l’intervalle de variation de la largeur est ε ; la borne supérieure pour la largeur correspond, dans le cas du rectangle, au moment où la hauteur à égale à ε. Les intervalles de variation pour les paramètres terminaux du rectangle sont donc : L ∈ [ε, 5–ε] et H = 5–L. Nous pouvons appliquer le même raisonnement pour les autres relations mathématiques de la contrainte intermédiaire (cf. Figure 3-12).

Par extension, on peut réduire les intervalles de variation des paramètres terminaux de la boîte (définie par trois paramètres) ou de la pyramide (définie par quatre paramètres).

Une fois que chaque contrainte intermédiaire a été traduite en contraintes terminales, il est nécessaire d’appliquer un produit cartésien sur tous les intervalles construits pour chaque paramètre terminal. Ceci permet d’obtenir l’intervalle de variation de chaque paramètre terminal. On est sûr que les valeurs contenues dans cet intervalle satisfont les contraintes du cahier des charges intermédiaires. Toutefois, le résultat du produit cartésien peut donner un ensemble discontinu. [Yao et al. 97] propose un algorithme pour déterminer les intervalles de variation minimaux à partir de contraintes (exprimées de manière similaire) ; toutefois les auteurs ne gèrent pas le problème de discontinuité des intervalles.

3.4.3 Formalisation du passage entre contraintes intermédiaires et terminales

Dans ce paragraphe, nous formalisons la traduction de contraintes intermédiaires en contraintes terminales qui débouchent sur des intervalles des paramètres terminaux.

Soient :

T une fonction qui traduit le cahier des charges intermédiaire (ensemble de contraintes intermédiaires)

en intervalles sur les paramètres terminaux (T : Cahier des charges intermédiaire a Intervalles) ;

P une fonction qui traduit chaque contrainte intermédiaire en un ensemble de contraintes sur les

paramètres terminaux, tels que PTi est un paramètre terminal de la classe de forme, Reli et Expi sont respectivement la relation et l’expression mathématique associées à la contrainte terminale. La fonction

P est définie de la façon suivante :

P : Contrainte intermédiaire a Intervalles

< PI, Relation, Expression, Poids >

U

U n i j i j i i i l Exp PT PT 1 1 1 ) ( , Re , = = > < Contraintes intermédiaires

Intervalles de variation des paramètres terminaux du rectangle Périmètre = 10 L ∈ [ε, 5–ε] H = 5–L Périmètre ≥ 10 L ∈ [ε, 5–ε] H ≥ 5–L Périmètre ≤ 10 L ∈ [ε, 5–ε] H ∈ [ε, 5–L] Périmètre ≠ 10 L ∈ [ε, 5–ε] H ≠ 5–L

Figure 3-12. Intervalles de variation des paramètres terminaux du rectangle pour toutes les relations mathématiques

Chapitre 3 Vers une nouvelle méthode pour la synthèse automatique de formes

Thèse de l’université de Metz soutenue le 12 Janvier 2000 – D. Pallez 76

j i j 1PT 1 =

U exprime le fait que les bornes de l’intervalle d’un paramètre terminal peut dépendre des paramètres terminaux dont les intervalles ont été définis auparavant. En réalité, le but est d’obtenir au moins un intervalle dont les bornes sont des réels et non des fonctions dépendant d’autres paramètres terminaux comme nous avons pu le voir dans l’exemple du rectangle. Les classes de forme contenues dans l’espace des solutions sont construites de la façon suivante : soit CdCI le cahier des charges intermédiaire,

C une classe de forme définie par p paramètres terminaux (correspondant à une forme primitive). On

cherche l’image de CdCI par la fonction T pour la classe C :

T(CdCI) = ⎟ ⎠ ⎞ ⎜ ⎝ ⎛ = i n i C T 1

U où Ci est une contrainte intermédiaire (1)

= )( 1 i n i P C = U (2) = < > = = = , , ( 1 ) 1 1 1 r j r j j j p j n

iU U PT Op Exp UPT grâce à la définition de la fonction P (3)

= < > = = j j p j n i PT ,IT 1 1U U avec

[

j j

]

j b b IT = 1 , 2j k b =1,2varie en fonction de j r r 1PT 1 = U (4) = < > = = k n k j p j PT IT 1 1 , I U (5)

L’équation (1) exprime le f ait que toutes les contraintes intermédiaires sont prises en compte pour déterminer les intervalles des paramètres terminaux. Chacune de ces contraintes est traduite en un ensemble de contraintes sur les paramètres terminaux (cf. équation 2 et 3). Ensuite, les expressions arithmétiques des contraintes sont transformées en intervalles en considérant la relation de la contrainte {≤, ≥, =, ≠}. Cependant, comme chaque contrainte est traduite pour chaque paramètre terminal, l’équation (4) précise qu’il existe plusieurs intervalles pour chaque paramètre terminal. Comme le souhait est de satisfaire toutes les contraintes intermédiaires, il est nécessaire de calculer l’intersection de tous ces intervalles (équation 5). Ainsi, cette dernière équation spécifie toutes les instances de la classe de forme C

qui peuvent être considérées comme solution.

Il est possible que l’intersection de tous les intervalles soit vide. Ce résultat peut être interprété de trois façons différentes :

− il est possible que le problème de conception défini par le concepteur soit sur–contraint. Dans ce cas, le système ne peut que le signaler au concepteur qui devra relâcher un certain nombre de contraintes intermédiaires et par conséquent modifier le cahier des charges du client. C’est une façon de faire intervenir le concepteur lors du passage de la fonction à la forme en lui demandant une prise de décision(cf. Chapitre 2 §3.3) ;

− si le souhait n’est pas de modifier le cahier des charges intermédiaire (donc de manière détournée, le cahier des charges du client), il est simplement possible de considérer ce résultat nul comme le fait que la classe de forme ne soit pas candidate quelles que soient les instances possibles de cette classe. Si ce choix d’interprétation est fait et si l’intersection est vide quelle que soit la classe de forme considérée, alors on peut considérer que le cahier des charges intermédiaire est sur–contraint ; ce qui nous ramène à la première interprétation ;

3 Approche proposée et définitions

− si le concepteur considère que le cahier des charges est correct et qu’aucune solution n’est trouvée et si la volonté du concepteur est d’obtenir dans tous les cas un certain nombre de solutions, il est possible de ne pas appliquer le produit cartésien en sachant que les valeurs attribuées aux paramètres terminaux ne satisferont pas toutes les contraintes intermédiaires. Il faudra néanmoins pénaliser la forme considérée d’autant plus que la valeur attribuée au paramètre intermédiaire ne vérifie pas la contrainte intermédiaire.

3.4.4 Synthèse de formes combinées

Auparavant, nous avons précisé qu’une classe de forme correspondait à une morphologie définie par un ensemble de paramètres terminaux. Les classes de forme qui ont été données en exemple sont principalement des formes primitives telles que la sphère, le cylindre, le cube, la pyramide … Néanmoins, ces classes ne suffiront pas à générer des solutions satisfaisant le concepteur pour des cas de conception réels (voiture, four à micro-ondes …). En effet, une voiture ne peut pas être représentée simplement par une boîte. Il faut donc donner la possibilité au système de proposer des formes plus complexes. Ces formes peuvent être vues comme une combinaison de formes primitives dans la mesure où on peut réutiliser la définition des classes de forme primitive. Par exemple, on peut les combiner par des opérations booléennes (cf. Figure 3-13).

Intuitivement, comme on sait générer des formes primitives satisfaisant le cahier des charges intermédiaire, on peut imaginer qu’on est capable de faire de même avec une combinaison de formes primitives. Pour cela, la méthode présentée dans les précédents paragraphes n’empêche pas la définition d’une classe de forme correspondant à une combinaison de formes primitives. La différence par rapport aux autres classes représentant des formes primitives sera le nombre de paramètres nécessaires pour la définir. En effet, le nombre de paramètres terminaux de la classe combinée sera supérieur à la somme des paramètres utilisés pour définir chaque classe de forme primitive. Si la classe combinée est effectivement représentée par un arbre CSG, des paramètres de position, d’orientation et d’échelle seront nécessaires.

La méthode proposée permet donc de générer des formes combinées satisfaisant le cahier des charges intermédiaire à partir du moment où la morphologie de la forme (contenue dans la classe correspondante) est décrite par le concepteur dans une bibliothèque de classes. Ce principe est un bon compromis industriel entre l’approche simplifiée qui consiste à générer des formes basiques (sphère, cylindre, tétraèdre …) et une approche qui consisterait à générer des formes très complexes pour lesquels il faudrait déterminer le plus automatiquement possible la morphologie ainsi que les valeurs des paramètres terminaux. En effet, d’un point de vue industriel, il arrive fréquemment que le concepteur participe à une

Classes de forme primitive Classe de forme complexe Exemple d’instance de la classe complexe

Chapitre 3 Vers une nouvelle méthode pour la synthèse automatique de formes

Thèse de l’université de Metz soutenue le 12 Janvier 2000 – D. Pallez 78

conception routinière et non à une conception innovante. De ce fait, si le concepteur définit des classes de formes combinées qu’il utilise fréquemment, il pourra utiliser ce principe pour générer automatiquement des formes qui satisfont le cahier des charges qu’il aura fourni.

4 Estimation des solutions générées

Dans la partie précédente, nous avons réussi à caractériser l’espace des solutions comme un ensemble de classes de forme ; chacune d’elles contient un ensemble de paramètres définis sur des intervalles. Le fait de choisir une valeur pour chaque paramètre dans son intervalle correspondant signifie forcément que la forme résultante sera solution. Toutefois, comme il est possible de générer de cette façon une grande quantité de solutions, il est important de les comparer. Pour cela, nous proposons dans ce paragraphe un moyen d’estimer une forme par rapport au cahier des charges intermédiaire, et donc indirectement par rapport au cahier des charges du client. Une fois l’estimation définie pour une forme, on sait avec quel degré la forme satisfait le cahier des charges. Comme on peut estimer l’ensemble des formes de l’espace des solutions, on peut donc les comparer. Nous distinguons deux cas : lorsque la forme est une primitive (sphère, cylindre, boîte …) et lorsque la forme est complexe.