UNIVERSITÉ DE BOURGOGNE U.F.R. SCIENCES ET TECHNIQUE
|
|
|
- Jean-Pascal Beauchamp
- il y a 10 ans
- Total affichages :
Transcription
1 UNIVERSITÉ DE BOURGOGNE U.F.R. SCIENCES ET TECHNIQUE Mémoire présenté par Sebti Foufou en vue de l obtention de l Habilitation à Diriger des Recherches de l Université de Bourgogne - Dijon OUTILS POUR LA MODELISATION GEOMETRIQUE ET LA MODELISATION DE PRODUITS Soutenue publiquement le 8 juillet 2005 devant le jury composé de : Kadi Bouatouche Professeur à l Université Rennes 1 Rapporteur Abdelaziz Bouras Professeur à l Université Lyon 2 Rapporteur Marc Daniel Professeur à l Université de la Méditerranée Rapporteur Francis Schmitt Professeur à l ENST de Paris Rapporteur Bernard Péroche Professeur à l Université Lyon 1 Président Michael J. Pratt Professeur Emérite de Rensselaer Polytechnic Institute, Examinateur Newyork, Etats-Unis et Cranfield University, Angleterre Marc Neveu Professeur à l Université de Bourgogne Examinateur Frédéric Truchetet Professeur à l Université de Bourgogne Examinateur
2
3 A ma femme et mes deux enfants, à mes parents
4
5 Remerciements Je remercie très chaleureusement Francis Schmitt, Kadi Bouatouche, Marc Daniel et Abdelaziz Bouras d avoir accepté de me consacrer du temps et de porter leurs jugements experts sur ce travail. Je tiens également à exprimer toute ma gratitude à Mike Pratt pour avoir eu l amabilité de juger ce travail en tant qu examinateur. Enfin, un grand merci à Bernard Péroche qui m a fait le plaisir de présider le jury de cette habilitation à diriger les recherches. Ils ont apporté de multiples éclairages sur ce travail. C est un grand honneur qu ils m ont fait. Je tiens à remercier Marc Neveu pour m avoir accueilli au sein de son équipe dès mon recrutement en tant que maître de conférences et pour la confiance qu il m a témoignée depuis bientôt 7 ans. Ses encouragements et ses conseils aussi bien pour l enseignement que pour la recherche sont très précieux. Je veux lui exprimer ici ma profonde gratitude. Je voudrais exprimer ici mes sincères remerciements à Frédéric Truchetet avec qui j ai eu une collaboration très fructueuse. Il a su partager avec moi son expérience et ses compétences à travers le coencadrement de deux thèses. Ces encouragements et son dynamisme ont joué un rôle déterminant dans ce travail. Je lui suis très reconnaissant. Un grand merci à Dominique Michelucci et Dominique Faudot pour les merveilleuses années que nous avons passées au sein de l équipe synthèse d images, pour les nombreuses discussions très intéressantes que nous avons eues et pour nos collaborations passées et futures. Je remercie très chaleureusement mes collègues du National Institute of Standards and Technology, Maryland, Etat-Unis, et plus particulièrement Steven Ray, directeur de la division MSID et Ram D. Sriram, responsable du groupe de recherche sur la modélisation de produits, pour la confiance qu ils m ont témoigné en m invitant dans leur laboratoire. Mes remerciements particuliers vont également aux professeurs Steven J. Fenves, Rachuri Sudarsan et Subrahmanian Eswaren, et au Dr. X. F. Zha avec qui je viens de passer 12 mois de travail riche et très agréable. Le travail présenté dans ce mémoire est en partie le résultat des recherches de plusieurs doctorants que j ai coencadrés : Lionel Garnier le cyclideman, Michael Roy et ses maillages, Yohan Fougerolle et ses R-Fonctions et supershapes. A tous, je souhaite leur adresser mes remerciements d avoir réalisé ces travaux avec beaucoup d enthousiasmes et d avoir relevé avec succès les défais que je leur lançais. J espère leur avoir apporté au moins autant qu ils m ont apporté. Je remercie les collègues du département IEM, de l UFR sciences et techniques et de l IUT de Dijon avec qui je travaille et je partage les problèmes et les plaisirs quotidiens. Enfin, je ne saurais suffisamment remercier ma femme, pour son soutien de tous les jours, pour sa patience et son aide précieuses. Mes remerciements vont bien sur à mes parents et à mes amis qui sont toujours présents. i
6
7 Résumé Ce rapport d HDR décrit mes activités de recherche dans les deux thématiques de modélisation géométrique de surfaces d objets 3D et de modélisation des données de produits manufacturiers. Dans le contexte de la modélisation de scènes réelles numérisées ou de l image de synthèse, où on parle souvent d objets 3D, l élément clef de la représentation est la géométrie, et le but est de trouver la surface ou le maillage qui représente le plus fidèlement possible la forme de l objet considéré. Dans le contexte de la CAO, où on parle plutôt de produits, la géométrie est importante certes, mais la représentation doit absolument être complétée par d autres données non géométriques, dites données de conception, relatives aux besoins, aux spécifications techniques, aux matériaux, à la décomposition fonctionnelle du produit, etc. La partie modélisation géométrique est structurée autour des trois axes suivants : (i) Modélisation à base de cyclides de Dupin et des supercyclides. (ii) Comparaison et analyse multirésolution de maillages triangulaires multi-attributs. (iii) Combinaison de surfaces pour la représentation d objets 3D. Pour construire cette combinaison, les CdD ont été utilisées pour la jointure des quadriques, les intersections des surfaces de subdivision pour évaluer les opérations booléennes, et les R-fonctions pour fusionner plusieurs surfaces algébriques. La partie modélisation de cycle de vie de produit a été développée lors de mes séjours au NIST (Maryland, Etats-Unis) dans le but de développer de nouvelles approches pour la gestion des phases du cycle de vie du produit. Cette activité inclue les recherches sur les normes pour le PLM et sur la représentation en UML de modèles génériques -Core Product Model (CPM) et Open Assembly Model (OAM)- pour modéliser et échanger les données produit ; ainsi que sur l utilisation des représentations formelles (sous forme d ontologies) pour l intégration et la conformité des normes en fabrication. iii
8
9 Abstract This report presents my research activities on geometric modelling of surfaces representing 3D shapes and product lifecycle management (PLM). In the context of image synthesis and real scenes modelling, where we are mostly dealing with 3D objects, the key element of any representation is the geometry and the goal is to find the surface or the mesh that faithfully represents the considered shape. In the context of CAD, where we are mostly dealing with products, geometry is of course important, but the representation has to be completed by other non geometric data called design data which concerns customer needs, technical specification, material, functional decomposition etc. The geometric modelling part of this report is structured around the following three axes : (i) Surface modelling based on Dupin cyclides and supercyclides. (ii) Comparison and mutiresolution analysis of multi-attributes triangular meshes. (iii) Combining of surfaces for 3D objects representations. Dupin cyclides are used for the blending of quadrics ; Intersection of subdivision surfaces is used to evaluate Boolean operations ; and R-functions are used to merge algebraic surfaces. The product lifecycle modelling (PLM) part of this report is developed during my work, as guest researcher at NIST (Maryland, USA), on the development of new approaches for PLM support. This activity includes researches on standards that support PLM applications ; UML representation of generic models -Core Product Model (CPM) and Open Assembly Model(OAM)- to represent and exchange product data ; and the use of formal representations (ontologies) for standards integrations and standards conformances in manufacturing. v
10
11 Table des matières 1 Introduction Mes recherches en modélisation géométrique Mes recherches en modélisation de produits Structure du document Cyclides de Dupin Introduction Définitions et propriétés générales des CdD Les supercyclides Lignes de courbure et cercles principaux des CdD Lignes de courbure Cercles principaux des CdD Détermination des paramètres de la CdD à partir de deux cercles principaux Conversion des CdD en carreaux de Bézier Amélioration de l algorithme de Pratt Algorithme barycentrique Algorithme à base des propriétés de Ueda et des barycentres Comparaison des algorithmes de conversion des CdD en Bézier Conversion d un carreau de CdD en anneau Conversion de toute une CdD Conclusion Analyse Multirésolution Introduction vii
12 viii TABLE DES MATIÈRES 3.2 Mesure de déviation et comparaison de maillages Algorithmes de simplification et mesures d erreurs Comparaison de maillages Mesure de déviation d attribut Applications Mise en œuvre Résultats Représentation en niveaux de détails de modèles 3D Analyse multirésolution de maillages Schémas d analyse multirésolution proposés Analyse multirésolution interpolante Analyse multirésolution approximante Quelques résultats expérimentaux Applications de l analyse multirésolution Segmentation Reconstruction et simplification adaptatives Visualisation adaptative Débruitage Conclusion Combinaison de surfaces Introduction Jointure des surfaces quadriques par les cyclides de Dupin Détermination des bornes de la CdD utile lors de jointures Jointures surfaces de révolution-plans Jointure entre quadriques de révolution Exemples d objets modélisés par mélange CdD/quadriques Combinaison de surfaces de subdivision par intersection Algorithme naïf Algorithme de voisinage Algorithme utilisant un graphe biparti
13 TABLE DES MATIÈRES ix Comparaison des trois algorithmes Combinaison des surfaces algébriques par les R-fonctions Introduction Superquadriques et supershapes R-fonctions Modélisation Reconstruction de Surfaces Contraintes géométriques pour la combinaison et la modélisation de surfaces Conclusion Modélisation de produits Introduction Outils pour le PLM Le CPM : un modèle de base pour représenter les données de conception L OAM : une extension du CPM pour représenter les données d assemblage Une typologie de normes pour le cycle de vie du produit Intégration sémantique de normes Conclusion Publications, encadrements Liste des publications Encadrements de thèses Encadrements de stages de DEA Collaborations Internationales Perspectives 125 Bibliographie 129 Annexe 143
14
15 Table des figures 2.1 Exemples de cyclide de Dupin. La partie noire est un carreau de CdD délimité par quatre lignes de courbure circulaires Cercles de courbure d une CdD. (a) lignes de courbure obtenues avec θ constant. (b) lignes de courbure obtenues avec ψ constant Intersections communes des plans contenant les cercles de courbure avec θ constant Intersections communes des plans contenant les cercles de courbure avec ψ constant Cercles principaux d une CdD. (a) CdD en anneau. (b) CdD à croissant externe. (c) CdD à croissant interne Coupe d une CdD par le plan de symétrie P y d équation (y = 0). (a) CdD en anneau ou à croissant externe. (b) CdD à croissant interne Demis-CdD délimitées par le plan de symétrie P y d équation (y = 0). (a) CdD en anneau. (b) CdD à croissant externe. (c) CdD à croissant interne Conversion d un morceau de CdD en un carreau de Bézier. (a) le carreau de CdD. (b) le carreau de Bézier correspondant Conversion d un carreau de CdD en carreau de Bézier. (a) Carreau de CdD à convertir. (b) résultat de l algorithme de Pratt. (c) résultat avec poids positifs Conversion d une CdD en plusieurs carreaux de Bézier avec tous les poids positifs. (a) la CdD à convertir. (b) conversion en seize carreaux de Bézier. (c) conversion en neuf carreaux de Bézier Conversion d un carreau de CdD en un carreau de Bézier après une reparamétrisationaffine de la CdD, changement de c en c. (a) le carreau de CdD à convertir. (b) le carreau de Bézier obtenu et son polyèdre de contrôle Conversion d un carreau de CdD en carreau de Bézier quasi-standard en utilisant l algorithme 1. Les poids sont positifs le long des lignes de courbure. (a) le carreau de CdD à convertir. (b) le carreau de Bézier quasi-standard résultant de la conversion avec son polyèdre de contrôle Conversion d un morceau de CdD en carreaux de Bézier en utilisant l algorithme 1. Les poids sont négatifs le long des lignes de courbure avec ψ constant et θ 1 = π. (a) et (b) deux vues de la CdD. (c) le carreau de Bézier obtenu et son polyèdre de contrôle. 19 xi
16 xii TABLE DES FIGURES 2.14 Conversion d une CdD en quatre carreaux de Bézier quasi-standard. (a) la CdD à convertir. (b) et (c) les quatre carreaux de Bézier quasi-standard résultants Exemples de conversions de carreaux de CdD en Bézier. (a) carreau d une CdD à croissant interne. (b) carreau d une CdD à croissant externe Exemples de conversion d un carreau d une CdD en carreau de Bézier avec des poids positifs et deux lignes de courbure obtenues avec π Exemples de conversion d un carreau d une CdD en anneau en un carreau de Bézier. (a) la CdD, le carreau de Bézier et son polyèdre de contrôle. (b) deux quarts du carreau de Bézier, obtenu par un des algorithmes reposant sur les propriétés barycentriques, et son polyèdre de contrôle. (c) deux quarts du carreau de Bézier, obtenu par un des algorithmes reposant sur la méthode de M. Pratt, et son polyèdre de contrôle Exemples de conversion d une CdD en quatre carreaux de Bézier en utilisant l algorithme barycentrique. (a) la CdD. (b) 4 carreaux de Bézier obtenus avec θ 0 et θ 1 symétriques par rapport à 0. (c) 4 carreaux de Bézier obtenus avec ψ 0 et ψ 1 symétriques par rapport à π Exemples de conversion d une CdD en carreaux de Bézier en utilisant l algorithme de Pratt et ses deux variantes. (a) 4 carreaux de Bézier, algorithme de Pratt et sa première variante. (b) 6 carreaux de Bézier, algorithme de Pratt et sa deuxième variante. (c) 9 carreaux de Bézier, variante 1 de l algorithme de Pratt Exemples de conversion d une CdD en anneau en carreaux de Bézier en utilisant l algorithme à base de Ueda et de barycentres. (a) 4 carreaux de Bézier. (b) 9 carreaux de Bézier. (c) 16 carreaux de Bézier Mesure de déviation d attribut Discrétisation d une face Échelle de couleurs pour la mesure de déviations Comparaison de la mesure de déviation d attribut et la distance de Cohen Comparaison de trois algorithmes de simplification Comparaison visuelle de la déviation géométrique Comparaison visuelle de la déviation des normales Comparaison numérique de la déviation moyenne géométrique Comparaison numérique de la déviation moyenne des normales Histogramme de la déviation géométrique Histogramme de la déviation des normales Suppression d un sommet Contraction d arête et séparation de sommet
17 TABLE DES FIGURES xiii 3.14 Analyse interpolante Analyse approximante Schéma de décomposition de l analyse interpolante Schéma de reconstruction de l analyse interpolante Schéma de décomposition de l analyse approximante Schéma de reconstruction de l analyse approximante Reconstruction approximante Analyse multirésolution du modèle "Waterneck" Analyse des attributs de couleur du modèle "Terre" Analyse multirésolution du modèle Swirl Histogrammes des coefficients de détail Segmentation des détails du modèle "Fandisk" Schéma de reconstruction adaptative Modèle de terrain comportant plusieurs niveaux de résolution Simplification adaptative du modèle "Bunny" Visualisation adaptative du modèle "Buddha" Débruitage d un modèle CAO bruité artificiellement Exemple d opérations booléennes Présentation du problème de la détermination de la partie utile de la CdD lors d une opération de jointure (entre un plan et un cylindre de révolution) Coupe de la construction par le plan P y de la jointure entre un plan et une surface de révolution par une CdD. (a) construction de type poteau. (b) construction de type récipient Exemples de jointure surfaces de révolution plan. (a) Ellipsoïde de révolution. (b) Cone de révolution, la CdD obtenue est une CdD en anneau. (c) Hyperboloïde de révolution à une nappe, CdD à croissant interne. (d) Tore ; la jointure est faite sur le trou du tore. (e) Caténoïde ; CdD à croissant externe. (f) Pseudosphère. (g) Cylindre Jointure entre un cône et une sphère. (a) par deux CdD. (b) par deux CdD et un cylindre de révolution Coupe de la construction d une jointure G 1 entre un cylindre et une sphère Trois exemples d une CdD effectuant une jointure G 1 entre une sphère et un cylindre de révolution, construction de la Figure 4.6(a). (a) et (b) CdD en anneau. (c) CdD à croissant interne
18 xiv TABLE DES FIGURES 4.8 Schéma de construction de deux courbes rationnelles quadratiques de Bézier modélisant des arcs de cercle tangents aux génératrices d un cône de révolution et d un cylindre de révolution Jointure G 1 entre un cône de révolution et un cylindre de révolution par une CdD. (a) un pavillon de phonographe. (b) un chapeau d amazone. (c) un filet qui transporte un cône Exemples de jointures G 1 entre un cône de révolution et une sphère par deux CdD Exemples de jointure G 1 entre un cône de révolution et une sphère par deux CdD et un cylindre. (a) et (b) deux CdD en anneau. (c) et (d) une CdD en anneau (cône-cylindre), une CdD à croissant interne (sphère-cylindre) Une lampe de chevet Antenne parabolique portable pour réception satellite Le modèle d Eurographics 2004 : Hugo Le modèle d Eurographics 2004 modélisé par des surfaces de révolution : cylindres, cônes, sphères, ellipsoïdes et CdD Tête de Hugo modélisée par des surfaces de révolution : cylindres, cônes, sphères ou ellipsoïdes et CdD. (a) coupe de la construction du crâne au bonnet. (b) coupe de la construction du cou au crâne. (c) rendu 3D Courbes d intersections à des niveaux de subdivision successifs Deux cas d intersection face/face voisinage V 1 (F) et 2-voisinage V 2 (F), ainsi que leurs subdivisions W 1 (F) et W 2 (F) Courbe d intersection au premier niveau avec les faces en intersection Faces en intersection. (a) 1-Voisinage V 1 (I i ). (b) 1-Voisinage de la subdivision W 1 (I i ) Intersection au niveau 1. (a) la courbe obtenue. (b) les faces participant à l intersection Voisinage, subdivision et courbe d intersection au niveau Exemple de faces très éloignées Exemple de construction d un graphe où F i et G i sont respectivement des éléments de I 1 et de I Construction du graphe biparti initial Etape 1 : Récupération des 1-voisinages V 1 (F i ) et V 1 (G k ) Etape 2 : Obtention des W 1 (F i ) et de W 1 (G k ) par subdivision partielle de V 1 (F i ) et V 1 (G k ) Construction du nouveau graphe biparti à l aide des couples de faces en intersection de W 1 (F i ) et de W 1 (G k )
19 TABLE DES FIGURES xv 4.30 Comparaison du nombre de tests à effectuer pour les différents algorithmes dans le cas de l intersection de deux surfaces de 12 faces au niveau initial Graphes des données de la Figure Comparaison du temps de calcul pour les trois algorithmes sur des maillages initiaux de 12 faces Graphes des données de la Figure Exemples de superquadriques (en haut) et supershapes (en bas) Supershapes. (a) Interprétation géométrique. (b) L intensité du champs scalaire généré pour une section plane z = const en utilisant l équation (4.6) Example of 3D supershapes with m a natural number. (a) m = 3, M = 6, n 1 = N 1 = 1000, n 2 = n 3 = 1980 N 2 = N 3 = 390. (b) m = 5, M = 6, n i = 100, N i = 10, i = 1, 2, 3. (c) m = 8, M = 4, n 1 = 1.5, n 2 = 3.5, n 3 = 1, N i = 100, i = 1, 2, 3. (d) m = M = 8, n 1 = N 1 = 100, n 2 = n 3 = N 2 = N 3 = Un exemple d objet. (a) Diagramme de Venn. (b) quadrants booléens Fonctions de mélange et exemple d union de deux disques. Intensité des R-disjonctions (a) R α=1 (x, y) = max(x, y), (b) R m=2 0 (x, y) et (c) R p=4 (x, y) sur l intervalle [ 1, 1] 2. En bleu la fonction est minimum et maximum en rouge sur cet intervalle. En noir est représentée la courbe R (x, y) = 0. Intensité de la fonction implicite correspondant à l union de deux disques d équations f 1 (x, y) et f 2 (x, y) en utilisant respectivement (d) R α=1 ( f 1 (x, y), f 2 (x, y)) = max( f 1 (x, y), f 2 (x, y)), (e) R m=2 0 ( f 1 (x, y), f 2 (x, y)) et (f) R p=4 ( f 1 (x, y), f 2 (x, y)) Déformations. (a) De gauche à droite : supershape mise à l échelle, pincement, vrille, torsion et combinaison des quatre déformations. (b) Exemple de déformation appliquée à la racine d un arbre CSG représentant un boulon Schéma général de l algorithme qui calcule les opérations booléennes Détection et découpage des faces intersectantes. (a) Séquence de faces traversées par une courbe d intersection. (b) Sur un segment paramétrique, l approximation d un point d intersection I + ou I dépend de l opération booléenne Exemple de pièce mécanique I : 24 supershapes et 21 opérations booléennes. (a) Modèle CAO, (b) Représentation par supershapes, (c) Intensité de la fonction implicite en utilisant R p=2 -fonctions Exemple de pièce mécanique II : 54 supershapes et 31 opérations booléennes. (a) Modèle CAO, (b) Représentation par supershapes, (c) Intensité de la fonction implicite en utilisant R p=2 -fonctions Pont arrière de camion : modèle CAO (gauche) et sa représentation par supershapes (droite) Evolution d une supershape reconstruite à partir d un nuage de synthèse. (a) Objet initial. (b) Résultat après 1 itération (c) Résultat après 5 itérations
20 xvi TABLE DES FIGURES 4.46 Modèle "Waterneck", maillage, surface reconstruite, et erreur de reconstruction. Le modèle original est composé 134k faces. (a) Maillage segmenté manuellement en 9 parts. (b) Représentation par supershapes. (c) Mesure d erreur (bleu pour l erreur minimum et rouge pour l erreur maximum Le cycle de vie du produit Diagramme de classes du CPM Le type complexe Artifact du schéma XML du CPM Exemple de contraintes de consistance dans le schéma XML correspondant au CPM Le système d engrenage planétaire L élément Artifact représentant le système d engrenage planétaire L élément Behavior associé au système d engrenage planétaire L élément Function associé au système d engrenage planétaire Diagramme de classes de l OAM L assemblage planet-gear-carrier Diagramme d instances pour l assemblage planet-gear-carrier Diagramme d instances pour l assemblage planet-gear-carrier avec la notion d usage Les relations entre les normes et le PLM Trois exemples de codes. Haut : code, conforme à l ISO 1832, pour une plaquette. Milieu : code, conforme à l ISO 5608, pour un porte-outil. Bas : Code de porte-outil donné par un fournisseur, la première partie du code est conforme à la norme, mais la deuxième partie est propre à ce fournisseur Axiomes de base pour décrire les angles des outils de coupe Définition des formes des plaquettes Définition des styles des porte-outils Les axiomes de la relation de montage Exemples de requêtes
21 Liste des tableaux 2.1 Coordonnées des points de contrôle et des poids de la Figure Poids des carreaux de Bézier de la Figure Les deux derniers poids ont été aussi normalisés par rapport à w 00 afin de faciliter les comparaisons Ressemblances et différences entre les algorithmes de conversion de CdD en carreaux de Bézier Résultats numériques du logiciel MeshDev Détails de l antenne satellite Primitives utilisées (CdD et quadriques de révolution) pour modéliser Hugo xvii
22
23 Chapitre 1 Introduction Après une thèse, soutenue en Juillet 1997 au laboratoire LIGIM de l Université Claude Bernard Lyon I sur l étude des intersections de surfaces paramétriques en algèbre des solides, j ai été nommé en septembre 1998 au poste de maître de conférences à l Université de Bourgogne à Dijon et rattaché au Laboratoire Electronique, Informatique et Image (LE2I). J ai intégré l équipe synthèse d images dirigée par le Professeur Marc Neveu. Les thèmes de recherche de ma nouvelle équipe concernaient principalement la modélisation surfacique, les déformations sous contraintes de formes libres et la reconstruction 3D. Depuis, j ai beaucoup travaillé avec les membres de cette équipe, mais aussi avec le Professeur Frédéric Truchetet de l équipe de traitement du signal du Creusot. Dans ce contexte, j ai travaillé sur des problèmes de représentation 3D et de modélisation de surfaces. En Juillet-Août 2002, j ai été invité par le docteur Ram D. Sriram dans son groupe de recherche sur la modélisation de produits à l Institut National des Standards et de la Technologie (NIST), Maryland, Etats-Unis. Durant ce court séjour j ai été séduit par la thématique de modélisation de produits : j ai pris connaissance de l importance des données et des connaissances non géométriques dans la Conception Assistée par Ordinateur (CAO) et l intérêt d une modélisation fine et minutieuse de ces données. Ce court séjour s est ainsi poursuivi par des séjours de recherche plus longs (5 mois en 2004 et 12 mois en 2005) pendant lesquels j ai travaillé sur la représentation des données de conception, la représentation des données d assemblage, et l utilisation des ontologies pour l intégrations des normes. Je classifie ainsi mes activités de recherche dans deux thématiques complémentaires : la modélisation géométrique de surfaces d objets 3D et la modélisation des données de produits manufacturiers. Dans le contexte de la modélisation de scènes réelles numérisées ou de l image de synthèse, où on parle souvent d objets 3D, l élément clef de la représentation est la géométrie, et le but est de trouver la surface ou le maillage qui représente le plus fidèlement possible la forme de l objet considéré. Dans le contexte de la CAO, où on parle plutôt de produits, la géométrie est importante certes, mais la représentation doit absolument être complétée par d autres données non géométriques, dites données de conception, relatives aux besoins, aux spécifications techniques, aux matériaux, à la décomposition fonctionnelle du produit, etc. Laboratoire d informatique graphique, d images et de modélisation. Actuellement partie du laboratoire LIRIS 1
24 2 Chapitre 1. Introduction 1.1 Mes recherches en modélisation géométrique Apparue au début des années 1970, la modélisation géométrique s intéresse à la représentation des objets solides. Les deux approches principalement utilisées en modélisation géométrique sont connues sous les noms de CSG (Constructive Solid Geometry) et B-Rep (Boundary Representation). Dans le modèle CSG, un objet est représenté comme une composition booléenne d objets plus simples appelés primitives, où la surface de l objet et son intérieur sont implicitement définis. Le modèle B- Rep représente un objet comme une surface orientée composée d un ensemble de sommets, faces et arêtes. Les avantages et inconvénients inhérents à ces deux méthodes ont été présentés et discutés par Requicha [188, 139] et Hoffmann [84]. La représentation CSG permet de combiner des primitives implicites de manière simple, naturelle et efficace. Malheureusement, les représentations implicites ne permettent pas d évaluer directement et exactement les sommets nécessaires à la représentation de la surface. Les algorithmes de polygonisation de surface, tels que les Marching Cubes, ne fournissent qu une approximation de la surface et le traitement des arêtes vives nécessite des algorithmes spécialisés [126, 190]. Par opposition, les représentations paramétriques telles que les surfaces de Bézier, les NURBS (Non Uniform Rational B-Splines) ou les surfaces de subdivision permettent de calculer directement et exactement les points de la surface, mais en contrepartie, les calculs d intériorité ou d extériorité nécessitent des opérations coûteuses devant être évaluées sur l ensemble des éléments d un objet (faces, sommets et arêtes) ; de plus ils posent des problèmes de robustesse. Mon activité de recherche en modélisation géométrique s est construite principalement autour des trois axes suivants : Modélisation à base de cyclides de Dupin (CdD) : cet axe concerne l étude des propriétés des CdD, et leur utilisation pour la représentation d objets 3D. Comparaison et analyse multirésolution de maillages : cet axe concerne les maillages triangulaires multi-attributs. Nous avons proposé une nouvelle méthode pour comparer et caractériser la différence entre deux maillages, ainsi que deux schémas d analyse multirésolution pour faire une manipulation multi-échelles de maillages. Combinaison de surfaces : cet axe concerne la combinaison de plusieurs primitives pour obtenir la surface représentant un objet 3D. Pour construire cette combinaison, les CdD ont été utilisées pour la jointure des quadriques, les intersections des surfaces de subdivision pour évaluer les opérations booléennes, et les R-fonctions pour fusionner plusieurs surfaces algébriques. Comment je suis venu aux cyclides de Dupin? Comme suite à mes travaux de thèse sur le calcul des intersections de surfaces en algèbre des solides, je cherchais un moyen plus naturel pour résoudre le problème récurrent de l intersection de surfaces. L utilisation de surfaces ayant à la fois une représentation implicite et une représentation paramétrique me semble adéquat. Lors de ma rencontre avec le professeur Mike Pratt en 1999 dans une conférence en Floride, j ai été séduit par son discours sur les cyclides de Dupin et leurs propriétés intéressantes pour la modélisation géométrique. Les cyclides de Dupin (CdD) sont des surfaces algébriques non sphériques proposées pour la première fois par le mathématicien Français Charles Pierre Dupin au début du 19 e siècle. Les CdD possèdent à
25 1.1. Mes recherches en modélisation géométrique 3 la fois une représentation paramétrique et une représentation implicite de degré 4 (donc pas de complexité particulière pour calculer leurs intersections). Elles ont des lignes de courbures circulaires et des cercles principaux qui permettent de déterminer les paramètres de la surface. Nous avons analysé les propriétés des CdD et proposé des algorithmes pour leur conversion en surfaces biquadratiques de Bézier et pour les utiliser dans le raccordement des quadriques et la modélisation d objets 3D. Ce thème a été développé dans le cadre de la thèse de Lionel Garnier, soutenue en décembre 2004, que j ai codirigée avec le Professeur Marc Neveu. Comparaison et analyse multirésolution de maillages Les techniques d acquisition ou de conception des modèles 3D (modeleurs, scanners, capteurs, etc.) produisent généralement des ensembles de données très denses contenant à la fois des attributs géométriques et des attributs d apparence. Les attributs géométriques décrivent la forme et les dimensions de l objet et incluent les données relatives à l ensemble de points sur la surface de l objet modélisé. Les attributs d apparence contiennent des informations décrivant l aspect extérieur de l objet tel que les couleurs, les textures, les motifs, etc. Nous avons proposé une méthode pour mesurer la qualité de simplification d un maillage. La mesure est effectuée par comparaison entre le maillage original et sa représentation simplifiée. Nous nous sommes également intéressés à l analyse multirésolution de ces maillages et nous avons proposé deux schémas d analyse multirésolution qui permettent une gestion complète de tous les attributs représentant un modèle 3D. Ces schémas sont basés sur un opérateur de relaxation capable de traiter les attributs géométriques ainsi que les attributs d apparence. Nous avons utilisé ces schémas multirésolution dans diverses applications, notamment pour la visualisation adaptative et le débruitage de modèles numériques. Ce thème a été développé dans le cadre de la thèse de Michael Roy, soutenue en décembre 2004, que j ai codirigée avec le Professeur Frédéric Truchetet. Combinaison de surfaces Avec Lionel Garnier nous avons proposé plusieurs algorithmes pour utiliser les CdD dans les opérations de jointure de surfaces notamment pour les jointures des quadriques de révolution et nous avons montré à travers plusieurs exemples comment ces jointures peuvent aider dans la représentation d objets 3D. Les lignes de courbures circulaires des CdD et la possibilité de d obtenir les paramètres d une CdD à partir de ses cercles principaux sont les deux propriétés importantes des CdD qui facilitent les calculs des carreaux de CdD joignant deux surfaces quadriques. Les courbes rationnelles biquadratiques de Bézier ont été utilisées pour modéliser les cercles principaux des CdD de jointure. Dans le cadre de la thèse de Sandrine Lanquetin, encadrée par le Professeur Marc Neveu et soutenue en septembre 2004, j ai contribué essentiellement sur l aspect intersection et opérations booléennes entre des objets représentés par des surfaces de subdivision. Le calcul d intersection, qui est une opération fondamentale pour réaliser des opérations booléennes, peut s avérer lourd et complexe dans le cas de surfaces de subdivision car le nombre de faces participant à l intersection et nécessitant une évaluation s accroît considérablement d un niveau de subdivision à un autre. Dans nos expérimentations, nous n avons considéré que les surfaces obtenues par le schéma de subdivision de Loop et nous
26 4 Chapitre 1. Introduction avons proposé et comparé trois algorithmes de calcul différents. Etant donné deux objets (représentés par deux surfaces de subdivision), ces algorithmes commencent par déterminer les faces en position d intersection puis procèdent à l évaluation de cette intersection. Actuellement, dans le cadre d une collaboration avec le laboratoire IRIS de l Université du Tennessee, Etats-Unis, je codirige avec le Professeur Frédéric Truchetet la thèse de Yohan Fougerolle. Dans ce travail, nous nous sommes intéressés à la reconstruction de surfaces à partir de nuages de points 3D. Le processus complet que nous envisageons de développer se décompose en trois étapes : (i) une étape de segmentation pour décomposer le nuage de points en K-partitions où chaque partition peut faire l objet d une approximation par une surface unique (une superquadrique, une supershape ou autre). (ii) une étape de reconstruction pour calculer la surface d approximation pour chaque partition obtenue précédemment. (iii) une étape de raccordement pour joindre les différentes surfaces résultantes de l étape deux et déterminer les équations paramétrique et implicite de la surface globale. Ce travail est encore en cours de réalisation. Nos premières résultats sur ce thème ont donné lieu à une méthode basée sur les R-fonctions pour faire des opérations booléennes entre plusieurs primitives algébriques. Les primitives combinées sont des supershapes et le résultat est l équation implicite et/ou paramétrique d une seule surface (une approximation de l objet). L utilisation d autres primitives telles que les quadriques et les cyclides de Dupin peut également être envisagée. 1.2 Mes recherches en modélisation de produits Cette thématique a été développée lors de mes séjours au NIST dans le but de mettre en place un ensemble d outils pour le développement des applications de gestion des phases du cycle de vie du produit. Dans ce cadre nous avons : Procédé à la révision d un modèle générique de gestion de produit, dit Core Product Model (CPM). Nous avons complété ce modèle, afin de représenter plus de données, et proposé des implantations avec les langages Java, XML et OWL. Etudié l utilisation combinée du CPM et de l une de ses extensions, dite Open Assembly Model (OAM), pour modéliser et échanger les informations générées pendant la phase de conception d un objet manufacturier. Identifié une typologie de normes sur lesquelles les applications PLM peuvent s appuyer pour la représentation, la visualisation et l échange de données. Etudié l utilisation des représentations formelles (sous forme d ontologies) pour l intégration des normes (interprétation des règles, extraction des données, tests de conformité, etc.). Nous avons proposé une ontologie, définie sous forme d un ensemble de règles et d axiomes écrits en langauge KIF, pour l intégration de deux normes en fabrication. National Institute of Standards and Technology, Gaithersburg, Maryland, Etats-Unis Dans la littérature, la thématique de gestion du cycle de vie du produit est souvent référencée par l acronyme PLM (Product Lifecycle Management). J utiliserai ainsi cet acronyme tout le long de ce document.
27 1.3. Structure du document Structure du document Ce rapport décrit mes activités de recherche dans les deux thématiques citées précédemment : modélisation géométrique et modélisation de cycle de vie du produit. Il est structuré en 7 chapitres et une annexe. Chapitre 2 : Ce chapitre est dédié à l étude des cyclides de Dupin (CdD) et les algorithmes de conversions des CdD en carreaux de Bézier. Après une brève revue bibliographique, la section 2.2 donne la définition et les propriétés générales de ces surfaces. Ensuite, la section 2.3 introduit les supercyclides comme une généralisation des DdD. Les propriétés importantes des lignes de courbure et des cercles principaux des CdD, ainsi que la détermination des paramètres de la CdD à partir de ses deux cercles principaux sont détaillées dans la section 2.4. Je parle de la conversion des CdD en carreaux de Bézier rationnels biquadratiques et je présente les algorithmes de conversion que nous avons adoptés ou développés dans la section 2.5. Ce chapitre se termine par une comparaison des différents algorithmes présentés. Chapitre 3 : Ce chapitre présente nos travaux sur les maillages triangulaires. La section 3.2 présente le lien entre les algorithmes de simplification de maillages et la mesure d erreur de simplification ; il décrit notre algorithme de comparaison de maillages et présente la mesure de déviation d attributs sur laquelle cet algorithme s appuie. La section 3.3 présente les résultats de l application de cet algorithme pour mesurer la qualité de quelques méthodes de simplification. La section 3.4 introduit la notion de représentation en niveaux de détails de modèles 3D et passe en revue les principales méthodes de représentation en niveaux de détails proposées dans la littérature. La section 3.5 est consacrée à l analyse multirésolution de maillages. Les deux schémas d analyse multirésolution que nous avons développés sont présentés après une brève revue des différentes approches multirésolution existantes. Ce chapitre se termine en montrant l utilité des deux schémas proposés à travers de nombreuses applications tel que la visualisation adaptative et le débruitage de modèles numériques. Chapitre 4 : Ce chapitre présente nos travaux sur les jointures et les combinaisons de surfaces. La section 4.2 décrit l utilisation des CdD pour la jointure des surfaces quadriques, montre plusieurs cas de jointure, et donne quelques exemples d objets modélisés par une combinaison des CdD et des quadriques. Notre approche pour la combinaison de surfaces de subdivision par calcul d intersection est présentée dans la section 4.3. Trois différents algorithmes de calcul d intersection seront présentés et comparés. La section 4.4 est consacrée à la combinaison des surfaces algébriques par les R-fonctions ; elle commence par présenter les R-fonctions et les surfaces supershapes, puis montre comment utiliser les R-fonctions pour assurer des opérations booléennes de type CSG entre objets représentés par des supershapes. Ce chapitre se termine en discutant quelques exemples d applications. Chapitre 5 : Ce chapitre décrit nos travaux sur la modélisation de produits et essentiellement le développement de modèles pour la représentation des données non géométriques caractérisant le cycle de vie du produit. Après une analyse des besoins en modélisation de ces données dans l introduction, la section 5.2 présente deux modèles de données (le CPM, et l OAM) et donne une typologie des différentes normes pouvant soutenir les applications de gestion de cycle de vie du produit. La section 5.3 présente un travail, encore en cours, sur l utilisation des ontologies pour capturer la sémantique contenue dans les normes de fabrication, elle discute une ontologie développée pour faciliter l intégration de la norme ISO 5608, pour les codes des porte-outils, et la norme ISO 1832 pour les codes des plaquettes de coupe en usinage.
28 6 Chapitre 1. Introduction Chapitre 6 : Ce chapitre donne la liste de mes publications, présente les encadrements de thèses et de stages de DEA auxquels j ai participé, et résume mes collaborations internationales. Chapitre 7 : Le document se termine par une présentation des perspectives de nos recherches à la fois en modélisation géométrique et en modélisation de produits. Annexe : Cette annexe contient des copies des articles les plus représentatifs de nos travaux.
29 Chapitre 2 Modélisation à base des cyclides de Dupin Ce chapitre présente les propriétés générales des CdD (équations, cercles principaux, cercles de courbures, etc.) et donne les algorithmes de conversion des CdD en surfaces rationnelles biquadratiques de Bézier. L utilisation des CdD pour la jointure des quadriques de révolution sera présentée dans le chapitre 4 qui est consacré aux opérations de combinaison de surfaces. 2.1 Introduction En CAO, les objets sont souvent représentés par des surfaces paramétriques de type Bézier, Bspline, NURBS, etc. Cette représentation convient très bien aux tâches de design et de rendu qui sont très courantes dans un système de CAO, mais certaines opérations très importantes sont difficiles à réaliser sur les surfaces paramétriques (vérifier l appartenance d un point p(x, y, z) à la surface, le calcul de l intersection de deux ou plusieurs surfaces paramétriques, etc.). A leur tour les surfaces implicites de faible degré (les quadriques : cône, cylindre, sphère, plan) conviennent mieux à des tâches comme la classification de points et permettent des calculs géométriques rapides et robustes. L utilisation des surfaces implicites de degré plus élevé est cependant très difficile voire impossible, vues les difficultés qu on peut avoir pour contrôler la forme de telles surfaces. Une surface possédant les avantages des deux représentations constitue certainement un outil de modélisation très puissant, malheureusement la conversion entre les deux représentations n est pas la bonne solution : convertir une surface implicite quelconque en une surface paramétrique n est pas toujours possible. La conversion des surfaces paramétriques en implicites produit des degrés très élevés (la surface implicite qui résulte de l implicitisation d une Bézier de degré 4 est de degré 32). Le mathématicien Français Charles-Pierre Dupin a introduit au début du 19 e siècle des surfaces non sphériques ayant des lignes de courbure circulaires et possédant à la fois une représentation paramétrique et une représentation implicite. Dans son livre, Applications de la Géométrie, publié à Paris en 1822 [45], il a appelé ces surfaces les cyclides. Les cyclides de Dupin (CdD) font partie de la famille des cyclides qui sont des surfaces plus générales possédant la particularité de contenir le cercle à l infini comme ligne double [32, 33]. Au début du 19 e siècle, ces surfaces ont été rencontrées en premier par M. Moutard dans son étude des surfaces anallagmatiques [123]. Durant le reste de ce siècle et le début du 20 e siècle, les propriétés mathématiques des CdD ont été étudiées par d autres mathémati- 7
30 8 Chapitre 2. Cyclides de Dupin ciens [118, 56]. En fonction du degré, on distingue deux types de CdD cubiques (de degré 3) et CdD quartiques (de degré 4). Récemment, une renouveau de ces surfaces a eu lieu. En effet les cyclides de Dupin (CdD) sont à nouveau explorées pour être utilisées en modélisation géométrique. Le fait de posséder un faible degré algébrique et une représentation paramétrique simple confère à ces surfaces à la fois les avantages de la représentation implicite et les avantages de la représentation paramétrique. Avoir un faible degré algébrique permet la mise en place d algorithmes robustes et relativement rapides pour les calculs géométriques (appartenance d un point à la surface, dérivées, tangentes). Avoir une représentation paramétrique permet une édition et une visualisation plus rapides de ces surfaces. Dans ce mémoire, nous n utilisons que les CdD quartiques et les supercyclides quartiques. Le premier qui a pensé à l utilisation de ces surfaces en modélisation géométrique et en CAO fut R. Martin, dans sa thèse, en 1982 [117]. Les propriétés des cyclides ont par la suite été beaucoup étudiées [14, 13, 82, 132, 7, 46, 133], ce qui a permis de montrer l adéquation et l apport de ces surfaces pour la modélisation géométrique [4, 133, 161, 24, 129, 2]. Du point de vue CAO/CFAO, une cyclide est vue comme étant une surface algébrique de faible degré (inférieur ou égal à 4), possédant une forme paramétrique et deux représentations implicites équivalentes [57], facilement compréhensibles (une forme à 3 paramètres) [133]. Pratt et Boehm ont montré dans une série d articles l utilisation de ces surfaces dans les opérations de jointure et de raccordement de surfaces [129, 133, 135, 18]. Chandu et al. ont également proposé d utiliser les cyclides pour obtenir une approximation par morceaux des surfaces de jointure [24]. Srinivas et al. ont montré l utilisation des cyclides dans un processus de modélisation et de composition de surfaces [166]. Gallagher et Piper ont utilisé les cyclides combinées avec des primitives CSG pour engendrer une surface convexe interpolant un nuage de points 3D [67]. Srinivas et al. ont également utilisé les cyclides pour le planning et le contrôle du mouvement [165]. Shene a montré l usage des cyclides pour la jointure de deux cônes [161]. Ce même travail a par la suite été amélioré et généralisé (en se basant sur les calculs des surfaces offsets) pour assurer les jointures de demi-cônes [162]. De plus, il a été montré par plusieurs auteurs comment il est possible de représenter des morceaux de CdD par des carreaux de Bézier [2, 181, 133] ou des NURBS [194]. Cependant, les CdD ne permettaient pas de réaliser des jointures avec des primitives elliptiques. Ainsi, en faisant une analogie avec les superquadriques, Mike Pratt a proposé les supercyclides comme extension des CdD. Une supercyclide est l image d une CdD par une application projective [136, 134]. M. Degen a également généralisé les surfaces de Blutel pour obtenir les surfaces doubles de Blutel qui contiennent les supercyclides [37, 39]. Dans le cadre de de la thèse de Lionel GARNIER [70], nous avons étudié les propriétés de ces surfaces [60, 73], et développé des algorithmes pour : Construire le carreau de CdD qui fait la jointure de deux quadriques [59, 74, 61], Convertir une CdD en plusieurs carreaux biquadratiques de Bézier [72, 71, 62] Utiliser ces surfaces pour la modélisation de formes 3D [59, 61].
31 2.2. Définitions et propriétés générales des CdD Définitions et propriétés générales des CdD Il existe un repère (O, ı 0, j 0, k 0 ), appelé repère de la CdD et O est appelé le centre de la CdD, tel que la CdD admette deux équations implicites équivalentes : F d y (x, y, z) = ( x 2 + y 2 + z 2 µ 2 + b 2) 2 4 (ax cµ) 2 4b 2 y 2 = 0 (2.1) F d z (x, y, z) = ( x 2 + y 2 + z 2 µ 2 b 2) 2 4 (cx aµ) 2 + 4b 2 z 2 = 0 (2.2) où b = a 2 c 2. Ces équations ont été obtenues par Forsyth [57] et aussi par Darboux [33] en explicitant l enveloppe des sphères définissant une CdD. Dans le même repère (O, ı 0, j 0, ) k 0, l équation paramétrique d une CdD est : x (θ, ψ) = µ(c a cos θ cos ψ)+b2 cos θ a c cos θ cos ψ b sin θ (a µ cos ψ) Γ d (θ, ψ) = y (θ, ψ) = a c cos θ cos ψ z (θ, ψ) = b sin ψ (c cos θ µ) a c cos θ cos ψ où θ [0; 2π], ψ [0; 2π]. Ces équations ont été formulées par Forsyth [57] et aussi par Pratt [133]. Selon les différentes valeurs des paramètres a, c et µ, il existe trois grandes familles de CdD dans la littérature, "ring cyclide" ou cyclide en anneau, "horned cyclide" ou cyclide à croissant externe, "spindle cyclide" ou cyclide à croissant interne. Les Figures 2.1 et 2.2 montrent des exemples de CdD. (2.3) Figure 2.1 : Exemples de cyclide de Dupin. La partie noire est un carreau de CdD délimité par quatre lignes de courbure circulaires. Voici une synthèse des différentes propriétés des CdD, les propriétés les plus importantes pour notre travail, particulièrement celle des lignes de courbure et des cercles principaux, seront développées dans la sections 2.4 : Si c = 0, les CdD en anneau ou à croissant interne sont des tores. Si µ = 0 et c 0, la CdD à croissant externe est dite symétrique. Si µ = 0 et c = 0, la CdD à croissant externe est le cercle de centre O et de rayon a dans le plan d équation z = 0 et si a = c = 0, la CdD à croissant interne est la double sphère de centre µ. La définition de Maxwell permet de montrer qu une surface parallèle de paramètre ε à une CdD de paramètres a, c et µ est une CdD de paramètres a, c et µ + ε [14, 2, 162]. Cette propriété a récemment fait redécouvrir ces cyclides pour des applications industrielles [12].
32 10 Chapitre 2. Cyclides de Dupin Une CdD a quatre points doubles dont deux au moins sont imaginaires et conjugués. Si les deux autres sont aussi imaginaires, ils sont conjugués. Ces points sont des ombilics de la CdD. Elle admet deux familles de sphères inscrites dont les centres décrivent deux coniques focales l une de l autre. Elle admet de plus une famille de sphères doublement tangentes dont les centres décrivent une quadrique quelconque et qui est orthogonale à une sphère fixe. Cette sphère est tangente à la quadrique en deux de ses points ombilics. Le lieu géométrique des centres des sphères tangentes à trois sphères fixes est la réunion de deux coniques, appelées coniques confocales orthogonales ou anticoniques ; les foyers de l une sont les sommets de l autre. Les CdD de degré 3 sont appelées cyclides paraboliques et sont des surfaces cubiques sphériques rationnelles. Les déférentes sont deux paraboles confocales. Ces CdD sont obtenues comme images de CdD quartiques par une inversion. Les CdD de degré 4 sont appelées cyclides quartiques ou cyclides ellipto-hyperboliques et sont des surfaces quartiques sphériques rationnelles. Les déférentes sont une ellipse et une hyperbole. Ce sont des surfaces algébriques bisphériques c est-à-dire qu elles contiennent l ombilicale comme ligne double. Une condition nécessaire et suffisante pour qu une surface algébrique soit bisphérique est que le polynôme formé des termes de plus haut degré de son équation cartésienne soit divisible par ( x 2 + y 2 + z 2) 2 et que celui formé des termes de degré n 1 soit divisible par x 2 + y 2 + z 2. Dans la suite, nous ne considèrons que des CdD de degré 4. Nous allons donner les équations implicites de CdD quartiques et montrer que le tore de révolution d une part, l union de deux sphères d autre part, sont deux CdD particulières. 2.3 Les supercyclides Du fait de leurs lignes de courbure circulaires, l utilisation de cyclides de Dupin, pour effectuer des jointures de surfaces qui ne sont pas de révolution, n est pas possible. Afin de proposer une solution, les supercyclides ont été développés comme une généralisation des CdD. E. Blutel a travaillé sur une classe de surfaces générées par une famille simple de coniques qui sont toutes tangentes à un cône quadrique [16]. Les CdD peuvent être générées à l aide de deux familles de cercles qui sont tous tangents à un cône de révolution. W. L. F. Degen, en combinant ces deux propriétés, a défini un nouveau type de surfaces : les surfaces doubles de Blutel [36, 37]. Dans [38], Degen a formulé les équations paramétriques homogènes à l aide de deux couples de trois formes quadratiques linéairement indépendantes ( f, a, b) et (g, c, d) et quatre points A, B, C et D non coplanaires de l espace dont les coordonnées sont homogènes. L équation paramétrique est : M(s, t) = g (t) (a (s) A + b (s) B) + f (s) (c (t) C + d (t) D) Les surfaces doubles de Blutel sont caractérisées par les deux familles de coniques et les plans tangents autour de chaque conique de génération enveloppent un cône ayant son sommet sur l autre ligne [39]. Les surfaces doubles de Blutel proviennent d une variété réglée de dimension 3 de l espace projectif à cinq dimensions et sont obtenues par projection et intersection avec un hyperplan. M. Pratt a par la suite introduit les supercyclides [134] et établit la correspondance de son classement avec celui de Degen [137]. Une supercyclide est alors définie comme l image d une CdD par une
33 2.4. Lignes de courbure et cercles principaux des CdD 11 application projective ou affine. M. Pratt a également comparé les propriétés des CdD et des supercyclides et a relevé que : Le degré de la supercyclide est le degré de la CdD originelle, c est-à-dire 4 pour cette thèse. Les cercles qui sont des lignes de courbure des CdD, se transforment en coniques qui ne sont pas obligatoirement des lignes de courbure. Une CdD est construite à base de cercles et d une inversion. L image d une conique par une inversion n est pas une conique en général, donc cette propriété est perdue. Les lignes de courbure des supercyclides sont des coniques et le long de chaque ligne de courbure, la supercyclide est tangente à un cône. En revanche, la surface parallèle à une supercyclide n est pas une supercyclide. La coplanarité des sommets d un carreau de supercyclide est conservé mais pas l orthogonalité des tangentes aux sommets [136]. S. Allen et D. Dutta ont travaillé sur les jointures de "quadriques à axe" à l aide de supercyclides [3]. Ils ont ainsi montré qu il est possible de joindre deux quadriques par une supercyclide non dégénérée si : (i) L intersection des deux quadriques est une courbe non vide fermée. (ii) La courbe d intersection des deux quadriques s enroule autour de leur axe. Les supercyclides ont également été utilisées par C. K. Shene pour réaliser les jointures cône-plans [160] et par W. Boehm et M. Paluszny pour réaliser une jointure cône-sphère (en utilisant l hypersphère de Moebius) [129]. 2.4 Lignes de courbure et cercles principaux des CdD Lignes de courbure Les lignes de courbure d une CdD sont des cercles tels que θ ou ψ est constant dans la nappe paramétrée (2.3), Figure 2.2. Le long de chaque ligne de courbure de la CdD, l angle entre la normale à la surface et la normale principale à la ligne de courbure est constant. On conjecture que ce sont les seules surfaces ayant une double génération par des cercles, les deux familles de cercles étant orthogonales. (a) (b) Figure 2.2 : Cercles de courbure d une CdD. (a) lignes de courbure obtenues avec θ constant. (b) lignes de courbure obtenues avec ψ constant.
34 12 Chapitre 2. Cyclides de Dupin Pour θ 0 fixé, les deux cercles de courbure, définis par θ 0 et θ 0 + π, se situent dans le plan d équation : a sin (θ 0 ) x b cos (θ 0 ) y = µc sin (θ 0 ) (2.4) La droite θ0, intersection des plans d équation ( x = cµ ) a et (y = 0), est commune à tous ces plans (lorsque l on fait varier θ 0 ), Figure 2.3. (a) (b) Figure 2.3 : Intersections communes des plans contenant les cercles de courbure avec θ constant. Pour ψ 0 fixé, les deux cercles de courbure, définis par ψ 0 et π ψ 0, se situent dans le plan d équation La droite ψ0, intersection des plans d équation ( x = aµ c (lorsque l on fait varier ψ 0 ), Figure 2.4. c sin (ψ 0 ) x bz = µa sin (ψ 0 ) (2.5) ) et (z = 0) est commune à tous ces plans Si la CdD est un tore alors c = 0 et ψ est rejetée à l infini. Sinon, les droites θ et ψ sont sécantes en Ω ( cµ a ; 0; 0) si et seulement si a = c et alors la CdD est l union de deux sphères. Parmi les cercles de courbure d une CdD, quatre cercles (coplanaires deux à deux) jouent un rôle particulier. Ces cercles, appelés cercles principaux, sont les cercles des deux plans de symétrie de la CdD. Nous verrons que la connaissance de deux cercles principaux coplanaires permet de déterminer les trois paramètres a, c et µ de la CdD Cercles principaux des CdD Un tore admet une infinité de plans de symétrie. Une CdD admet deux plans de symétrie orthogonaux entre eux, d équations respectives (y = 0) et (z = 0) dans le repère de la CdD et l intersection de la cyclide avec un de ces plans est l union de deux cercles, chaque cercle étant appelé cercle principal. Pour un tore, les deux cercles sont de même rayon tandis que pour une CdD, les deux cercles sont de rayons différents [46]. Les deux premiers (resp. seconds) cercles principaux sont caractérisés par l équation (2.1) (resp. l équation (2.2)) en imposant y = 0 (resp z = 0). La Figure 2.5 illustre les quatre cercles principaux d une CdD ainsi que les droites θ, ψ et 0, perpendiculaire commune à θ et ψ. Les cercles principaux dans le plan P y (resp. P z ) sont C θ 1 et Cθ 2 (resp. Cψ 1 et Cψ 2 ). j 0 est un vecteur directeur unitaire de ψ et k 0 est un vecteur directeur unitaire de θ.
35 2.4. Lignes de courbure et cercles principaux des CdD 13 (a) (b) Figure 2.4 : Intersections communes des plans contenant les cercles de courbure avec ψ constant. (a) (b) (c) Figure 2.5 : Cercles principaux d une CdD. (a) CdD en anneau. (b) CdD à croissant externe. (c) CdD à croissant interne Détermination des paramètres de la CdD à partir de deux cercles principaux La connaissance de deux des cercles principaux de la CdD permet de déterminer ses trois paramètres a, c et µ. Nous considérons que les paramètres a, c et µ sont positifs car il est toujours possible de se ramener à ce cas en effectuant un changement de variable(s) dans la nappe paramétrée Γ d et en utilisant une transformation affine. Ces paramètres peuvent donc être déterminés à partir de la coupe de la CdD par ses plans de symétrie P y : (y = 0) et P z : (z = 0). La section d une CdD par le plan P y d équation (y = 0) est une ligne de courbure de la cyclide obtenue avec θ = 0 (petit cercle) et θ = π (grand cercle), Figure 2.6. La Figure 2.7 montre des exemples de sections. Les paramètres de la CdD sont donnés par le théorème 1. Un calcul similaire peut être fait pour obtenir les paramètres de la cyclide avec une section par le plan P z d équation (z = 0). Théorème 1 : Détermination des paramètres d une CdD à partir de la coupe par le plan d équation (y = 0). Soit C 1 et C 2 les cercles principaux de la CdD dans le plan d équation (y = 0). Soit O 1 (resp. O 2 ) le centre du cercle C 1 (resp. C 2 ). Soit ρ 1 (resp. ρ 2 ) le rayon du cercle C 1 (resp. C 2 ) avec ρ 1 ρ 2. Le paramètre a est donné par : a = O 1 O 2 /2. Les deux autres paramètres sont solutions du système (ρ 1, ρ 2 ) = (µ + c, µ c ). Pour obtenir une CdD en anneau ou croissant interne nous devons avoir µ > c, et les solutions sont données par : (µ, c) = ((ρ 1 + ρ 2 )/2, (ρ 1 ρ 2 )/2). Pour obtenir une CdD
36 Chapitre 2. Cyclides de Dupin z µ+ c a a µ c O 1 O O 2 x C 1 C 2 (a) (b) Figure 2.6 : Coupe d une CdD par le plan de symétrie P y d équation (y = 0). (a) CdD en anneau ou à croissant externe. (b) CdD à croissant interne. à croissant externe, nous devons avoir µ < c, et les solutions sont données par : (c, µ) = ((ρ 1 + ρ 2 )/2, (ρ 1 ρ 2 )/2). (a) (b) (c) Figure 2.7 : Demis-CdD délimitées par le plan de symétrie P y d équation (y = 0). (a) CdD en anneau. (b) CdD à croissant externe. (c) CdD à croissant interne. 2.5 Conversion des CdD en carreaux de Bézier Les courbes tracées sur un carreau de Bézier rationnel biquadratique, obtenues avec une des variables u ou v constante sont des coniques. Les lignes de courbure des CdD sont des cercles et donc des coniques particulières. Il est donc possible de convertir des carreaux de CdD en carreaux de Bézier. Cette conversion permettra de faciliter l introduction des CdD dans les systèmes de modélisation géométrique qui sont basés sur les surfaces paramétriques (Bézier, Bspline, NURBS). Nous considérons que le carreau de CdD à convertir est délimité par les quatre lignes de courbure, γ θ0 : ψ Γ d (θ 0, ψ), γ θ1 : ψ Γ d (θ 1, ψ), γ ψ0 : θ Γ d (θ, ψ 0 ), γ ψ1 : θ Γ d (θ, ψ 1 ), Figure 2.8, ce calcul revient à trouver les neuf points de contrôle ( ) P i j et les neuf poids ( ) w 0 i, j 2 i j du carreau 0 i, j 2 de Bézier. Après une brève présentation des algorithmes de M. Pratt et K. Ueda [133, 181], je présenterai les deux algorithmes de conversion que nous avons développés et je terminerai la section par une comparaison Seuls les carreaux de Bézier rationnels biquadratiques sont considérés dans ce travail, pour alléger le texte, ils seront référencés par carreau de Bézier. Pareillement les courbes de Bézier rationnelles quadratiques seront référencées par courbes de Bézier.
37 2.5. Conversion des CdD en carreaux de Bézier 15 (a) (b) Figure 2.8 : Conversion d un morceau de CdD en un carreau de Bézier. (a) le carreau de CdD. (b) le carreau de Bézier correspondant. de ces quatres algorithmes. Je ne parlerai que de la conversion de carreaux de CdD en carreaux de Bézier. En effet, pour convertir un carreau de supercyclide en un carreau de Bézier, il suffit de convertir le carreau de CdD dont la supercyclide est issue et de calculer les images des points de contrôle du carreau de Bézier obtenu. L algorithme de conversion proposé par M. Pratt dans [133] permet de déterminer facilement le carreau de Bézier représentant une CdD. Les coordonnées des points de contrôle et les poids sont calculées à partir de l équation paramétrique d une CdD, équation (2.3), en fonction des paramètres de la CdD et des bornes délimitant la partie à convertir, Figure 2.8. Dans cet algorithme, les formules de calcul des points de contrôle du carreau de Bézier sont données en exploitant les relations trigonométriques liant les fonctions sinus et cosinus à la fonction tangente. Dans ces formules, π est une valeur interdite, aussi bien pour θ que pour ψ, ce qui veut dire que le carreau à convertir ne peut pas être limité par une ligne de courbure ayant un paramètre égal à π. Si nous avons θ 0 = 0 et θ 1 = 4 π 3, la discontinuité de la fonction x tan ( x 2) en π modulo 2π fait que les points de contrôle seront calculés comme si nous avions θ 0 = 2π 3 et θ 1 = 0, ce qui ne permet pas d obtenir le carreau désiré. Par exemple, cet algorithme ne peut, pas être utilisé pour la conversion de la CdD resultant d une jointure entre un cylindre de révolution et un plan ; il ne peut pas non plus convertir toute une CdD en quatre carreaux de Bézier. Nous avons amélioré cet algorithme afin de remédier a ce problème [62]. Dans [181], K. Ueda a montré un ensemble de quatre propriétés géométriques très utiles pour la conversion des CdD en carreaux de Bézier : (i) Les quatre coins du carreau de cyclide sont cocycliques. (ii) Les courbes coordonnées sont orthogonales entre elles à chaque sommet du carreau. (iii) Trois poids des sommets peuvent être égaux à 1 (et même les quatre si les quatre sommets forment un rectangle). (iv) Une formule de calcul pour le quatrième poids, qui ne dépend que de la position spatiale des quatre sommets. La deuxième propriété géométrique provient des lignes de courbure circulaires c est-à-dire : P 01 appartient au plan médiateur du segment [P 00, P 02 ], P 21 appartient au plan médiateur du segment [P 20, P 22 ], P 10 appartient au plan médiateur du segment [P 00, P 20 ] et P 12 appartient au plan médiateur du segment [P 22, P 02 ]. En effet, les courbes délimitant le carreau de Bézier sont des courbes de Bézier rationnelles quadratiques et donc le point de contrôle intermédiaire de chaque courbe doit appartenir
38 16 Chapitre 2. Cyclides de Dupin au plan médiateur des deux extrémités. Nous rappelons que ( ) AB AC AD = 0 traduit le fait que les quatre points A, B, C et D sont coplanaires. Nous nous servirons de l algorithme de K. Ueda afin de construire des carreaux de Bézier convertibles en carreaux de cyclides de Dupin. Nous ne pouvons pas finir cette partie sans citer le travail d Albrecht et Degen [2] qui consiste à construire un carreau de Bézier sur un cône de révolution, puis à prendre son image par une inversion afin d obtenir un carreau de Bézier sur une CdD symétrique à croissant externe puis à prendre une surface parallèle afin d obtenir une CdD du type souhaité Amélioration de l algorithme de Pratt La première étape de notre travail sur la conversion a consisté à étudier l algorithme de Pratt, ce qui a permis de révéler une insuffisance de cet algorithme au niveau des valeurs des paramètres délimitant le carreau de CdD à convertir. Pour remédier à cet inconvénient, nous avons proposé deux variantes pour cet algorithme : (i) Variante 1 : modifier légèrement la formule de calcul des poids en ne prenant que des valeurs positives (valeur absolue) [62]. (ii) Variante 2 : faire une "reparamétrisation-affine" en changeant le signe de c et/ou µ et en appliquant une transformation affine à la CdD résultante de ce changement de signe afin d obtenir le carreau de CdD initial [70, chapitre 4]. L apport de la nouvelle façon de calculer le poids sur le résultat de l algorithme de Pratt est illustré par la Figure 2.9. Dans la version initiale, Figure 2.9(b), le carreau de Bézier obtenu par conversion ne représente pas le carreau de CdD initial mais son complément. Cependant, La Figure 2.9(c) montre le bon carreau obtenu en ne considérant que des poids positifs. (a) (b) (c) Figure 2.9 : Conversion d un carreau de CdD en carreau de Bézier. (a) Carreau de CdD à convertir. (b) résultat de l algorithme de Pratt. (c) résultat avec poids positifs. (a) (b) (c) Figure 2.10 : Conversion d une CdD en plusieurs carreaux de Bézier avec tous les poids positifs. (a) la CdD à convertir. (b) conversion en seize carreaux de Bézier. (c) conversion en neuf carreaux de Bézier.
39 2.5. Conversion des CdD en carreaux de Bézier 17 Cette modification de poids a cependant fait apparaître une nouvelle contrainte : nous devons maintenant avoir θ 0 θ 1 < π et ψ 0 ψ 1 < π [70]. Cette contrainte implique que pour chaque variable θ et ψ, nous devons avoir au moins trois valeurs, donc le nombre minimum de carreaux de Bézier permettant de modéliser une CdD est neuf. En tenant compte de ces contraintes, nous obtenons plusieurs conversions possibles : la Figure 2.10 illustre la conversion d une CdD entière en seize et en neuf carreaux de Bézier. (a) (b) Figure 2.11 : Conversion d un carreau de CdD en un carreau de Bézier après une reparamétrisation-affine de la CdD, changement de c en c. (a) le carreau de CdD à convertir. (b) le carreau de Bézier obtenu et son polyèdre de contrôle. La Figure 2.11 illustre la conversion d un carreau de CdD où l un des bords est défini par la ligne de courbure θ 0 = π (les autres bord sont θ 1 = 3π 4, ψ 0 = 2π 3 et ψ 1 = π 4 ), le resultat est obtenu en appliquant l algorithme de Pratt sur la cyclide de Dupin après un reparamétrage affine Algorithme barycentrique Nous avons étudié les propriétés barycentriques des surfaces de Bézier rationnelles biquadratiques afin de trouver une meilleure façon de convertir les CdD en Bézier. Cette étude a donné lieu à un ensemble de propriétés, que nous avons développées dans [62] et dans [70, chapitre 4], et que nous avons utilisées dans l algorithme de conversion 1. La Figure 2.12 illustre deux conversions d un carreau d une CdD en carreau de Bézier quasi-standard. Les poids sont positifs le long des lignes de courbure et w 11 aussi. (a) (b) Figure 2.12 : Conversion d un carreau de CdD en carreau de Bézier quasi-standard en utilisant l algorithme 1. Les poids sont positifs le long des lignes de courbure. (a) le carreau de CdD à convertir. (b) le carreau de Bézier quasi-standard résultant de la conversion avec son polyèdre de contrôle. Nous disons qu une surface de Bézier rationnelle biquadratique S 0 est quasi-standard lorsque les poids des quatre coins sont égaux à 1 i.e. w 00 = w 02 = w 20 = w 22 = 1.
40 18 Chapitre 2. Cyclides de Dupin Algorithme 1 Modélisation d un carreau de CdD par un carreau de Bézier quasi-standard. Données : Une CdD et quatre nombres θ 0, θ 1, ψ 0 et ψ 1. Condition : θ 0 et θ 1 (ou ψ 0 et ψ 1 ) sont symétriques par rapport à 0 ou π. Début 1. La nappe paramétrée Γ de la CdD est donnée par la formule (2.3), les lignes de courbure sont choisies pour θ = θ 0, θ = θ 1, ψ = ψ 0 et ψ = ψ les sommets des carreaux sont P 00 = Γ (θ 0, ϕ 0 ), P 02 = Γ (θ 1, ϕ 0 ), P 20 = Γ (θ 0, ϕ 1 ), P 22 = Γ (θ 1, ϕ 1 ). 3. Déterminer le centre des quatre cercles de courbure en utilisant trois points sur chaque ligne de courbure (dont les deux sommets). 4. Déterminer les points de contrôle P 10, P 01, P 21 et P 12 dans les plans médiateurs respectifs et dans les plans des lignes de courbures correspondants à l aide des tangentes aux cercles. 5. Calculer les poids w 10 et w Calculer les poids w 01 et w Déterminer la première courbe coordonnée γ u qui est RQBC {(P 00 ; P 10 ; P 20 ), w 10 }. Déterminer la seconde courbe coordonnée γ v qui est RQBC {(P 00 ; P 01 ; P 02 ), w 01 }. 8. Trouver θ 2 solution de l équation γ u ( 1 2) = Γ (θ2, ϕ 0 ). Trouver ϕ 2 solution de l équation γ v ( 1 2) = Γ (θ0, ϕ 2 ). Trouver ϕ 3 solution de l équation γ v ( 1 4) = Γ (θ0, ϕ 3 ). 9. Soit G 0 l isobarycentre des points P 00, P 02, P 20, P 22. Soit G 2 le barycentre des points pondérés (P 10, w 10 ), (P 01, w 01 ), (P 12, w 12 ), (P 21, w 21 ). Soit G 1 le barycentre des points pondérés (G 0, 2), (G 2, w). Soit G 3 le barycentre des points pondérés (P 00, 9), (P 20, 9), (P 02, 1), (P 22, 1), (P 01, 6w 01 ), (P 21, 6w 21 ), (P 10, 18w 10 ), (P 12, 2w 12 ). Soit M = Γ (θ 2, ϕ 2 ). Déterminer P 11 intersection des droites (G 1 Γ (θ 2, ϕ 2 )) et (G 3 Γ (θ 2, ϕ 3 )). 10. Déterminer le poids w 11. Fin Sortie : Un carreau de Bézier quasi-standard de points de contrôle ( ) P i j et de poids ( w 0 i, j 2 i j )0 i, j 2 modélisant un carreau de CdD. N.B. : Dans cet algorithme et les algorithmes suivants, RQBC est une abréviation pour Courbes de Bézier Rationnelles Quadratiques.
41 2.5. Conversion des CdD en carreaux de Bézier 19 (a) (b) (c) Figure 2.13 : Conversion d un morceau de CdD en carreaux de Bézier en utilisant l algorithme 1. Les poids sont négatifs le long des lignes de courbure avec ψ constant et θ 1 = π. (a) et (b) deux vues de la CdD. (c) le carreau de Bézier obtenu et son polyèdre de contrôle. La Figure 2.13 illustre deux conversions d un carreau d une CdD en carreau de Bézier quasi-standard et nous avons θ 1 = π, qui était une valeur interdite pour les algorithmes de Pratt. De plus, les poids sont positifs le long des lignes de courbure obtenues avec θ constant, et négatifs le long des lignes de courbure obtenues avec ψ constant. Pour convertir toute une CdD, nous n avons besoin que de quatre carreaux de Bézier et la Figure 2.14 montre deux conversions de la CdD en carreaux de Bézier. Dans la Figure 2.14(b), les bornes des carreaux de la CdD sont θ 0 = π 6, θ 1 = π 6, ψ 0 = 5π 6 et ψ 1 = 7π 6. Dans la Figure 2.14(c), les bornes des carreaux de la CdD sont θ 0 = π 4, θ 1 = π 4, ψ 0 = π et ψ 1 = 2π 3 ). (a) (b) (c) Figure 2.14 : Conversion d une CdD en quatre carreaux de Bézier quasi-standard. (a) la CdD à convertir. (b) et (c) les quatre carreaux de Bézier quasi-standard résultants. Notre algorithme permet de convertir des carreaux de CdD en carreaux de Bézier avec une seule contrainte : une symétrie pour θ ou ψ par rapport à 0 ou π. Comme nous allons convertir des carreaux de CdD effectuant une jointure entre deux surfaces de révolution, cette contrainte n est absolument pas gênante. Mais nous sommes obligés d utiliser des poids négatifs. Nous avons donc proposé un nouvel algorithme de conversion, encore basé sur les propriétés des courbes et des carreaux de Bézier, mais en calculant les poids des sommets du carreau et le point P 11 à la manière de K. Ueda [181] Algorithme à base des propriétés de Ueda et des barycentres Comme pour les algorithmes précédents la détermination des points de contrôle du carreau de Bézier obtenu par conversion d un carreau de CdD ne pose pas de problème. La difficulté est dans le calcul des poids, et en particulier celui de w 11. Grâce au travail de K. Ueda [181], nous connaissons les poids w 00, w 02, w 20 et w 22. Les bords du carreau à convertir sont des cercles, nous pouvons donc déterminer
42 20 Chapitre 2. Cyclides de Dupin les poids w 01, w 10, w 21 et w 12 à partir des points de contrôle et des poids extrémaux. Nous avons donc introduit deux théorèmes permettant le calcul de w 11 [70, chapitre 4]. Algorithme 2 Conversion d un carreau de CdD en un carreau de Bézier. Données : Une CdD, dont l équation paramétrique Γ est définie par la formule (2.3), où les lignes de courbure sont : γ θ0 obtenue pour θ = θ 0, γ θ1 obtenue pour θ = θ 1, γ ψ0 obtenue pour ψ = ψ 0 et γ ψ1 obtenue pour ψ = ψ 1, avec θ 0 θ 1 < π et ψ 0 ψ 1 < π. Début 1. Déterminer les sommets du carreau de Bézier : P 00 = Γ (θ 0, ψ 0 ), P 20 = Γ (θ 1, ψ 0 ), P 22 = Γ (θ 1, ψ 1 ), P 02 = Γ (θ 0, ψ 1 ). 2. Déterminer les poids des sommets du carreau de Bézier : w 00 = w 02 = w 20 = 1 et w 22 = 1 pq. 3. Déterminer M 10 = Γ ( ) θ 0 +θ 1 2, ψ 0 γψ0, M 12 = Γ ( ) θ 0 +θ 1 2, ψ 1 γψ1, M 01 = Γ ( θ 0 ; ψ ) 0+ψ 1 2 γθ0 et M 21 = Γ ( θ 1 ; ψ ) 0+ψ 1 2 γθ1. 4. Déterminer chaque centre des cercles des lignes de courbure, O 10 pour γ ψ0, O 12 pour γ ψ1, O 01 pour γ θ0 et O 21 pour γ θ1. 5. Déterminer P 01 pour que γ v = RQBC {(P 00 ; P 01 ; P 02 )} γ θ0, P 21 pour que RQBC {(P 20 ; P 21 ; P 22 )} γ θ1, P 10 pour que γ u = RQBC {(P 00 ; P 10 ; P 20 )} γ ψ0 et P 12 pour que RQBC {(P 02 ; P 12 ; P 22 )} γ ψ2. 6. Calculer les poids w 01 et w 21 tels que les deux courbes vérifient : RQBC {(P 00 ; P 01 ; P 02 ), (w 00 ; w 01 ; w 02 )} γ θ0 et RQBC {(P 20 ; P 21 ; P 22 ), (w 20 ; w 21 ; w 22 )} γ θ1. 7. Calculer les poids w 10 et w 12 tels que les deux courbes vérifient : RQBC {(P 00 ; P 10 ; P 20 ), (w 00 ; w 10 ; w 20 )} γ ψ0 et RQBC {(P 02 ; P 12 ; P 22 ), (w 02 ; w 12 ; w 22 )} γ ψ1. 8. Trouver θ 2 solution de l équation γ u ( 1 2) = Γ (θ2, ϕ 0 ) et ϕ 2 solution de l équation γ v ( 1 2) = Γ (θ 0, ϕ 2 ). 9. Déterminer P 11 en utilisant la propriété (PG4) donnée par Ueda. 10. Calculer w 11 en utilisant les propriétés barycentriques des carreaux de Bézier. Fin Sortie : Un carreau de Bézier de points de contrôle ( ) P i j et de poids ( ) w 0 i, j 2 i j représentant 0 i, j 2 un carreau de CdD. La nouvelle méthode de conversion résultante de la combinaison des propriétés de K. Ueda et des théorèmes de calcul de poids est présentée dans l algorithme 2. Dans cet algorithme nous n avons aucune restriction sur les paramètres (pas de valeur interdite, pas de contrainte de symétrie) au niveau des bords des carreaux de CdD à convertir. La Figure 2.15 montre la conversion d un carreau de CdD à croissant interne et d un carreau de CdD à croissant externe en carreau de Bézier en utilisant cet algorithme. La Figure 2.16 montre la conversion d un carreau de CdD en un carreau de Bézier en utilisant l algorithme 2 avec deux lignes de courbure de la CdD obtenues avec une valeur de π où tous les poids du carreau de Bézier sont positifs. Les paramètres de la CdD sont a = 15, µ = 7, c = 2 et les lignes de courbure sont obtenues avec θ 0 = 3π 4, θ 1 = π, ψ 0 = π et ψ 1 = 3π 2.
43 2.6. Comparaison des algorithmes de conversion des CdD en Bézier 21 (a) (b) Figure 2.15 : Exemples de conversions de carreaux de CdD en Bézier. (a) carreau d une CdD à croissant interne. (b) carreau d une CdD à croissant externe. w 00 = 1 w 01 0, w 02 = 1 w 10 0, w 11 0, w 12 0, w 20 = 1 w 21 0, w 22 1, Figure 2.16 : Exemples de conversion d un carreau d une CdD en carreau de Bézier avec des poids positifs et deux lignes de courbure obtenues avec π. 2.6 Comparaison des algorithmes de conversion des CdD en Bézier Dans ce paragraphe, deux types de comparaisons sont effectués. Dans une première partie, nous comparons les différents algorithmes de conversion sur un carreau de CdD en anneau. Dans la seconde partie, nous testons ces différents algorithmes lors de la conversion de toute une CdD en anneau Conversion d un carreau de CdD en anneau Les paramètres de la CdD en anneau sont a = 7, µ = 5, c = 3 2 et les bornes de conversion sont θ 0 = π 12, θ 1 = 2π 3, ψ 0 = 3π 4 et ψ 1 = 5π 4. La Figure 2.17 montre la conversion d un carreau de CdD en anneau en un carreau de Bézier ainsi que son polyèdre de contrôle. L image de gauche présente la CdD en anneau et le carreau de Bézier obtenu. L image du centre (resp. de droite) montre, en plus du carreau de la CdD en anneau (en maillage), deux quarts du carreau de Bézier (i.e. (u, v) [ 0, 1 2] 2 [ 1 2, 1] 2 ) obtenu en utilisant un des algorithmes barycentriques (resp. basés sur celui de M. Pratt). Bien que les points de contrôle soient identiques, tableau 2.1, nous avons bien deux carreaux de Bézier distincts en fonction du choix de l algorithme : algorithme 1 ou algorithme 2 d une part et algorithme basé sur la méthode de Pratt (variante 1 ou variante 2) d autre part. Les différences entre les coor-
44 22 Chapitre 2. Cyclides de Dupin (a) (b) (c) Figure 2.17 : Exemples de conversion d un carreau d une CdD en anneau en un carreau de Bézier. (a) la CdD, le carreau de Bézier et son polyèdre de contrôle. (b) deux quarts du carreau de Bézier, obtenu par un des algorithmes reposant sur les propriétés barycentriques, et son polyèdre de contrôle. (c) deux quarts du carreau de Bézier, obtenu par un des algorithmes reposant sur la méthode de M. Pratt, et son polyèdre de contrôle. P 00 P 01 P 02 P 10 P 11 P 12 P 20 P 21 P 22 Algorithme 1 Algorithme 2 Algo. Pratt Algo. Pratt 9, , , , , , , , , , , , , , , 6, , , , , , , , , 4, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Variante 2 Variante 1 9, , , , , , , , , 9, , , , , , , , , 6, , , , , , , , , 4, , , , , , 9, , , , , , , , , 6, , , , , , , , , 4, , , Table 2.1 : Coordonnées des points de contrôle et des poids de la Figure données proviennent des calculs qui ont été arrondis : ceux-ci sont trop lourds pour laisser les valeurs exactes. En revanche, les valeurs des poids diffèrent énormément en fonction du type de l algorithme utilisé, tableau 2.2. Afin d avoir un élément de comparaison instantané, les valeurs de ces poids ont été modifiées lors de l utilisation des algorithmes basés sur le travail de M. Pratt en normalisant w 00. La constante de proportionnalité entre ces derniers poids (non normalisés) est d environ 5, Les algorithmes 1 et 2 présentent l avantage de conserver la symétrie du parcours des arcs de cercles (courbes coordonnées), lorsque cela est possible, et ne donnent pas plus de poids à un ou plusieurs sommet(s) du carreau contrairement aux algorithmes inspirés du travail de M. Pratt.
45 2.6. Comparaison des algorithmes de conversion des CdD en Bézier 23 Algorithme 1 Algorithme 2 Algo. Pratt Variante 1 Algo. Pratt Variante 2 normalisation brute normalisation brute w w w w w w w w w Table 2.2 : Poids des carreaux de Bézier de la Figure Les deux derniers poids ont été aussi normalisés par rapport à w 00 afin de faciliter les comparaisons. (a) (b) (c) Figure 2.18 : Exemples de conversion d une CdD en quatre carreaux de Bézier en utilisant l algorithme barycentrique. (a) la CdD. (b) 4 carreaux de Bézier obtenus avec θ 0 et θ 1 symétriques par rapport à 0. (c) 4 carreaux de Bézier obtenus avec ψ 0 et ψ 1 symétriques par rapport à π Conversion de toute une CdD Dans ce paragraphe, nous effectuons une comparaison des trois algorithmes présentés dans ce chapitre lorsqu ils sont utilisés pour convertir toute une CdD en carreaux de Bézier. La Figure 2.18 montre la CdD en anneau et deux modélisations de celle-ci par quatre carreaux de Bézier en utilisant l algorithme 1. Les paramètres de la CdD sont a = 9, µ = 5 et c = 2. Dans l image du centre (resp. de droite), les bords des carreaux de Bézier sont obtenus pour θ 0 = π 3, θ 1 = π 3, ψ 0 = 2π 3 et ψ 1 = π 6 (resp. θ 0 = π 6, θ 1 = π 2, ψ 0 = 2π 3 et ψ 1 = 4π 3 ). Nous pouvons modéliser toute la CdD en n utilisant que quatre carreaux avec une contrainte géométrique. De plus, certains poids sont forcément négatifs mais nous n avons besoin que de neuf points de contrôle et seize poids. La Figure 2.19 montre trois conversions de la CdD de la Figure 2.18 en carreaux de Bézier en partant de l algorithme de Pratt. Dans l image de gauche, lorsque nous combinons l algorithme de Pratt et sa deuxième variante (avec trois reparamétrisations-affines), nous pouvons convertir la CdD en quatre carreaux et les bords des carreaux de Bézier sont obtenus avec θ 0 = 3π 4, θ 1 = 7π 6, ψ 0 = 20π 21 et ψ 1 = 3π 2. Dans l image du centre, nous utilisons l algorithme de Pratt et sa première variante, les bords du carreau de Bézier obtenu avec l algorithme de Pratt correspondent aux valeurs θ 0 = 2π 3, θ 1 = 2π 3, ψ 0 = π 2 et ψ 1 = 14π 15. Les bords des carreaux de Bézier obtenus avec la variante 1 de l algorithme
46 24 Chapitre 2. Cyclides de Dupin (a) (b) (c) Figure 2.19 : Exemples de conversion d une CdD en carreaux de Bézier en utilisant l algorithme de Pratt et ses deux variantes. (a) 4 carreaux de Bézier, algorithme de Pratt et sa première variante. (b) 6 carreaux de Bézier, algorithme de Pratt et sa deuxième variante. (c) 9 carreaux de Bézier, variante 1 de l algorithme de Pratt. de Pratt correspondent aux valeurs θ 0 = 2π 3, θ 1 = 0, θ 2 = 2π 3, ψ 0 = π 2, ψ 1 = 0 et ψ 2 = 14π 15. Dans l image de droite, nous n utilisons que la variante 1 de l algorithme de Pratt et le nombre de carreaux est d au moins neuf. Les bords de ces neuf carreaux de Bézier correspondent aux valeurs θ 0 = 0, θ 1 = 3π 4, θ 2 = 7π 6, ψ 0 = π 2, ψ 1 = π 3 et ψ 2 = 7π 6. Dans tous les cas, certaines valeurs pour les bornes sont interdites. (a) (b) (c) Figure 2.20 : Exemples de conversion d une CdD en anneau en carreaux de Bézier en utilisant l algorithme à base de Ueda et de barycentres. (a) 4 carreaux de Bézier. (b) 9 carreaux de Bézier. (c) 16 carreaux de Bézier. La Figure 2.20 montre trois conversions de la CdD de la Figure 2.18 en carreaux de Bézier en partant de l algorithme à base de Ueda et de barycentres. Dans l image de gauche, nous combinons des poids négatifs et positifs afin de n utiliser que quatre carreaux et nous n avons besoin que de neuf points de contrôle et seize poids. Les bords des carreaux de Bézier sont obtenus avec θ 0 = 0, θ 1 = π 2, ψ 0 = π et ψ 1 = π 4. Dans l image du centre (resp. de droite), nous utilisons neuf carreaux de Bézier (res. seize carreaux de Bézier), les bords de ces neuf carreaux de Bézier correspondent aux valeurs θ 0 = π, θ 1 = π 3, θ 2 = π 4, ψ 0 = 0, ψ 1 = 3π 4 et ψ 2 = 4π 3 (resp. θ 0 = π, θ 1 = π 3, θ 2 = π 4, θ 3 = π 2, ψ 0 = 0, ψ 1 = π 3, ψ 2 = 7π 6 et ψ 2 = 3π 2 ). Le tableau 2.3 récapitule les ressemblances et différences entre ces algorithmes.
47 2.7. Conclusion 25 Valeur Contraintes Toute Nombre Algorithmes interdite sur les bornes la CdD de carreaux Pratt π Non Pratt Variante 2 0 Non 4 avec Pratt Pratt Variante 1 π θ 0 θ 1 < π Oui 9 ψ 0 ψ 1 < π 6 avec Pratt θ 0, θ 1 ou ψ 0, ψ 1 Barycentrique symétriques par Oui 4 rapport à 0 ou π Ueda-Barycentrique Oui 9 poids positifs Ueda-Barycentrique Oui 4 poids négatifs Table 2.3 : Ressemblances et différences entre les algorithmes de conversion de CdD en carreaux de Bézier. 2.7 Conclusion L étude des propriétés des cyclides de Dupin a montré, encore une fois, leur adéquation pour la modélisation géométrique. Les algorithmes proposés dans ce chapitre pour la conversion des carreaux de CdD, ou des CdD entières, en carreaux de Bézier sont un argument supplémentaire pour ajouter ces surfaces aux primitives de base de la CAO. Nous avons montré comment convertir, de trois façons différentes, une cyclide de Dupin en carreaux de Bézier rationnels biquadratiques. La première méthode est inspirée directement de l algorithme de Mike Pratt dont nous avons proposé deux variantes : modification du calcul des poids ; modification des signes de certains paramètres de la cyclide de Dupin, modification de la paramétrisation et utilisation d application(s) affine(s). La seconde méthode est tout à fait différente et s appuie sur les propriétés barycentriques des carreaux de Bézier, mais certaines contraintes sur les bords du carreau à convertir sont à respecter. La troisième méthode est une variante de l algorithme précédent et utilise des résultats de K. Ueda. Nous avons également comparé ces trois algorithmes lorsqu ils sont utilisés pour la conversion d un carreau de CdD ou de toute une CdD en carreaux de Bézier. Une conversion à sens unique ne constitue que la moitié du travail, et c est pour cela que nous avons également commencé à réfléchir à la conversion des carreaux de Bézier rationnels biquadratiques en CdD. En partant des propriétés géométriques des cercles de courbure d une cyclide de Dupin, nous avons donné les conditions nécessaires (mais non suffisantes) pour qu un carreau de Bézier rationnel biquadratique soit convertible en cyclide de Dupin (Cette partie de notre travail n est pas encore terminée, elle n est pas présenté dans ce document. De plus amples détails sur cette partie peuvent être trouvés dans la thèse de Lionel Garnier). Nous avons proposé un algorithme de conversion de carreaux de Bézier en tore ou en sphère double (qui sont des CdD particulières) et deux algorithmes de conversion en CdD non particulière. Nous pensons tout de même que la conversion des carreaux de Bézier vers les supercyclides donnera des résultats plus satisfaisants. Nous avons également étudié les propriétés des supercyclides, élaboré une formulation de leurs équations implicite et paramétrique, et défini une sous-classe particulière, dite supercyclides elliptique, que nous avons utilisée pour la jointure des surfaces de révolution à section elliptique.
48
49 Chapitre 3 Comparaison et analyse multirésolution de maillages Ce chapitre présente nos travaux sur les maillages triangulaires irréguliers. Après une brève introduction à la problématique et à la littérature, nous présentons dans la section 3.2 la méthode de comparaison de maillages que nous avons développées. La section 3.4 introduit l analyse multirésolution. La section 3.5 donne les deux schémas d analyse multirésolution que nous avons développés. 3.1 Introduction Les techniques d acquisition ou de conception des modèles 3D (modeleurs, scanners, capteurs, simulateurs, etc.) produisent généralement des ensembles de données très denses contenant à la fois des attributs géométriques et des attributs d apparence. Les attributs géométriques décrivent la forme et les dimensions de l objet et incluent les données relatives à l ensemble de points sur la surface de l objet représenté. Les attributs d apparence contiennent des informations décrivant l aspect extérieur de l objet tel que les couleurs, les textures, les motifs, etc. La taille d un modèle dépend généralement du nombre de sommets et du nombre de faces qui le composent. Il est important de pouvoir représenter ces maillages à un niveau de détail plus faible en supprimant des informations jugées non significatives afin de réduire la taille. Ces dernières années, beaucoup de méthodes de simplification ou de compression, visant à réduire la quantité d informations contenues dans les modèles 3D, ont été proposées. Cette réduction d informations engendre inévitablement une dégradation de la qualité de la représentation. Dans le cadre de la thèse de Michael Roy [143], nous nous sommes intéressés à la comparaison et à l étude multirésolution de maillages. Dans ce cadre, nous avons proposé une méthode pour mesurer la qualité de simplification d un maillage [147]. La mesure est effectuée par comparaison entre le maillage original et sa représentation simplifiée [149]. Nous nous sommes également intéressés à l analyse multirésolution de ces maillages et nous avons proposé deux schémas d analyse multirésolution qui permettent une gestion complète de tous les attributs représentant un modèle 3D [144, 148]. Ces schémas sont basés sur un opérateur de relaxation capable de traiter les attributs géométriques ainsi que les attributs d apparence. Nous avons utilisé ces schémas multirésolution dans 27
50 28 Chapitre 3. Analyse Multirésolution diverses applications, notamment pour la visualisation adaptative et le débruitage de modèles numériques [146, 145]. 3.2 Mesure de déviation et comparaison de maillages Algorithmes de simplification et mesures d erreurs La façon dont est mesurée l erreur pendant et après le processus de simplification peut avoir un impact considérable sur le résultat visuel et l utilité des modèles simplifiés. Pour certains algorithmes, la mesure d erreur peut impliquer des constructions géométriques complexes, et la minimisation de l erreur peut demander la résolution de problèmes algébriques non triviaux. Un très grand nombre de méthodes de simplification de maillages a été publié et différentes mesures d erreur accompagnent ces méthodes et permettent de contrôler le processus de simplification [28]. Luebke et Erikson [114] réalisent une simplification en utilisant une grille hiérarchique sous forme d un octree. L arbre de sommets permet une adaptation des niveaux de détail dynamique et dépendante du point de vue. Cet algorithme rend la méthode de groupement de sommets, [142], encore plus générale en permettant à une simple hiérarchie de réaliser une simplification drastique à travers un environnement complet. Ronfard et Rossignac [141] proposent de mesurer pour chaque contraction d arête potentielle la distance maximale entre le sommet simplifié et chacun de ses plans de support. Il utilisent un plan supplémentaire aux niveaux des bords pour garantir que la mesure ne soit pas supérieure à 3 fois l erreur maximale. La mesure d erreur, nommée quadrique d erreur, proposée par Garland et Heckbert [68] remplace le maximum des carrés des distances sommet-à-plan utilisé précédemment, par la somme des carrés des distances sommet-à-plan : E v = (p.v) 2 = (v T p)(p T v) = v T (pp T ) v = vt Q p v = v T Q v v (3.1) p p planes(v) p Lindstrom et Turk [107, 108] se basent sur la conservation du volume formé par la surface, ainsi la mesure d erreur est relative à ce volume. L algorithme des enveloppes de simplification [30] limite la déviation géométrique maximale entre la surface originale et la surface simplifiée en utilisant deux surfaces d enveloppe interne et externe englobant la surface originale. De nos jours, beaucoup de modèles 3D comprennent non seulement des coordonnées géométriques mais aussi d autres attributs. Les couleurs, normales et coordonnées de texture sont les attributs les plus communs. Différentes approches pour gérer les attributs d apparence sont possibles dans le domaine des quadriques d erreur. Garland et Heckbert [69] proposent l utilisation de quadriques de dimensions supérieures pour gérer et minimiser l erreur de modèles avec attributs. Par exemple, un modèle avec 3 coordonnées de sommet, 3 valeurs de couleur, 3 coordonnées de normale, et 2 coordonnées de texture utiliserait des quadriques opérant dans un espace à 11 dimensions. Ceci est une approche élégante qui étend directement les mécanismes des quadriques dans un espace géométrique aux attributs. Hoppe [88, 90] a proposé une approche différente basée sur les quadriques en séparant l erreur géométrique et l erreur d attribut. Vue la diversité des calculs et des mesures qui contrôlent le fonctionnement des méthodes de simplification, les résultats de l application de ces algorithmes sur un même modèle sont forcement différents p
51 3.2. Mesure de déviation et comparaison de maillages 29 et la ressemblance du modèle simplifié au modèle initial varie en fonction de l algorithme de simplification utilisé. Un outil de comparaison de maillages est alors utile pour caractériser les algorithmes de simplification. La section suivante présente la méthode de comparaison de maillages que nous avons développée. Cette méthode met en évidence les différences locales de la géométrie et des attributs entre deux maillages, et fournit une analyse quantitative de ces différences Comparaison de maillages Différentes méthodes de comparaison de formes ou de maillages ont été proposées [187, 186, 79]. La plus connue est la distance de Hausdorff qui renvoie une comparaison globale entre deux maillages (apparentée à une mesure de ressemblance). Cette méthode ne convient pas pour traiter notre cas car nous désirons déterminer les zones du maillage sensibles à la simplification ; nous devons donc nous baser sur une mesure locale de comparaison. Nous avons proposé une mesure de déviation locale des attributs entre deux maillages. Cette mesure est indépendante du point de vue et du type d attribut. Nous considérons que les attributs sont des vecteurs dans l espace euclidien définis à chaque point du maillage. Donc un point est représenté comme un vecteur composé de n vecteurs attributs (a 1,..., a n ) où a i représente un vecteur attribut. Nous définissons une application f i (p) = a i qui renvoie le vecteur attribut a i associé au point p. Dans cette configuration, la position géométrique est un attribut essentiel des sommets. Les autres attributs sont dits attributs d apparence car ils vont caractériser l aspect ou les composantes physiques du maillage. Parmi ces attributs d apparence, les plus connus sont les normales, les coordonnées de texture et la couleur diffuse. La comparaison de deux maillages que nous proposons repose donc sur la mesure de la différence entre les attributs de chaque maillage Mesure de déviation d attribut Soient une surface S et un point p R 3, la déviation d i (p, S ) de l attribut a i du point p à la surface S est définie par : d i (p, S ) = f i (p) f i (N S (p)) (3.2) avec N S (p) = p le point le plus proche de p sur la surface S et. représentant la norme euclidienne d un vecteur. La déviation d attribut d i (p, S ) est la distance entre l attribut a i du point p et l attribut a i de p sur la surface S. Plusieurs points sur la surface S peuvent être à la même distance du point p. Dans ce cas, la déviation d attribut est la distance minimale entre l attribut a i de p et les attributs a i des plus proches points de p sur S. Le schéma de la mesure de déviation d attribut est présenté en Figure 3.1. Cette mesure permet d évaluer les différences locales entre les attributs de deux maillages. Soient deux maillages M a et M b, leurs surfaces respectives S a et S b, et un ensemble P de points {p j p j S a et j = 1,..., m}, la déviation D i de l attribut a i entre M a P et M b est définie par : D i (M a P, M b ) = {d i (p j, S b ) j = 1,..., m} (3.3) La déviation d attribut entre deux maillages utilise la mesure de déviation donnée par l équation (3.2). Le maillage M a est appelé maillage de référence et il est restreint à un ensemble de points pris sur sa surface qui constituent les points de mesure de la déviation d attribut.
52 30 Chapitre 3. Analyse Multirésolution Figure 3.1 : Schéma de mesure de la déviation d i (p, S ) des attributs a i entre un point p et une surface S. Le point p représente le point le plus proche de p sur la surface S. La mesure de déviation d attribut met en évidence les différences locales entre deux maillages. Notons que cette mesure est guidée par la correspondance géométrique entre deux maillages (point sur une surface le plus proche d un point donné sur l autre surface). Notons aussi que la mesure de déviation d attribut entre deux maillages n est pas symétrique car elle est calculée à partir d un ensemble de points définis sur la surface du maillage de référence. Si les maillages sont intervertis, les résultats peuvent être différents. En pratique nous mesurons les déviations dans les deux sens c est-àdire D i (M a Pa, M b ) et D i (M b Pb, M a ). Les résultats sont souvent différents mais restent toutefois assez proches. Dans le cadre de la mesure de la qualité d un algorithme de simplification de maillages, la mesure de déviation géométrique est la mesure principale, car la simplification d un maillage est essentiellement géométrique. La mesure de la déviation des autres attributs peut être utilisée pour quantifier les modifications d aspect engendrées par la simplification. Après une simplification importante (90% ou plus de faces éliminées), il est normal de noter une importante déviation locale des attributs d apparence. Notons que l équation (3.3) nécessite deux maillages dont un discrétisé par un ensemble de points pris sur sa surface. Ainsi, nous avons la liberté de prendre des points uniquement dans les zones d intérêt. Généralement, les déviations sont mesurées sur l ensemble du maillage de référence. Les points de mesure peuvent donc être les sommets de ce maillage. Une discrétisation plus ou moins fine de la surface du maillage peut être envisagée dans le cas où une plus grande résolution est souhaitée, afin de connaître plus précisément la déviation à l intérieur des faces par exemple. 3.3 Applications Dans cette partie, nous détaillons la mise en œuvre de notre méthode de comparaison de maillage. Ensuite nous présentons des résultats sur la mesure de la qualité de certains algorithmes de simplification Mise en œuvre Comme il a été mentionné dans la partie précédente, notre méthode de comparaison de maillages est basée sur la mesure de déviation d attribut. Pour chaque point donné sur la première surface, nous
53 3.3. Applications 31 trouvons les plus proches voisins sur la seconde surface. Ensuite nous mesurons les déviations entre le point donné et ses plus proches voisins sur la seconde surface. Les performances de l algorithme général dépendent des sous-algorithmes impliqués dans les différentes opérations (recherche des plus proches voisins, discrétisation de faces, etc.). Pour un point donné, ses plus proches voisins sont déterminés efficacement par la distance point-àsurface. Une grille régulière formée de cellules carrées est construite, couvrant la boîte englobant les deux maillages [65, 66]. Chaque cellule contient une liste de tous les sommets inclus à l intérieur et de toutes les faces incluses ou coupant la cellule. Cette technique permet de trouver très rapidement les plus proches voisins d un point donné qui peuvent être des sommets ou des points situés sur une arête ou une face. Nous avons développé un algorithme rapide de discrétisation de faces triangulaires basé sur l algorithme de remplissage de surface (scan conversion) [55, 83]. La discrétisation de faces triangulaires est effectuée dans l espace 3D. Pour conserver une grande précision, nous n effectuons aucune projection 2D. Notre algorithme génère des points uniformément répartis sur une face, Figure 3.2. Figure 3.2 : Schéma de discrétisation d une face triangulaire dans l espace. Comme une face triangulaire est plane, c est un problème 2D. Soit une face f = (A, B, C), un repère local ( u, v) est défini par : AB AC u =. v = AB. (3.4) AC Le repère ( u, v) est défini dans le plan formé par la face f. Les longueurs de u et de v sont fonctions du pas d échantillonnage. Nous générons des lignes de balayage horizontales parallèles au vecteur u et verticales parallèles au vecteur v. Le nombre de lignes de balayage est donné par : n u = AB n v = AC Le nombre de points par ligne de balayage horizontale peut être calculé de façon incrémentale en utilisant la pente de l arête BC. Avec cette technique de discrétisation, les attributs de chaque échantillon sont déterminés de façon incrémentale avec l interpolation de Phong [55]. La technique de discrétisation génère des points uniformément répartis sur les faces. Pour avoir un aspect visuel des déviations mesurées en ces points, nous construisons des images de déviation pour chaque face. Les valeurs de déviation sont codées suivant une échelle de couleurs. Les images construites pour toutes les faces sont ensuite regroupées pour former une texture rectangulaire standard. Nous avons utilisé l algorithme de paquetage proposé par [27] pour construire cette texture. (3.5)
54 32 Chapitre 3. Analyse Multirésolution Nous avons développé un logiciel de comparaison de maillages, appelé MeshDev, disponible en licence GPL [168] sur le Web. Ce logiciel accepte deux maillages en entrée, et retourne des résultats numériques et visuels. Les résultats numériques contiennent les caractéristiques des maillages et les statistiques sur les valeurs de déviation mesurées. Le tableau 3.1 montre un exemple de résultats numériques pouvant être obtenus. La partie de gauche indique les caractéristiques relatives à cet exemple. La partie de droite représente les statistiques sur la déviation des normales mesurée entre les deux maillages. Maillage M a Maillage M b Sommets Faces Aire Déviation Minimum Maximum Moyenne Variance Table 3.1 : Exemple de résultats numériques fournis par le logiciel MeshDev. Les résultats visuels sont obtenus en coloriant le maillage de référence en fonction de la déviation mesurée. La Figure 3.3 représente l échelle de couleurs utilisée pour mettre en évidence les valeurs de déviation mesurées. Dans cette échelle, la couleur bleue représente les déviations minimales, la couleur verte les déviations moyennes et la couleur rouge les déviations maximales. Figure 3.3 : Échelle de couleurs pour la représentation des déviations mesurées Résultats La Figure 3.4 montre des résultats de la mesure des déviations géométriques et des coordonnées de texture. La Figure 3.4(a) représente le maillage initial (3 972 faces). La Figure 3.4(b) représente le maillage simplifié (69 faces) avec une faible déviation de texture. La Figure 3.4(c) représente le maillage simplifié (69 faces) avec de fortes déviations de texture dans certaines régions. La Figure 3.4(d) montre la déviation géométrique mesurée entre le maillage initial et les maillages simplifiés. Les Figures 3.4(e) et 3.4(g) montrent les résultats obtenus par la mesure de distance de Cohen. Dans le cas où la déviation de texture est faible, la mesure de Cohen donne les mêmes résultats visuels que la déviation géométrique. Toutefois, ces deux mesures ne peuvent pas être comparées numériquement. La déviation géométrique est basée sur la distance au point le plus proche, alors que la déviation de Cohen est basée sur la distance au point correspondant. Les Figures 3.4(f) et 3.4(h) montrent les résultats obtenus par notre mesure de déviation d attribut, où les attributs considérés sont les coordonnées de texture. Nous voyons que notre mesure de déviation géométrique n est pas sensible aux distortions de texture comme l est la distance de Cohen. De plus la mesure de déviation d attribut permet de mettre en évidence précisément ces distortions de texture. Pour notre expérimentation, nous avons utilisé trois logiciels de simplification de maillages :
55 3.3. Applications 33 (a) Maillage initial (b) Simplifié (faible dév.) (c) Simplifié (forte dév.) (d) Déviation géométrique (e) Déviation de Cohen en (b) (f) Déviation d attribut en (b) (g) Déviation de Cohen en (c) (h) Déviation d attribut en (c) Figure 3.4 : Comparaison entre la mesure de Cohen [29] en (e) et (g) et notre mesure de déviation d attribut en (f) et (h) (les attributs considérés sont les coordonnées de texture). QSlim : logiciel développé par Michael Garland basé sur une mesure d erreur quadratique [68, 69]. Jade : logiciel développé par Italian Visual Computing Group basé sur une mesure d erreur globale [26]. ProgMesh : logiciel développé par Paralelo basé sur les maillages progressifs de Hugues Hoppe [86]. La Figure 3.5 montre le modèle utilisé pour notre expérimentation (a), et les résultats des trois algorithmes de simplification testés (b)-(d). Le maillage original contient faces et les maillages simplifiés contiennent environ faces. Les Figures 3.6 et 3.7 montrent des résultats visuels de la mesure de déviation obtenus sur un maillage simplifié par les trois logiciels cités précédemment. Les Figures 3.8 à 3.11 montrent des courbes de comparaison des trois algorithmes précédents en termes quelques mesures de déviations. La Figure 3.6 montre les résultats des mesures de déviation géométrique. Sur la Figure 3.6(a), nous remarquons que QSlim génère des déviations faibles sur l ensemble du maillage mais nous constatons qu il y a quelques zones avec des déviations fortes. Sur la Figure 3.6(b), nous remarquons que Jade génère des déviations moyennes sur l ensemble du maillage. Cet algorithme simplifie en maîtrisant les bornes de l erreur globale engendrée. Sur la Figure 3.6(c), nous remarquons que ProgMesh génère des déviations faibles et moyennes sur l ensemble du maillage
56 34 Chapitre 3. Analyse Multirésolution (a) Maillage original (b) QSlim (c) Jade (d) ProgMesh Figure 3.5 : Simplification d un modèle (a) avec trois logiciels de simplification (b)-(d). Le maillage original contient faces et les maillages simplifiés contiennent environ faces. La Figure 3.7 montre les résultats des mesures de déviation des normales. Nous retrouvons les mêmes constatations que précédemment. Sur la Figure 3.7(a), QSlim génère des déviations faibles sur l ensemble du maillage et des déviations élevées dans les zones à fortes courbures. Sur la Figure 3.7(b), Jade génère des déviations moyennes sur l ensemble du maillage. Sur la Figure 3.7(c), ProgMesh ne génère que très peu de déviations fortes. Notez que la représentation visuelle utilisée précédemment est normalisée pour chaque modèle évalué. Ceci permet de bien mettre en évidence tout la plage des valeurs de déviation, mais ne permet pas la comparaison visuelle entre plusieurs modèles (car les couleurs représentent des valeurs de déviations différentes). Il est toutefois possible d utiliser une représentation visuelle normalisée pour un ensemble de modèles permettant une comparaison visuelle globale. Les résultats numériques permettent une comparaison différente mais plus précise entre différents modèles. La Figure 3.8 montre la déviation moyenne géométrique en fonction du nombre de faces pour les trois algorithmes de simplification. Le logiciel QSlim génère toujours une erreur géométrique moyenne plus faible que les deux autres logiciels testés. La Figure 3.9 montre la déviation moyenne des normales. Ces courbes confirment les remarques précédentes. Le logiciel QSlim obtient dans tous les cas la plus faible déviation moyenne. Ce logiciel gère parfaitement les attributs d apparence pendant le processus de simplification et génère de très faibles déviations. La Figure 3.10 montre les histogrammes de la déviation géométrique pour les trois algorithmes de simplification. Ce tracé met en évidence la supériorité des quadriques d erreur (QSlim) en générant une déviation faible et bien maîtrisée. Le logiciel Jade excelle dans sa faculté à conserver une limite d erreur globale. La Figure 3.11 montre les histogrammes de la déviation des normales. Les trois logiciels fournissent des résultats proches. Le logiciel QSlim génère là encore les déviations les plus faibles.
57 3.3. Applications 35 (a) QSlim (b) Jade (c) ProgMesh Figure 3.6 : Mesure de déviation géométrique pour trois algorithmes de simplification différents. (a) QSlim (b) Jade (c) ProgMesh Figure 3.7 : Mesure de déviation des normales pour trois algorithmes de simplification différents.
58 36 Chapitre 3. Analyse Multirésolution QSlim Jade ProgMesh Déviation moyenne géométrique Pourcentage de simplification Figure 3.8 : Comparaison de la déviation moyenne géométrique de trois algorithmes de simplification de maillages QSlim Jade ProgMesh Déviation moyenne des normales Pourcentage de simplification Figure 3.9 : Comparaison de la déviation moyenne des normales de trois algorithmes de simplification de maillages.
59 3.3. Applications QSlim Jade ProgMesh 200 Nombre de sommets Déviation géométrique Figure 3.10 : Histogramme de la déviation géométrique de trois algorithmes de simplification de maillages QSlim Jade ProgMesh 12 Nombre de sommets Déviation des normales Figure 3.11 : Histogramme de la déviation des normales de trois algorithmes de simplification de maillages.
60 38 Chapitre 3. Analyse Multirésolution 3.4 Représentation en niveaux de détails de modèles 3D Les outils d acquisition et de reconstruction de modèles 3D produisent des maillages ayant une haute résolution incluant une très grande quantité d informations, ce qui donne à ces maillages une taille très importante qui empêche une manipulation temps réel. Afin de faciliter cette manipulation, il est donc important de représenter ces maillages à des niveaux de détails plus faibles en supprimant des informations jugées non significatives. Une méthode de représentation en niveaux de détails doit aussi permettre une navigation facile et non coûteuse entre les différents niveaux : du modèle initial (niveau haute résolution) au niveau bas résolution et vice-versa. Elle se base donc sur deux opérateurs : (i) un opérateur de simplification pour supprimer des sommets et des faces d un maillage et (ii) un opérateur de subdivision pour ajouter des sommets et des faces à un maillage. Figure 3.12 : L opérateur de suppression de sommet. Plusieurs opérateurs de simplification ont été proposés dans la littérature. Il sont principalement basés sur deux types de stratégies : (i) Suppression de sommets qui consiste à supprimer un sommet puis à retrianguler le maillage pour fermer le trou resultant de la suppression [156], Figure (ii) Contraction d arête qui consiste à contracter une arête (v a, v b ) en un seul sommet v n. Ceci entraîne la suppression de l arête (v a, v b ) ainsi que les faces contiguës à cette arête, Figure Hoppe fût le premier à proposer l opérateur de contraction d arête pour la simplification de maillage [89]. Ce type d opérateur a largement été utilisé depuis sous plusieurs variantes [86, 192, 87, 5, 80]. Dans la simplification dépendantes du point de vue les parties non visibles de l objet sont considérablement simplifiées, voire même supprimées, pour accélérer le calcul du rendu. Un seul objet peut ainsi contenir plusieurs niveaux de détails [192, 87, 114]. Figure 3.13 : Une contraction d arête et sa séparation inverse de sommet.
61 3.5. Analyse multirésolution de maillages 39 Dans une représentation en niveaux de détails, la subdivision constitue le processus inverse de la simplification ; à partir d un modèle basse résolution et en suivant des règles de raffinement, la subdivision joute progressivement des détails à un modèle afin de créer un modèle haute résolution. Un schéma de subdivision est composé de deux étapes : (i) une étape de raffinement qui agit sur la topologie du maillage en insérant de nouveaux sommets et en mettant à jour les information de connectivité, et (ii) une étape de lissage qui agit uniquement sur la géométrie en déplaçant les sommets ; ce lissage peut être fait par interpolation (lissage interpolant) ou par approximation (lissage approximant). Le schémas de subdivision qui a reçu le plus d intérêt dans le domaine de l informatique graphique est celui de Loop [110] qui manipule des maillages triangulaires. Le schéma de subdivision "papillon" (butterfly subdivision) est un schéma interpolant : les sommets du maillage initial ne sont pas repositionnés durant la phase de lissage [47]. Les schémas de subdivision papillon et de Loop utilisent la règle de raffinement quaternaire (où chaque face est divisée en quatre sous-faces). Dans le schéma de subdivision proposé par Kobbelt [100], appelé 3-subdivision, les nouveaux sommets ne sont plus insérés sur les arêtes mais sur les faces. D autre méthodes adaptées aux maillages quadrangulaires ont été présentées mais ne sont pas traitées dans notre étude [23, 44]. Plus de détails sur les schémas de subdivision et les algorithmes de simplification peuvent être consultés dans [143]. 3.5 Analyse multirésolution de maillages Après une brève introduction à l analyse multirésolution, cette section présente les deux schémas d analyse multirésolution, adaptés aux maillages irréguliers avec attributs d apparence, que nous avons développés et appliqués pour obtenir une visualisation en niveaux de détails, et un filtrage adaptatif de modèles numériques. L analyse multirésolution représente un ensemble de données selon plusieurs niveaux de détail, et permet de procéder à une analyse spectrale de ces données [115, 116]. Les données en entrée sont décomposées en une séquence de : (i) approximations et (ii) coefficients de détails. Les approximations représentent les données initiales avec différents niveaux de résolution. Les coefficients de détails représentent la perte d informations dûe aux approximations. L analyse multirésolution est fondée sur la théorie des ondelettes et a été largement utilisée en informatique graphique dans les dernières années, [170] est une bonne introduction. Lounsbery [111, 112] fut le premier à faire le lien entre la transformée en ondelette et les surfaces de subdivision. Il a proposé une technique permettant de construire une représentation multirésolution pour les maillages semi-réguliers. La méthode de Schröder et Sweldens [155] s appuie sur la méthode du lifting scheme [176] et sur les travaux de Lounsbery [111] pour déterminer des bases d ondelettes sphériques [31]. Chaque point est dans un premier temps repositionné sur une sphère géodésique. Un voisinage à plusieurs niveaux est introduit permettant la construction de bases d ondelettes. Bonneau [20] présente une méthode pour appliquer les ondelettes à des maillages irréguliers. Il définit deux opérateurs : un opérateur de lissage pour calculer le maillage à un niveau de résolution plus bas et un opérateur d erreur qui détermine la différence entre le maillage d approximation et celui de départ. Bonneau généralise ainsi les fonctions de Haar pour l analyse multirésolution de maillages irréguliers. Cette analyse a l avantage de gérer les attributs d apparence, mais elle reste limitée aux maillages planaires ou sphériques [75]. Daubechies [34] et Guskov [81] s appuient sur la généralisation des schémas de subdivision pour proposer la construction des ondelettes de seconde génération sur les maillages irréguliers. Les algorithmes de subdivision sont rapides et créent naturellement des
62 40 Chapitre 3. Analyse Multirésolution structures multirésolutions qui peuvent permettre le développement de fonctions d échelle et d ondelette. Les auteurs proposent un schéma de subdivision non-uniforme construit à partir d un opérateur de relaxation non-uniforme et d un procédé de sous et sur échantillonnage déterminé à partir de l algorithme des maillages progressifs [86]. Valette [184] reprend le schéma d analyse de Lounsbery et propose d assouplir la règle de subdivision quaternaire, ainsi chaque face peut être subdivisée en 4, 3, 2 ou 1 sous-faces. Cette méthode applique l analyse multirésolution de Lounsbery directement sur les maillages irréguliers, évitant ainsi les étapes de r lage. Le constat que nous avons établi [143, chapitre 4] à propos de l analyse multirésolution des maillages 3D à l aide de la transformée en ondelette est que cette analyse ne permet pas de retrouver toutes les propriétés connues de cette transformée appliquée aux images 2D. La principale différence provient de l échantillonnage irrégulier des points du maillage dans l espace. Les méthodes mises en œuvre pour transformer un maillage irrégulier en maillage semi-régulier et régulier introduisent des erreurs dans les échelles de haute résolution [48]. D autre part, les filtres développés sont très contraignants : ils sont calculés pour une subdivision quaternaire. L analyse ne porte alors que sur la géométrie. Les ondelettes sphériques peuvent s appliquer à toute fonction définie sur une sphère. Les méthodes qui définissent un schéma d analyse directement sur un maillage irrégulier s appuient sur des représentations hiérarchiques pour définir la règle de sous-échantillonnage et de sur-échantillonnage. L analyse de Bonneau généralise les ondelettes de Haar sur les maillages définis dans un domaine planaire ou sphérique. La transformée de Guskov s appuie sur un schéma de subdivision par relaxation de surface permettant des applications comme le filtrage de surface. Le schéma de Guskov est basé sur la décomposition des maillages progressifs, ainsi cette méthode ne fait pas apparaître clairement de niveaux de résolution caractéristiques, liés par exemple à une notion d échelle globale. La transformée de Valette requiert un processus de simplification complexe limité par des règles de subdivision. Seules les méthodes travaillant dans le domaine sphérique (Schröder et Bonneau) supportent les attributs d apparence Schémas d analyse multirésolution proposés Nous avons proposé deux schémas d analyse multirésolution de maillages irréguliers avec attributs d apparences : (i) Le premier schéma réalise une analyse multirésolution interpolante. Les processus de décomposition et de reconstruction de ce schéma sont présentés en Figure Ce schéma réalise une transformée en ondelette basée sur le lifting scheme. (ii) Le second schéma proposé permet de réaliser une analyse multirésolution approximante. Le processus de décomposition et de reconstruction de ce schéma est présenté en Figure Ce schéma crée une représentation sur-complète engendrant des coefficients de détail supplémentaires et permettant plus d applications que le schéma interpolant (comme le filtrage ou la modélisation multi-échelle). Figure 3.14 : Schéma d analyse multirésolution interpolante de maillages irréguliers.
63 3.5. Analyse multirésolution de maillages 41 Figure 3.15 : Schéma d analyse multirésolution approximante de maillages irréguliers. Dans ces deux schémas, la décomposition en niveaux de résolution est effectuée par une méthode de sous-échantillonnage global basée sur les maillages progressifs et l algorithme de simplification indépendant introduit par De Floriani [54] et Xia [191]. L opération inverse (la reconstruction) est effectuée par une méthode de sur-échantillonnage global basée sur une insertion de sommets suivie d une relaxation qui modifie les positions des sommets insérés. Le sous-échantillonnage global est le premier ingrédient de notre schéma d analyse multirésolution de maillage irrégulier. Nous utilisons l algorithme indépendant (voir section 3.4) et l opération de contraction de demi-arête pour créer un maillage sous-échantillonné en supprimant un ensemble indépendant de sommets (i.e. des sommets qui ne sont pas connectés par une arête). Cette technique a été proposée par Kobbelt [101] pour obtenir des performances optimales avec son algorithme de lissage multi-échelle. Le sous-échantillonnage global conduit à sélectionner un ensemble indépendant de sommets, appelés sommets impairs, qui sont supprimés par des opérations de contraction de demi-arête. Les sommets restants sont appelés sommets pairs. L opération inverse (i.e. le sur-échantillonnage global) requise pour la reconstruction multirésolution ré-insère les sommets précédemment supprimés pour créer un maillage topologiquement identique au maillage initial. La méthode initiale des maillages progressifs reconstruit toujours le maillage original. Afin de créer une approximation lisse du maillage original, nous séparons chaque étape du raffinement des maillages progressifs en une opération topologique (insertion du sommet) et une opération géométrique (positionnement du sommet). Dans notre approche de sur-échantillonnage global, seule l opération topologique est utilisée. L opération géométrique, permettant de créer une approximation lisse du maillage original, est réalisée par une opération de relaxation. La relaxation de surface a été largement appliquée au lissage de surfaces, elle s appuie sur un processus de diffusion [178, 99, 40]. Dans notre approche multirésolution, nous utilisons la relaxation pour prédire la position des sommets supprimés d un niveau de résolution au suivant. Plus précisément, nous cherchons à ce que la position des sommets prédits soit la plus proche de la position des sommets du maillage initial. Nous avons utilisé l opérateur de relaxation de géométrie, appelé relaxation de courbure, proposé dans [154] et nous l avons étendu pour la relaxation des autre attributs [143, chapitre 4].
64 42 Chapitre 3. Analyse Multirésolution Analyse multirésolution interpolante Nous avons maintenant les outils nécessaires pour construire un schéma d analyse multirésolution : le sous/sur-échantillonnage global crée les niveaux de détail, et l opération de relaxation prédit les sommets et calcule les coefficients de détail entre deux niveaux successifs. Les méthodes d analyse multirésolution classique (e.g. transformée en ondelette) ne peuvent être appliquées sur les maillages que sous certaines conditions (e.g. surface de subdivision, surface dans le domaine sphérique ou planaire). Pour le moment, l application de la transformée en ondelettes aux maillages irréguliers semble encore difficile [34]. Sweldens [177] a proposé le lifting scheme permettant l application de l analyse multirésolution aux données irrégulièrement échantillonnées. En nous basant sur les travaux de Sweldens, nous proposons une méthode d analyse multirésolution adaptée aux maillages irréguliers contenant des attributs. Cette méthode permet de décomposer un maillage en une série de niveaux de détail, et de calculer les coefficients de détail pour les attributs. Le processus de décomposition et de reconstruction sont présentés ci-après, les opérations nécessaires à la réalisation de ces deux processus ne seront cependant pas détaillées. Processus de décomposition : Lors de la décomposition d un niveau de détail d un maillage, on prend en entrée un maillage fin M l et on obtient en sortie un maillage d approximation M l+1 et un ensemble de coefficients de détail D l+1. Le schéma de décomposition multirésolution de maillages est présenté en Figure Figure 3.16 : Schéma de décomposition de l analyse multirésolution interpolante de maillages irréguliers avec attributs. La décomposition est effectuée en quatre étapes : 1. Sélection des sommets pairs et impairs (opérateur S ) 2. Relaxation des attributs des sommets impairs (opérateur R) 3. Calcul des coefficients de détail des attributs des sommets impairs (opérateur ) 4. Suppression des sommets impairs (opérateur ) En partant d un maillage fin M l, deux groupes de sommets (pairs et impairs) sont définis par l opérateur de séparation S. Les sommets impairs I l+1 sont désignés pour être supprimés, et les sommets pairs P l+1 restent pour créer le maillage grossier M +1 qui approche le maillage fin M l. Les vecteurs attributs des sommets impairs sont prédits par l opérateur de relaxation R, et sont soustraits aux vecteurs attributs des sommets impairs originaux pour obtenir les coefficients de détail D l+1. La dernière étape est la suppression des sommets impairs du maillage original en utilisant l opérateur de souséchantillonnage pour créer le maillage d approximation M l+1.
65 3.5. Analyse multirésolution de maillages 43 Processus de reconstruction : Lors de la reconstruction d un niveau de détail d un maillage, on prend en entrée un maillage d approximation M l+1 et un ensemble de coefficient de détail D l+1, et on obtient en sortie un maillage fin M l exactement reconstruit. Le schéma de reconstruction multirésolution de maillages est présenté en Figure Figure 3.17 : Schéma de reconstruction de l analyse multirésolution interpolante de maillages irréguliers avec attributs. La reconstruction est effectuée en quatre étapes : 1. Insertion topologique des sommets impairs (opérateur ) 2. Relaxation des attributs des sommets impairs (opérateur R) 3. Reconstruction des attributs des sommets impairs (opérateur +) 4. Fusion des attributs reconstruits avec le maillage sur-échantillonné (opérateur F) Le schéma de reconstruction est simplement le schéma inverse de la décomposition. En partant d un maillage grossier M l+1, les sommets impairs sont ré-insérés grâce à l opérateur de sur-échantillonnage. Les sommets impairs sont prédits en utilisant l opérateur de relaxation R, et exactement reconstruits en ajoutant les coefficients de détail D l+1. La dernière étape est la fusion des sommets impairs reconstruits et du maillage sur-échantillonné qui est effectuée en utilisant l opérateur de fusion F Analyse multirésolution approximante Nous désirons maintenant étendre le schéma précédent à un schéma approximant. Guskov et al. ont proposé un schéma approximant basé sur la pyramide de Burt-Adelson [81, 22]. Cet algorithme a l avantage de permettre des applications de filtrage et de modélisation multi-échelle. L inconvénient du schéma de Guskov est qu il ne définit pas de niveaux de résolution distincts mais une suite continue de niveaux de détail (comme les maillages progressifs). De plus, Guskov utilise un opérateur de relaxation nécessitant un support étendu et une paramétrisation locale. Ainsi, en nous basant sur les travaux de Guskov et notre schéma interpolant d analyse, nous proposons un nouveau schéma approximant d analyse multirésolution de maillages. Processus de décomposition Le schéma de décomposition est illustré en Figure 3.18, et peut être décomposé en trois étapes : 1. Relaxation des attributs de surface (opérateur R) 2. Calcul des coefficients de détail (opérateur )
66 44 Chapitre 3. Analyse Multirésolution Figure 3.18 : Schéma de décomposition de l analyse multirésolution approximante de maillages irréguliers avec attributs. 3. Sous-échantillonnage du maillage (opérateur ) La première étape de la décomposition est le calcul des attributs relaxés pour tous les sommets du maillage. Ensuite, les coefficients de détail D l+1 sont calculés comme la différence entre les attributs des sommets du maillage original M l et les attributs du maillage relaxé M l. Finalement, le maillage est sous-échantillonné pour créer le maillage grossier M l+1. On définit deux groupes de sommets : les sommets impairs I l+1 qui sont supprimés pour créer le maillage, et les sommets pairs P l+1 qui restent pour créer le maillage grossier M l+1. Notons que les sommets pairs sont inchangés durant une étape de décomposition, et le maillage grossier est une version sous-échantillonnée du maillage fin V l+1 V l. Un maillage est représenté comme un couple M = (V, K) où V est un ensemble de sommets représentant la géométrie et les attributs d apparence du maillage, et où K est un complexe simplicial représentant la topologie du maillage. Durant la première étape de relaxation des attributs de surface, tous les attributs a l i,k de tous les sommets vl i du maillage Ml = (V, K) sont relaxés par l opérateur de relaxation R pour former un nouveau maillage relaxé M l = (Ṽ, K) : ã l i,k = R(al i,k ). (3.6) Le nouveau maillage relaxé M l est composé des attributs relaxés ã l i,k des nouveaux sommets ṽl i Ṽl. Les coefficients λ l i, j calculés pendant la relaxation doivent être conservés pour être ré-utilisés durant le processus de reconstruction. Les coefficients de détail D l+1 = {d l+1 i } sont calculés comme la différence entre les attributs du maillage original et les attributs du maillage relaxé : d l+1 i,k = al i,k ãl i,k. (3.7) Nous calculons donc un vecteur de détail d l+1 i,k pour chaque vecteur attribut al i,k de chaque sommet vl i. Ceci permet donc une analyse complète de tous les attributs du maillage, et aussi une reconstruction exacte du maillage et de ses attributs. La dernière étape de la décomposition est le sous-échantillonnage du maillage. Les sommets impairs sont supprimés en utilisant des opérations de contraction de demi-arête. Les sommets restants composent le maillage grossier en sortie du schéma de décomposition. Il est important d étiqueter les sommets et d enregistrer les opérations des contractions effectuées et les étiquettes qui pourront être ré-utilisés durant le processus de reconstruction. Nous verrons que le processus de reconstruction proposé requiert d appliquer l opérateur de relaxation en premier sur les sommets impairs et ensuite sur les sommets pairs dans le but d assurer une représentation lisse de la surface.
67 3.5. Analyse multirésolution de maillages 45 Processus de reconstruction Le schéma de reconstruction est illustré en Figure 3.19, et peut être décomposé en cinq étapes : 1. Sur-échantillonnage du maillage (opérateur ) 2. Relaxation des attributs des sommets impairs (opérateur R i ) 3. Reconstruction des attributs des sommets impairs (premier opérateur +) 4. Relaxation des attributs des sommets pairs (opérateur R p ) 5. Reconstruction des attributs des sommets pairs (second opérateur +) Figure 3.19 : Schéma de reconstruction de l analyse multirésolution approximante de maillages irréguliers avec attributs. A partir d un maillage grossier M l+1 et d un ensemble de coefficients de détail D l+1, les sommets impairs sont ré-insérés topologiquement en utilisant l opérateur de sur-échantillonnage (une série d opérations de séparation de sommet). Les attributs des sommets impairs sont prédits en utilisant l opérateur de relaxation R i, et sont ensuite exactement reconstruits en ajoutant les coefficients de détail correspondants D l+1 pour créer un maillage intermédiaire M = ( M l, K l ) : â l i,k = R(al i,k ) + dl 1 i,k (3.8) Notons que dans cette phase la relaxation n est effectuée que pour les sommets impairs. Notons aussi que le maillage intermédiaire M l a la même topologie K l que le maillage fin M l. Puis, dans une dernière étape, les sommets pairs du maillage intermédiaire M l sont relaxés et exactement reconstruits en ajoutant les coefficients de détail correspondants : a l i,n = R(âl i,n ) + dl 1 i,n (3.9) La relaxation des sommets pairs après la reconstruction des sommets impairs est essentielle pour obtenir une représentation lisse de la surface. Ce schéma conduit à une analyse multirésolution approximante du maillage [81, 34]. Il est toutefois possible de créer un schéma interpolant en omettant l étape de reconstruction des sommets pairs Quelques résultats expérimentaux La Figure 3.20 montre les effets de la reconstruction approximante d un plan irrégulier, Figure 3.20(a). Les résultats ont été obtenus en décomposant le maillage vers un niveau basse résolution puis en
68 46 Chapitre 3. Analyse Multirésolution mettant un sommet à 1, Figure 3.20(b). Le maillage est reconstruit en mettant tous les coefficients de détail à 0, Figure 3.20(d). En comparant ce résultat avec celui du schéma interpolant, Figure 3.20(c), nous voyons que le schéma approximant produit une surface lisse permettant des applications de filtrage. Le schéma approximant nécessite donc de calculer des coefficients de détail pour tous les sommets du maillage à chaque échelle, ce qui conduit à une analyse sur-complète [81]. (a) (b) (c) (d) Figure 3.20 : Reconstruction approximante. En partant d un plan irrégulier (a), le maillage est décomposé jusqu à un maillage de base, et un sommet est mis à 1 (b). Ensuite les coefficients de détail sont mis à 0, le maillage est reconstruit en utilisant le schéma interpolant (c) et en utilisant le schéma approximant (d). Nos méthodes d analyse multirésolution de maillages génèrent des niveaux de résolution distincts. La ligne du haut de la Figure 3.21 montre un objet numérisé et différents niveaux de détail engendrés par nos schémas d analyse multirésolution. Nos schémas d analyse multirésolution sont basés sur les opérations de contraction d arête et de séparation de sommet ; nous disposons ainsi de tous les avantages des maillages progressifs (voir section 3.4). Il est donc facile de passer d un niveau de résolution à un autre en appliquant une série de contractions d arête ou de séparations de sommet préablement définies durant le processus de décomposition. La ligne du bas de la Figure 3.21 montre une représentation en pseudo-couleurs de la longueur des vecteurs de détail de l analyse géométrique du modèle "Waterneck". Nous remarquons que les vecteurs de détail sont plus grands dans les zones de fortes courbures. Dans ces zones l opérateur de relaxation n arrive pas à prédire la surface, ce qui indique une zone où les caractéristiques de la surface sont importantes. Nous remarquons aussi que les détails dans les niveaux les plus fins dépendent de la forme des faces du maillage. Ce "bruit" topologique disparaît ensuite dans les niveaux plus grossiers. La Figure 3.22 montre l analyse multirésolution du modèle "Terre". La rangée du haut montre différents niveaux de résolution du modèle, et la rangée du bas montre une représentation en pseudocouleurs de la longueur des vecteurs de détail pour l analyse des attributs de couleur. Ce modèle est une sphère avec des attributs de couleur représentant l élévation de la surface de la Terre à partir
69 3.5. Analyse multirésolution de maillages 47 (a) Niveau 0 ( faces) (b) Niveau 5 ( faces) (c) Niveau 10 (3.714 faces) (d) Niveau 15 (746 faces) (e) Niveau 20 (150 faces) (f) Niveau 0 (g) Niveau 5 (h) Niveau 10 (i) Niveau 15 (j) Niveau 20 Figure 3.21 : Analyse multirésolution géométrique d un modèle 3D. La rangée du haut montre les différents niveaux de détail. La représentation en fil de fer du maillage est montrée en rouge sur la partie gauche de chaque modèle. La rangée du bas représente en pseudo-couleurs les coefficients de détail associés à chaque échelle. des données ETOPO5. Nous remarquons que les vecteurs de détail de l analyse de couleur sont plus grands dans les zones de transition ou de forte variation de la couleur. L analyse multirésolution des attributs de couleur met en évidence les caractéristiques de ces attributs (e.g. les bords de côte). La Figure 3.23 montre l analyse des attributs du modèle "Swirl", Figure 3.23(a). Les résultats pseudocolorés de l analyse géométrique, Figure 3.23(b), des normales, Figure 3.23(c), et des couleurs, Figure 3.23(d), sont montrés. Sur ces figures, les couleurs représentent la longueur des vecteurs de détail du premier niveau de résolution (bleu correspond à la longueur minimale, vert à la longueur moyenne, et rouge à la longueur maximale). Les vecteurs détail de couleur sont nuls dans les zones homogènes de couleur. L analyse des couleurs met en évidence les caractéristiques importantes des couleurs du maillage. De même, l analyse géométrique montre les caractéristiques de la géométrie du maillage. Notons que les longueurs des vecteurs de détail géométrique ont une répartition en forme de losange car l analyse géométrique dépend de la topologie du maillage (i.e. dépendante de la forme des faces triangulaires). Ainsi cette analyse révèle aussi les caractéristiques de la topologie du maillage analysé. L analyse des normales montrent que les longueurs des vecteurs détails varient en fonction de la courbure de la surface, et que cet analyse n est pas dépendante de la topologie.
70 48 Chapitre 3. Analyse Multirésolution (a) Niveau 0 (b) Niveau 5 (c) Niveau 10 (d) Niveau 15 (e) Niveau 0 (f) Niveau 5 (g) Niveau 10 (h) Niveau 15 Figure 3.22 : Analyse multirésolution des attributs de couleur du modèle "Terre". La rangée du haut montre différents niveaux de résolution du modèle, et la rangée du bas montre une représentation en pseudo-couleurs de la longueur des vecteurs de détail pour l analyse des attributs de couleur. Ce modèle est une sphère avec des attributs de couleur représentant l élévation de la surface de la Terre à partir des données ETOPO5. L analyse multirésolution des attributs de couleur met en évidence leurs caractéristiques. (a) (b) (c) (d) Figure 3.23 : Analyse multirésolution du modèle "Swirl" (a). L analyse de la géométrie (b) et des normales (c) donnent des informations sur la géométrie de la surface. L analyse de la couleur (d) met en évidence les transitions des couleurs sur la surface. La Figure 3.24 montre les histogrammes des coefficients de détail géométrique (norme des vecteurs de détail) pour les quatre premiers niveaux de résolution et pour différents modèles. La distribution des coefficients de détail géométrique a un pic à zéro avec une longue queue. Le pic à zéro est produit par les régions lisses des modèles, tandis que la queue est créée par les arêtes vives. Il est possible de donner un signe arbitraire aux coefficients de détails, par exemple en prenant le signe du produit scalaire entre le vecteur de détail géométrique et la normale à un sommet donné (i.e. signe positif pour une région concave et signe négatif pour une région convexe). Il est alors possible de modéliser la distribution des coefficients de détail géométrique comme un mélange de fonctions gaussiennes (Gaussian
71 3.6. Applications de l analyse multirésolution 49 Scale Mixture) [131]. La distribution des coefficients de détail des autres attributs est beaucoup plus variable et dépend du type d attribut et surtout du modèle Level 0 Isis Venus Santa Horse Bunny Level 1 Isis Venus Santa Horse Bunny Nombre de sommets Nombre de sommets Longueur du vecteur de détail géométrique Longueur du vecteur de détail géométrique (a) Niveau 0 (b) Niveau 1 Nombre de sommets Level 2 Isis Venus Santa Horse Bunny Nombre de sommets Level 3 Isis Venus Santa Horse Bunny Longueur du vecteur de détail géométrique (c) Niveau Longueur du vecteur de détail géométrique (d) Niveau 3 Figure 3.24 : Histogrammes des longueurs des vecteurs de détail géométrique pour les quatre premiers niveaux de résolution et pour différents modèles. 3.6 Applications de l analyse multirésolution Nous avons utilisé les schémas d analyse multirésolution pour : (i) La segmentation des vecteurs de détail des modèles et la détection du bruit impulsionnel généré par un de nos scanners 3D. (ii) La construction et simplification adaptative de modèles. (iii) La visualisation adaptative dépendant du point de vue. (iv) Le filtrage de surface et le débruitage de la géométrie et des attributs de surfaces. Dans cette section nous présentons quelques exemples d applications de ces schémas sur des modèles créés avec des scanners 3D à partir d objets ou de scènes réels.
72 50 Chapitre 3. Analyse Multirésolution Segmentation La segmentation des vecteurs de détail obtenus par l analyse multirésolution permet la localisation de zones d intérêt du maillage. Dans un grand nombre de cas, on peut admettre que les zones d intérêt correspondent à de fortes variations pour les détails dans les niveaux où la résolution est fine et à des transitions plus grossières lorsque le niveau d échelle diminue [180]. La segmentation des vecteurs de détail peut mettre en évidence les régions du maillage où les discontinuités de la géométrie ou des attributs du maillage sont assez élevées. La Figure 3.25 montre la segmentation de la longueur des vecteurs de détail géométrique du modèle "Fandisk" à l échelle la plus fine. Les sommets ayant un vecteur de détail géométrique avec une longueur supérieure à un seuil τ sont coloriés en orange, les autres en bleu. La segmentation des détails géométriques met en évidence les arêtes anguleuses de ce modèle CAO. Dans ce cas, l opération de segmentation peut être assimilée à une détection d arête assez voisine de la détection de contour en imagerie 2D traditionnelle. Il est cependant difficile de proposer une méthode de segmentation capable de fournir des résultats pertinents sur tous les types de maillage. Il est préférable que les algorithmes de segmentation soient développés spécifiquement pour une application donnée [91, 128]. (a) (b) (c) Figure 3.25 : Segmentation des détails du modèle "Fandisk". (a) Modèle original. (b) Représentation en pseudo-couleur de la longueur des vecteurs de détail géométrique pour le premier niveau de résolution. (c) Segmentation des détails géométriques pour la mise en évidence des arêtes anguleuses du modèle Reconstruction et simplification adaptatives Dans une analyse multirésolution de maillages, les vecteurs de détail sont représentatifs des caractéristiques locales du maillage analysé. Il est alors intéressant d utiliser ces vecteurs de détail durant le processus de reconstruction pour ne conserver que les sommets dits "pertinents". Nous avons proposé un schéma de reconstruction adaptative permettant la simplification et la visualisation de maillages dépendantes des vecteurs de détail, la méthode est basée sur le schéma interpolant
73 3.6. Applications de l analyse multirésolution 51 Figure 3.26 : Schéma de reconstruction adaptative pour l analyse multirésolution interpolante. Ce schéma fait intervenir un paramètre externe τ permettant la segmentation des vecteurs de détail et ainsi la sélection des sommets pertinents. Les sommets ayant un vecteur de détail avec une longueur inférieure à ce paramètre sont jugés non pertinents, et ne sont pas ré-insérés dans le maillage reconstruit. d analyse d analyse multirésolution de maillage. Nous introduisons un seuil τ permettant de segmenter les vecteurs de détail et ainsi de sélectionner les sommets pertinents qui vont être ré-insérés dans le maillage reconstruit. Tous les sommets ayant un vecteur de détail avec une longueur inférieure à τ ne sont pas ré-insérés dans le maillage et sont ainsi supprimés du maillage final. Le schéma de reconstruction adaptative pour l analyse interpolante est présenté en Figure Figure 3.27 : Modèle de terrain comportant plusieurs niveaux de résolution. Cet exemple illustre l aptitude du schéma d analyse multirésolution à la reconstruction adaptative d un modèle.
74 52 Chapitre 3. Analyse Multirésolution La Figure 3.27 illustre un modèle reconstruit où différentes parties du modèle sont à différents niveaux de résolution. La partie droite du modèle est à la résolution la plus fine (niveau 0), la partie centrale au niveau trois, et la partie gauche au niveau de résolution cinq. (a) faces (b) faces (τ = ) (c) faces (τ = 0.001) (d) faces (τ = 0.002) Figure 3.28 : Simplification adaptative du modèle "Bunny" pour différentes valeurs du seuil τ. Dans cet exemple, le modèle est simplifié en fonction des vecteurs de détail géométrique. La Figure 3.28 montre un exemple de simplification adaptative du modèle "Bunny" pour différentes valeurs du seuil τ. Dans cet exemple, seuls les vecteurs de détail géométrique sont considérés. La simplification adaptative permet de conserver les zones du modèle à fortes courbures Visualisation adaptative Le raffinement dépendant du point de vue de maillage étend la simplification dynamique de maillage en utilisant des critères dépendants du point de vue pour sélectionner le niveau de détail le plus approprié pour la vue courante. Pour construire notre schéma de maillage multirésolution dépendant du point de vue, nous effectuons en premier la suppression des faces non visibles (cachées ou en dehors du point de vue). Ensuite nous remplaçons la mesure d erreur dans l espace-écran, utilisée dans les méthodes classiques, par le schéma de reconstruction adaptative vu précédemment, Figure La liste des sommets actifs est triée en fonction de la longueur des vecteurs de détail et de chaque type d attribut. Ensuite le nouveau maillage raffiné est reconstruit en insérant des sommets dont le vecteur
75 3.6. Applications de l analyse multirésolution 53 de détail à une norme supérieure à un seuil donné. Ce seuil peut être un paramètre fixé par l utilisateur ou une valeur calculée dynamiquement en fonction de la vitesse d affichage. Cette dernière méthode assure une vitesse d affichage constante tout en conservant les caractéristiques importantes du modèle visualisé. Pour éviter la construction d un maillage dégénéré, nous devons tester le voisinage des sommets nouvellement activés dans la hiérachie. La reconstruction adaptative peut être guidée par l utilisateur dans le cas où le modèle comporte beaucoup d attributs. L utilisateur peut activer ou désactiver certains attributs durant le processus de visualisation et reconstruction du modèle (les attributs géométriques, c est-à-dire la position des sommets, ne peuvent être désactivés). La Figure 3.29 montre un exemple de modèle visualisé en fonction du point de vue et des détails de l analyse multirésolution. Le modèle initial numérisé à l Université de Stanford contient sommets et faces. La Figure 3.29(a) montre le modèle visualisé uniquement en fonction des critères dépendants du point de vue. Les Figures 3.29(b) et 3.29(c) montrent le modèle visualisé en fonction du point de vue et des détails géométriques. Ces figures montrent le résultat pour différentes valeurs du seuil (plus le seuil est élevé, plus la résolution est faible). Nous voyons que les caractéristiques géométriques importantes du modèle sont conservées (telles que les régions à fortes courbures) Débruitage Dans le cadre de l analyse multirésolution de maillages irréguliers, un coefficient de détail est représenté par un vecteur d. Ce vecteur est de dimension trois pour les attributs géométriques et de couleurs, mais il peut être de dimension quelconque suivant la nature de l attribut. Nous avons donc étendu la règle du soft thresholding [42, 43] pour un vecteur de dimension quelconque afin de pouvoir débruiter tous les attributs d un maillage [143]. La Figure 3.30 montre un modèle CAO bruité artificiellement par un bruit gaussien avec différentes valeurs de variance σ 2 n. Dans cette expérimentation, les modèles ont été débruités par quatre méthodes différentes : laplacien uniforme [99], flux de courbure [40], filtrage bilatéral [53], et notre méthode de soft thresholding. Les deux premières méthodes sont uniformes, et elles lissent intégralement le maillage. Les deux dernières méthodes sont anisotropes et tentent de conserver les caractéristiques importantes du maillage (e.g. arêtes vives).
76 54 Chapitre 3. Analyse Multirésolution (a) τ=0 ( sommets) (b) τ= ( sommets) (c) τ= (9.293 sommets) (d) τ= (point de vue) Figure 3.29 : Visualisation dépendante du point de vue et des détails géométriques du modèle "Buddha". Le modèle est visualisé avec un point de vue (d) avec différentes valeurs du seuil des détails (a)-(c).
77 3.6. Applications de l analyse multirésolution 55 (a) Modèle original (b) σ 2 n = 25 (c) σ 2 n = 50 (d) Laplacien uniforme (σ 2 n = 25) (e) Flux de courbure (σ 2 n = 25) (f) Filtrage bilatéral (σ 2 n = 25) (g) Soft thresholding (σ 2 n = 25) (h) Laplacien uniforme (σ 2 n = 50) (i) Flux de courbure (σ 2 n = 50) (j) Filtrage bilatéral (σ 2 n = 50) (k) Soft thresholding (σ 2 n = 50) Figure 3.30 : Débruitage avec différentes méthodes d un modèle CAO bruité artificiellement par un bruit gaussien.
78 56 Chapitre 3. Analyse Multirésolution 3.7 Conclusion Ce chapitre a résumé nos travaux sur la comparaison et l analyse multirésolution de maillages irréguliers multi-attributs. La mesure de déviation proposée permet d estimer les différences locales entre les attributs de deux maillages. Elle est à la base d une méthode de comparaison de maillages qui peut être utilisée à la fois pour mesurer l erreur locale (relative à une région donnée) ou globale. La simplification d un maillage étant essentiellement géométrique, la mesure de déviation géométrique est donc la plus importante. La mesure de déviation des autres attributs permet d estimer les modifications de l apparence d un maillage après simplification. Notre méthode autorise donc une comparaison complète entre deux modèles. Les deux schémas proposés pour l analyse multirésolution de maillages irréguliers avec attributs permettent l analyse des attributs à travers les échelles. Le premier schéma, basé sur le lifting scheme de Sweldens, réalise une analyse multirésolution interpolante. Le second schéma, basé sur l analyse de Guskov, réalise une analyse multirésolution approximante. Ces deux schémas gèrent tous les attributs associés aux sommets ce qui assure une analyse multirésolution du maillage dans son intégralité. Ils reposent sur la prédiction des sommets qui a pour objectif de capturer les détails perdus lors du passage d un niveau de résolution au suivant. La prédiction est basée sur une opération de relaxation de surface, qui modifie la position des sommets d un maillage pour minimiser une fonction d énergie dépendante de la courbure de la surface. Un opérateur de relaxation a été proposé et généralisé aux attributs d apparence. Nous avons montré l apport de nos schémas d analyse multirésolution de maillages à travers des applications incluant la simplification adaptative, la détection de bruit impulsionnel, la visualisation adaptative et le débruitage d attributs. Notre méthode de simplification adaptative génère toujours une erreur moyenne de simplification supérieure à celle obtenue par des algorithmes de simplification spécialisés : ceci est dû au souséchantillonnage effectué à l aide de l algorithme indépendant de simplification. L avantage de notre méthode de simplification adaptative est qu elle ne nécessite de calculer qu une seule fois la décomposition multirésolution du modèle. En d autres termes, la modification du seuil τ nécessite uniquement d appliquer le schéma de reconstruction montré précédemment, permettant ainsi des résultats très rapides (contrairement à une simplification classique nécessitant d appliquer l algorithme de simplification intégralement à chaque fois). Cette propriété permet ainsi des simplification adaptative et dynamique dédiées à la visualisation et aussi la préparation à des algorithmes de compression. Ces applications nous ont montré l importance des coefficients de détail de l analyse multirésolution et la nécessité de gérer les attributs d apparence.
79 Chapitre 4 Modélisation 3D par combinaison de surfaces Ce chapitre décrit nos travaux sur la jointure des quadriques par les cyclides de Dupin, ainsi que les opérations booléennes entre les surfaces de subdivision et entre les surfaces algébriques (supershapes). 4.1 Introduction L une des bases de la modélisation géométrique est la combinaison de plusieurs primitives pour obtenir la représentation de l objet considéré. On distingue deux approches pour faire cette combinaison : (i) le calcul des opérations booléennes, comme dans les arbres de Géométrie Constructive des Soldes (CSG), où un objet est généré par combinaison de plusieurs opérations booléennes (intersection, union, différence) entre des primitives élémentaires [102, 85] ; les primitives peuvent être des formes simples (cube, cylindre, tore, etc.) ou des formes plus complexes construites à l aide d un ensemble de primitives simples ou générées par des surfaces plus compliquées. (ii) les opérations de jointure de deux ou plusieurs surfaces disjointes afin de construire une seule surface (comme dans la modélisation d objets par leur surface de bord (B-Rep)) [85]. Nos avons étudié la combinaison de surfaces suivant trois angles différents et en utilisant divers types de surfacs : Combinaison de surfaces quadriques par jointures avec les cyclides de Dupin. Travail réalisé dans le cadre de la thèse de Lionel Garnier [70]. Combinaison de surfaces de subdivision par calculs d intersections et opérations booléennes. Travail réalisé dans le cadre de la thèse de Sandrine Lanquetin [103]. Combinaison de surfaces algébriques (notamment des supershapes) par les R-fonctions. Ce travail est en cours dans le cadre de la thèse de Yohan Fougerolle. La Figure 4.1 montre un exemple d opérations booléennes pouvant être effectuées sur des objets simples [106]. De façon générale, une opération booléenne se déroule en deux étapes : (ii) Calcul des courbes d intersection entre les surfaces des deux primitives impliquées dans l opération. Des points 57
80 58 Chapitre 4. Combinaison de surfaces Figure 4.1 : Exemple d opérations booléennes. d intersection sont trouvés, classés puis connectés pour approcher la courbe d intersection. (ii) Conservation des parties des primitives nécessaires à la construction de la surface de l objet résultant selon l opération booléenne envisagée. 4.2 Jointure des surfaces quadriques par les cyclides de Dupin Les Cyclides de Dupin (CdD) ont été présentées dans le chapitre 2, cette section donne un résumé de nos travaux sur l utilisation des CdD pour la jointure de deux surfaces de révolution et aussi pour la jointure d une surface de révolution avec un plan [70, chapitre 4]. Les jointures obtenues dans le cadre de ce travail sont toutes de type G 1 -continue. Plusieurs algorithmes ont été proposés pour calculer ces jointures. Comme il est possible de déterminer tous les paramètres d une CdD à partir de ses cercles principaux, le calcul d un carreau de CdD joignant deux surfaces peut être fait en 3 étapes principales : Calculer les cercles principaux de la CdD qui seront tangents aux deux surface à joindre. Déterminer les paramètres de la CdD à partir des cercles principaux. Délimiter la CdD pour ne garder que la partie utile à la jointure. D autres étapes secondaires (e.g. transformations, expression de toutes les primitives dans un même repère, etc.) sont parfois nécessaires afin faciliter les calculs. Les algorithmes de jointure proposés utilisent deux démarches différentes : Une démarche algébrique, où les cercles principaux de la surface de jointure (un carreau de CdD) sont calculés à partir des équations des deux surfaces à joindre. Un algorithme pour determiner la jointure cone-sphère à été proposé et testé. Une démarche géométrique, où les cercles principaux de la CdD de jointure sont modélisées par des courbes de Bézier rationnelles quadriques. Plusieurs algorithmes basés sur ce principe ont été proposés pour les jointures entre deux surfaces de révolution et les jointure entre une surface de révolution et un plan.
81 4.2. Jointure des surfaces quadriques par les cyclides de Dupin 59 Dans cette deuxième démarche, nous devons construire deux arcs de cercles (qui sont les arcs de cercles principaux de la CdD) tangents aux primitives à joindre et pour chaque arc de cercle nous n avons donc besoin que de trois points : les deux extrémités et un point qui va déterminer les deux tangentes en ces points. Nous avons donc utilisé les courbes de Bézier rationnelles quadriques pour modéliser ces arcs de cercles et avons proposé deux types de jointures : surfaces de révolution-plan, quadriques de révolution-cylindres de révolution. Ainsi, pour effectuer une jointure entre deux quadriques, il suffit alors d effectuer deux jointures quadrique-cylindre. Ce cylindre est commun et peut être réduit à un cercle. Dans ce cas nous obtenons une jointure avec deux CdD. Les sections suivantes présentent quelques exemples d algorithmes avec les résultats obtenus. La dernière section montre comment utiliser ces différentes jointures pour modéliser des formes complètes Détermination des bornes de la CdD utile lors de jointures Lors d une opération de jointure, en utilisant une CdD, nous devons souvent ne garder qu une partie de la CdD, appelée partie utile. La Figure 4.2 illustre ce problème lors d une jointure entre un cylindre de Figure 4.2 : Présentation du problème de la détermination de la partie utile de la CdD lors d une opération de jointure (entre un plan et un cylindre de révolution). révolution et un plan. En fait, toute la partie grillagée de la CdD est inutile et les bornes de visualisation sont [0; 2π] [ 0; π 2]. La partie utile de la CdD est alors délimitée par deux cercles, communs à la CdD et à chacune des deux surfaces à joindre. Lorsque l on utilise des surfaces autres qu un plan ou un cylindre, les bornes de visualisation de la CdD ne sont pas connues d avance et nous devons donc les déterminer à partir d un point sur chacun des cercles précités. Le théorème 2 permet de déterminer la valeur θ de la CdD lorsque l on connaît un point M 1 de celle-ci et la valeur ψ 0 définissant la ligne de courbure à laquelle appartient ce point. Théorème 2 : Détermination des bornes d une CdD avec ψ 0 constant. Soit M 1 (X 1 ; Y 1 ; Z 1 ) un point de la CdD tel que b 0, c est-à-dire a c. Nous cherchons θ tel que : µ (c a cos θ cos ψ 0 ) + b 2 cos θ = X 1 a c cos θ cos ψ 0 b sin θ (a µ cos ψ 0 ) = Y 1 (4.1) a c cos θ cos ψ 0 b sin ψ 0 (c cos θ µ) = Z 1 a c cos θ cos ψ 0
82 60 Chapitre 4. Combinaison de surfaces 1. Premier cas : X 1 a µc = 0 (a) Premier sous-cas : a µ cos ψ 0 = 0 Le point M 1 appartient à un cercle singulier d une CdDI donc on ne peut pas déterminer θ. (b) Second sous-cas : a µ cos ψ 0 0 si b (a µ cos ψ 0 ) Y 1 a > 0 on a θ π 2 [2π] sinon on a θ π 2 [2π]. 2. Second cas : X 1 a µc 0 Si b (a µ cos ψ 0 ) Y 1 a > 0 on a θ π 2 [2π] sinon on a θ π 2 [2π]. (a) Premier sous-cas : a µ cos ψ 0 = 0 Le point M 1 appartient à un cercle singulier d une CdDI donc on ne peut pas déterminer θ. (b) Second sous-cas : a µ cos ψ 0 0 θ est solution de : cos θ = sin θ = ax 1 µc b 2 + (X 1 c µa) cos ψ 0 by 1 b 2 + (X 1 c µa) cos ψ 0 De façon analogue, nous pouvons déterminer la valeur ψ de la CdD lorsque l on connaît un point M 1 de celle-ci et la valeur θ 0 définissant la ligne de courbure à laquelle appartient ce point [70, chapitre 3] Jointures surfaces de révolution-plans Ce paragraphe donne l algorithme de calcul d une jointure G 1 entre une surface de révolution algébrique ou non algébrique et un plan et montre des exemples de résultats obtenus pour la jointure d un plan avec des quadriques de révolution, des tores et même deux surfaces non algébriques : la caténoïde et la pseudosphère. Deux types de jointures sont possibles : Construction de type poteau : Les cercles principaux de la CdD sont calculés à l extérieur de la surface de révolution. Construction de type récipient : Les cercles principaux de la CdD sont calculés à l l intérieur de la surface de révolution. La Figure 4.3 permet d illustrer cet algorithme en effectuant une coupe par le plan de symétrie P y. La Figure 4.3(a) montre la construction de type poteau, alors que la Figure 4.3(b) montre la construction de type récipient, et la surface de révolution choisie pour l illustration est un cône de révolution C. Les étapes de ce calcul sont données par l algorithme 3. Seules les étapes 1 et 5 de cet algorithme demandent une intervention humaine. La Figure 4.4 montre quelques exemples de résultats. Les jointures montrés par les Figures 4.4(a), 4.4(b), 4.4(d) et 4.4(g) sont de type poteau. Ceux montrés par les Figures 4.4(c), 4.4(e) et 4.4(f) sont de type récipient.
83 4.2. Jointure des surfaces quadriques par les cyclides de Dupin 61 Algorithme 3 Construction d une CdD effectuant une jointure G 1 entre une surface de révolution et un plan. Données : Une surface de révolution S d axe et un plan P. Le plan est en dessous de la surface. Sy est la section de la surface S par le plan de construction P y. Début 1. Choix de B 1 sur S. 2. Détermination de B 2, symétrique de B 1 par rapport à. 3. Détermination des tangentes respectives T B1 et T B2 à Sy en B 1 et B Détermination de C 1 (resp. C 2 ), intersection du plan P et de T B1 (resp. T B2 ). 5. Choix de A 1 dans le plan P tel que A 1 C 1 = C 1 B Détermination de A 2 dans le plan P tel que A 2 C 2 = C 2 B 2 par la proposition : Si A 1 [C 1 C 2 ) alors A 2 [C 2 C 1 ) sinon A 2 [C 2 C 1 ). 7. Détermination des centres O 1 (resp. O 2 ) et des rayons ρ 1 (resp. ρ 2 ) modélisés par une RQBC {(B 1 ; C 1 ; A 1 )} (resp. RQBC {(B 2 ; C 2 ; A 2 )}), intersection de la droite (B 1 B 2 ) et de la médiatrice du segment [A 1 B 1 ] (resp. [A 2 B 2 ]). 8. Détermination des isométries (translation, rotation, symétrie par rapport à un plan) pour exprimer la CdD dans le repère de la scène. 9. Détermination ψ 0 tel que {Γ (θ, ψ 0 ), θ [0; 2π]} soit le cercle d intersection entre la CdD et la surface de révolution. { Γ ( θ, π 2), θ [0; 2π] } est le cercle d intersection entre la CdD et le plan. Fin Sortie : La partie utile d une CdD effectuant la jointure G 1 entre une surface de révolution et un plan. z C C 1 µ+ c =ρ O 1 01 O d= a d= a 01 I 1 01 B 1 B 2 01 O 2 01 I 2 γ γ A C C 2 A C2 µ c =ρ 2 01 x B µ+ c =ρ γ I O C A 1 1 d=a C 1 C O z d=a 1 µ c =ρ O 2 I A C 2 C 01 B 01 2 γ 2 x (a) (b) Figure 4.3 : Coupe de la construction par le plan P y de la jointure entre un plan et une surface de révolution par une CdD. (a) construction de type poteau. (b) construction de type récipient.
84 62 Chapitre 4. Combinaison de surfaces (a) (b) (c) (d) (e) (f) (g) Figure 4.4 : Exemples de jointure surfaces de révolution plan. (a) Ellipsoïde de révolution. (b) Cone de révolution, la CdD obtenue est une CdD en anneau. (c) Hyperboloïde de révolution à une nappe, CdD à croissant interne. (d) Tore ; la jointure est faite sur le trou du tore. (e) Caténoïde ; CdD à croissant externe. (f) Pseudosphère. (g) Cylindre Jointure entre quadriques de révolution La jointure des quatre quadriques de révolution usuelles (le cône, la sphère, le cylindre et l hyperboloïde) entre elles nécessite le développement de dix constructions : quatre pour le cône (cône-{cône, sphère, cylindre, hyperboloïde}), trois pour la sphère (sphère-{sphère, cylindre, hyperboloïde}), deux pour le cylindre (cylindre-{cylindre, hyperboloïde}), une pour l hyperboloïde (hyperboloïde-hyperboloïde). Pour réduire le nombre de cas de figures, nous avons décomposé ce problème en deux sous problèmes de jointure entre quadriques et cylindres. La surface de jointure résultante se compose dans ce cas de trois carreaux différents : deux CdD et un cylindre. Le nombre de constructions qu il faut développer est ainsi réduit à quatre constructions cylindre-{cône, sphère, cylindre, hyperboloïde}. Le choix s est porté sur le cylindre car sa jointure avec une CdD ne pose pas trop de problème et l on peut réduire ce cylindre à un cercle (cercle d intersection des deux CdD) [59]. Nous avons illustré ce principe à travers le calcul de la jointure G 1 entre un cône et une sphère qui est ainsi considérée comme l union de deux jointures : sphère-cercle (ou cylindre) et cône-cercle (ou cylindre), Figure 4.5. a. Jointure sphère-cylindre de révolution Nous devons commencer par trouver deux cercles tangents à une génératrice du cylindre et tangent au grand cercle de la sphère. Une méthode de calcul des ces cercles est détaillée dans [70, chapitre 3]. La détermination de la CdD de jointure se fera par la suite dans le plan P y, déterminé par deux
85 4.2. Jointure des surfaces quadriques par les cyclides de Dupin 63 Figure 4.5 : Jointure entre un cône et une sphère. (a) par deux CdD. (b) par deux CdD et un cylindre de révolution. génératrices, symétriques par rapport à l axe du cylindre, et le centre Ω du cercle C, une section de la construction est montrée dans la Figure 4.6 et les étapes de calcul sont énumérées dans l algorithme 4. G 2 2 B 2 C 2 F 2 A 2 G 1 r B C Ω 2 F A 2 A 1 r Ω 1 B 1 C 1 F 1 G 2 A 1 G 1 1 B 1 C 1 F 1 (a) (b) Figure 4.6 : Coupe de la construction d une jointure G 1 entre un cylindre et une sphère. L étape 5 de l algorithme 4 détermine le type de la construction : G 1 P 1 correspond à la Figure 4.6(a), G 1 P 2 correspond à la Figure 4.6(b). Seules deux interventions humaines sont nécessaires : choix du point B 1 sur une des génératrices du cylindre, étape 2 ; choix du point G 1, étape 5. La Figure 4.7 montre quelques exemples de résultats obtenus. (a) (b) (c) Figure 4.7 : Trois exemples d une CdD effectuant une jointure G 1 entre une sphère et un cylindre de révolution, construction de la Figure 4.6(a). (a) et (b) CdD en anneau. (c) CdD à croissant interne.
86 64 Chapitre 4. Combinaison de surfaces Algorithme 4 Une CdD effectuant une jointure G 1 entre une sphère et un cylindre de révolution. Données : Une sphère de centre Ω, de rayon r et un cylindre de révolution d axe. Précondition : il existe deux génératrices du cylindre 1 et 2, symétriques par rapport à, telles que Ω appartienne au plan P y engendré par 1 et 2. Notation : P 1 (resp. P 2 ) est le demi-plan de frontière contenant B 1 (resp. B 2 ). Début 1. Déterminer C, grand cercle (de la sphère) de centre Ω et de rayon r dans le plan P y. 2. Choisir B 1 sur Déterminer B 2 sur 2, symétrique de B 1 par rapport à. 4. Dans P y, la droite détermine deux demi-plans, P 1 et P 2 tels que 1 P 1 et 2 P Choisir le point G 1, intersection de C et de la perpendiculaire à 1 passant par Ω. 6. Déterminer G 2, symétrique de G 1 par rapport à Ω. 7. Pour i [[1; 2]], construire F i, puis A i et C i. 8. Pour i [[1; 2]], déterminer le centre O i et le rayon ρ i du cercle principal C i dont un arc de cercle est déterminé par RQBC {(B i ; C i ; A i ), f w (B i ; C i ; A i )}. 9. Déterminer les paramètres de la CdD. 10. Si G i P 1, ψ 0 = 0 sinon ψ 0 = π. 11. Déterminer la borne ψ 1 de la CdD de telle façon que le cercle de courbure de la CdD défini par θ Γ (θ; ψ 1 ) soit un cercle de la sphère. Fin Résultat : Une CdD effectuant une jointure G 1 entre une sphère et un cylindre de révolution. L espace paramétrique de visualisation de la CdD est [0; 2π] [ ψ 0 ; ψ 1 ]. b. Jointure cône-cylindre Pour construire la CdD qui effectue la jointure entre un cylindre de révolution d axe, de rayon R, et un cône de révolution d axe, on se positionne dans la configurations suivante : Le plan de construction est P y et on se donne deux droites parallèles 1 et 2 qui sont deux génératrices du cylindre et deux droites sécantes 1 et 2 qui sont deux génératrices du cône, Figure 4.8, toutes coplanaires et situées dans le plan P y : y = 0. Pour obtenir une généralisation du problème, les droites 1 et 2 seraient deux tangentes à la quadrique. Une condition nécessaire pour effectuer une jointure entre un cône de révolution et un cylindre de révolution est que leurs axes soient coplanaires ce qui est équivalent à dire que et sont sécantes. Deux méthodes différentes ont été proposées pour déterminer les courbes de Bézier représentant les cercles tangents aux génératrices du cone et du cylindre [70, chapitre 3]. Une section de la construction est représentée par la Figure 4.8. Les étapes du calcul de la CdD de jointure sont données par l algorithme 5. Plus de détails concernant ce calcul peuvent être trouvé dans [59]. La Figure 4.9 montre trois exemples d objets (un pavillon de phonographe, un chapeau d amazone et un filet qui transporte un cône) modélisés à l aide des jointures cône-cylindre avec notre algorithme.
87 4.2. Jointure des surfaces quadriques par les cyclides de Dupin 65 Figure 4.8 : Schéma de construction de deux courbes rationnelles quadratiques de Bézier modélisant des arcs de cercle tangents aux génératrices d un cône de révolution et d un cylindre de révolution. Algorithme 5 Une CdD effectuant une jointure G 1 entre un cône de révolution et un cylindre de révolution. Données : Un cône de sommet S d axe et un cylindre de révolution d axe. Précondition : (i) il existe deux génératrices du cylindre 1 et 2, symétriques par rapport à, deux génératrices du cône 1 et 2, symétriques par rapport à, telles que ces quatre génératrices soient coplanaires. (ii) Il existe une bissectrice 3 de l angle les droites,, 3 et 4 soient sécantes en un point Ω. Notation : s D est la réflexion d axe D. Début ( ) 2 ; 1 et une bissectrice 4 de l angle 1. Déterminer les points C 1 et C 2 tels que {C 1 } = 1, 1 et {C 2} = 2, Choisir A 1 appartenant à, 1 et différent de C Déterminer B 1 = s 4 (A 1 ). 4. Déterminer B 2 = s (B 1 ). 5. Déterminer A 2 = s 3 (B 2 ). ( ) 2 ; 1 telles que 6. Pour i [[1; 2]], déterminer le centre O i et le rayon ρ i du cercle principal C i dont un arc de cercle est déterminé par RQBC {(B i ; C i ; A i ), f w (B i ; C i ; A i )}. 7. Déterminer les paramètres de la CdD. 8. Si A 1 est à l intérieur du cylindre alors ψ 0 = π sinon ψ 0 = Déterminer la borne ψ 1 de la CdD de telle façon que le cercle de courbure de la CdD défini par θ Γ (θ; ψ 1 ) soit un cercle du cône. Fin Résultat : Une CdD effectuant une jointure G 1 entre un cône de révolution et un cylindre de révolution. L espace paramétrique de visualisation de la CdD est [0; 2π] [ ψ 0 ; ψ 1 ]. c. Jointure cône-sphère Nous pouvons maintenant combiner les algorithmes 4 et 5 des paragraphes précédents pour effectuer une jointure G 1 entre un cône de révolution et une sphère par deux CdD. Nous pouvons choisir
88 66 Chapitre 4. Combinaison de surfaces (a) (b) (c) Figure 4.9 : Jointure G 1 entre un cône de révolution et un cylindre de révolution par une CdD. (a) un pavillon de phonographe. (b) un chapeau d amazone. (c) un filet qui transporte un cône. d intercaler ou non un cylindre de révolution entre les deux CdD. Quelques exemples montrant les résultats de cette combinaison sont donnés dans les Figures 4.10 et On constate sur ces figures qu il est possible d insérer un cylindre entre les CdD pour faire varier le résultat et ainsi obtenir des constructions différentes à partir d un même cône et d une même sphère. (a) (b) (c) (d) Figure 4.10 : Exemples de jointures G 1 entre un cône de révolution et une sphère par deux CdD. La Figure 4.11 montre une autre flexibilité de cette méthode de jointure : nous pouvons utiliser une CdD en anneau pour le raccord avec le cône et une CdD à croissant interne pour le raccord avec la sphère Exemples d objets modélisés par mélange CdD/quadriques Une lampe de chevet La Figure 4.12 montre une lampe de chevet constituée d un prisme pour le socle, d un cylindre de révolution pour la douille, d un cône de révolution pour l abat-jour, d une CdD pour la jointure G 1 prisme-cylindre, de trois morceaux d une CdD pour la jointure G 1 entre le cône et la CdD précédente. La Figure 4.12(a) ne montre que deux des trois supports de l abat-jour et la moitié de l abat-jour.
89 4.2. Jointure des surfaces quadriques par les cyclides de Dupin 67 (a) (b) (c) (d) Figure 4.11 : Exemples de jointure G 1 entre un cône de révolution et une sphère par deux CdD et un cylindre. (a) et (b) deux CdD en anneau. (c) et (d) une CdD en anneau (cône-cylindre), une CdD à croissant interne (sphère-cylindre). (a) (b) Figure 4.12 : Une lampe de chevet. Une antenne satellite L antenne satellite, Figure 4.13, est un assemblage de trois parties : l antenne physique, le système de décodage, la manette de réglage pour recevoir les ondes du satellite. L antenne physique est constituée d un paraboloïde de révolution S 1, d un socle S 2 et d une CdD S 3 pour effectuer une jointure G 1 entre S 1 et S 2. Le système de décodage est constitué d un ellipsoïde de révolution S 4 (tête de lecture), d un cylindre de révolution S 5 (tige qui soutient la tête de lecture) et d une CdD S 6 pour effectuer une jointure G 1 entre S 4 et S 5. La jointure entre l antenne physique et le système de décodage est de type G 1 et est réalisée par la CdD S 7. La manette de réglage est constituée d une sphère S 8 (bouton), d un cylindre de révolution S 9 (tige) et d une CdD S 10 pour effectuer une jointure G 1 entre S 8 et S 9. Le tableau 4.1 donne les détails des surfaces utilisées pour modéliser une antenne satellite. Concernant les CdD, nous donnons les trois paramètres a, µ et c. Les quatre nappes paramétrées des cyclides sont
90 68 Chapitre 4. Combinaison de surfaces (a) (b) Figure 4.13 : Antenne parabolique portable pour réception satellite. Surfaces Nom Paramètres Localisation Parallélépipède S 2 m = 0, 35, p = 1, 5 socle Paraboloïde S 1 a = 1, p = 2 antenne CdD S 3 (a; µ; c) (1, 05; 0, 83; 0, 182) antenne-socle Ellipsoïde S 4 a = 0, 35, c = 0, 0875 tête de réception Cylindre S 5 a = 0, 1, h = 0, tige de la tête CdD S 6 (a; µ; c) (0, 29; 0, 2; 0) tige-tête CdD S 7 (a; µ; c) (0, 23; 0, 13; 0) antenne-tige Sphère S 8 a = c = 0, 125 Bouton de la manette Cylindre S 9 a = 0, 05, h = 0, 29 tige de la manette CdD S 10 (a; µ; c) (1, 26; 1, 21; 0) tige manette-bouton Table 4.1 : Détails de l antenne satellite définies sur [0; 2π] I ψ où I ψ = [ 1, 2; π 2] pour S 3, I ψ = [ 1, 33; 0] pour S 6, I ψ = [0; 1, 7] pour S 7, I ψ = [0; 0, 34] pour S 10. Hugo, la mascotte d Eurographics 2004 Nous finissons ce chapitre en montrant comment utiliser des quadriques de révolution (cône, ellipsoïde, cylindre) et des CdD pour modéliser un objet très compliqué. Nous avons choisi de recréer un robot en nous inspirant de la mascotte d Eurographics 2004 : Hugo, réalisé par Laurence Boissieux c INRIA 2003, Figure Nous n utilisons aucun maillage mais seulement les primitives précitées et des transformations géométriques. Les quadriques servent à modéliser les différentes parties du robot et les CdD permettent d effectuer des raccordements G 1 entre les différentes quadriques. Primitives utilisées : Pour modéliser tout le robot, nous utilisons sept sphères (pompon, poignet, coude, clavicule, hanche, genou et fesses), un hémisphère (pied), sept ellipsoïdes de révolution (oreille, oeil, extrémités des cinq doigts), quatorze cylindres (deux pour la tige du bonnet, un pour la tête, le cou, la tige de l oreille, le bras, l avant-bras, la cuisse, le mollet, les cinq bases des doigts), cinq cônes
91 4.2. Jointure des surfaces quadriques par les cyclides de Dupin 69 Figure 4.14 : Le modèle d Eurographics 2004 : Hugo. (le crâne, le menton, les épaules, le corps, le haut du bassin), dix-neuf CdD en anneau pour effectuer les jointures G 1, deux CdD à croissant externe pour la bouche, une CdD à croissant interne pour le nez. Nous utilisons donc quatre-vingt-sept primitives. Les seuls raccords de type G 0 sont :cylindre de la tête - { cylindre de l oreille, ellipsoïde de révolution de l oeil, CdD à croissant interne du nez, CdD à croissant externe de la bouche}, sphère du poignet - cylindres des cinq doigts, sphère de l épaule - corps, sphères de la hanche - bas du dos (sphère du coccyx, cône du bassin, CdD de jointure entre les cônes du bassin et du corps). Toutes les autres jointures sont de type G 1. Hormis le premier avantage qui est l obtention de raccordement de type G 1 en utilisant des concepts simples de géométrie plane sans se soucier des problèmes de paramétrisation, de correspondance entre plans tangents, le second gros avantage de l utilisation des primitives pour modéliser un tel objet est le peu de calcul à effectuer pour animer l objet. Seul le calcul des transformations géométriques est à effectuer, les primitives ne changeant pas. Par exemple, lorsque le robot lève le bras droit et baisse le bras gauche pour obtenir la figure de droite, nous ne changeons que deux valeurs qui sont l angle des deux rotations épaule - bras. Le principe de construction est le même pour tout le robot, nous ne détaillons donc que la construction de la tête. Détails de la construction de la tête d Hugo : Certaines jointures sont de type G 0 et d autres sont de type G 1. Les jointures de type G 0 sont : cylindre de l oreille - cylindre de la tête ; ellipsoïdes des yeux - cylindre de la tête ; CdD à croissant externe de la bouche - cylindre de la tête ; CdD à croissant interne - cylindre de la tête. Toutes les autres jointures sont de type G 1 et sont obtenues en utilisant des courbes de Bézier, Figure Tous les axes des cylindres et des cônes sont dans le même plan P y auquel appartient également le centre de la sphère du pompon. Le schéma de la Figure 4.16 est fait dans ce plan. Les segments [A 0 A 1 ] et [B 0 B 1 ] sont sur deux génératrices du cylindre du cou. Les segments [A 3 A 4 ] et [B 3 B 4 ] sont sur deux génératrices du cône du menton. A 2 (resp. B 2 ) est l intersection entre les génératrices (A 0 A 1 ) (resp. (B 0 B 1 )) du cylindre et (A 3 A 4 ) (resp. (B 3 B 4 )) du cône
92 70 Chapitre 4. Combinaison de surfaces (a) (b) Figure 4.15 : Le modèle d Eurographics 2004 modélisé par des surfaces de révolution : cylindres, cônes, sphères, ellipsoïdes et CdD. tels que A 3 A 2 = A 2 A 1 et B 3 B 2 = B 2 B 1. En utilisant les courbes de Bézier, on construit un arc de cercle de centre O 0 (resp. I 0 ) d extrémités A 1 et A 3 (resp. B 1 et B 3 ) tel que les tangentes en ces points soient les génératrices du cylindre et du cône. A partir de ces deux arcs de cercles, on détermine les cercles principaux des CdD, puis les paramètres de cette CdD et on obtient ainsi une jointure G 1 continue entre un cylindre et un cône par une seule primitive : une CdD. On réitère le principe tout le long de la construction. Pour la jointure entre les deux cylindres du bonnet, points A 13, A 14, A 15 et B 13, B 14, B 15, on utilise le plan P z de symétrie de la CdD pour déterminer les paramètres de celles-ci. En résumé, pour modéliser la tête de Hugo, nous avons besoin de deux ellipsoïdes (un pour les oreilles et un pour les yeux), cinq cylindres (cou, tête, tiges du bonnet et tige des oreilles), une sphère (le pompon), deux cônes (crâne et menton), deux CdD à croissant externe pour la bouche, une CdD à croissant interne pour le nez, sept CdD en anneau pour effectuer les jointures de type G : pompon - tige supérieure du bonnet ; les deux tiges du bonnet ; tige inférieure du bonnet - crâne ; crâne - tête ; tête - menton ; menton - cou et enfin oreille - tige de l oreille. Comparaisons des volumes mémoires des deux robots : Le tableau 4.2 récapitule les primitives utilisées pour modéliser Hugo. Dans notre robot, le nombre total de nombres flottants est : = 659
93 4.3. Combinaison de surfaces de subdivision par intersection 71 (a) (b) (c) Figure 4.16 : Tête de Hugo modélisée par des surfaces de révolution : cylindres, cônes, sphères ou ellipsoïdes et CdD. (a) coupe de la construction du crâne au bonnet. (b) coupe de la construction du cou au crâne. (c) rendu 3D. tandis que le modèle d eurographics utilise triangles, ce qui nécessite environ nombres flottants. Primitive Nombre Taille Où pompon, 2 poignets, 2 coudes, Sphère clavicules, 2 hanches, 2 genoux, 2 pieds, fesses Cône 5 5 crâne, menton, corps, bassin, épaule Ellipsoïde oreilles, 2 yeux, 10 phalanges cou, tête, 2 tiges du bonnet, Cylindre tiges des oreilles, 10 doigts, 2 bras, 2 avant-bras, 2 cuisses, 2 mollets, CdD lèvres (CdD à croissant externe), 1 nez (CdD à croissant interne), 27 jointures (CdD en anneau) Table 4.2 : Primitives utilisées (CdD et quadriques de révolution) pour modéliser Hugo. 4.3 Combinaison de surfaces de subdivision par intersection En modélisation géométrique, le calcul des intersections de surfaces est un problème récurrent et fondamental, largement étudié pour les surfaces algébriques et paramétriques [19, 130, 1]. Selon les algorithmes impliqués dans les différentes tâches fondamentales, les méthodes de calcul d intersections peuvent être classées parmi les cinq catégories principales suivantes. (i) Les méthodes analytiques [25, 130], lorsqu une des surface est exprimée sous forme implicite et l autre sous forme paramétrique. (ii) Les méthodes de discrétisation réduisent le problème d intersection surface/surface à un ensemble de problèmes d intersection courbe/surface [10]. (iii) Les méthodes de suivi nécessitent de connaître au moins un point de la courbe d intersection, appelé point de départ, pour générer une suite de points sur la courbe d intersection en exploitant les propriétés géométriques locales des surfaces en intersection [6]. (iv) Les méthodes de subdivision utilisent le raffinement des surfaces pour trouver une approximation polygonale des courbes d intersection. La fiabilité de ces méthodes dépend du niveau
94 72 Chapitre 4. Combinaison de surfaces de subdivision et des différents outils utilisés pour contrôler l arbre de subdivision. (v) Les méthodes mixtes combinent plusieurs des méthodes présentées ci-dessus. C est dans le cadre des méthodes de subdivision que nous avons effectué nos développements [103]. Les surfaces de subdivision sont définies par un maillage basse résolution ou grossier et un ensemble de règle de raffinement [23, 44, 110, 100, 185]. Ces règles sont composées de règles géométriques déterminant les positions des nouveaux points de contrôle à partir des positions des anciens et de règles topologiques qui décrivent la procédure de raffinement de la connectivité du polyèdre de contrôle et de ce fait les propriétés de la surface. L application de ces règles génère une suite de maillages de résolution croissante M 1,..., M i de points de contrôle qui converge vers une surface lisse M appelée surface limite. Cette surface limite (e.g. B-spline ou Box-spline), est topologiquement similaire au réseau de contrôle initial. Pour réaliser des opérations booléennes et combiner des objets modélisés par des surfaces de subdivision, nous avons commencé par étudier les intersections entre ces surfaces [106, 104, 105]. Pour des raisons pratiques nous nous sommes limités aux surfaces de subdivision issues de la subdivision de Loop [110], mais les algorithmes que nous avons proposés s adaptent facilement aux autres surfaces de subdivisons. La subdivision de Loop s appliquant uniquement sur des maillages triangulaires, Elle permet de travailler sur des faces triangulaires, et par conséquent planes. (a) (b) (c) (d) Figure 4.17 : Courbes d intersections à des niveaux de subdivision successifs. Nous avons étudié et comparé trois algorithmes de calcul d intersection. Comme une surface de subdivision est représentée par un maillage, le calcul des courbes polygonales d intersection se fait naturellement en calculant les intersections entre chaque face d une des surfaces et toutes les faces de l autre. Au niveau initial, cette méthode, dite naïve, est incontournable et la complexité, qui est en O (n m) avec n et m respectivement le nombre de faces des deux surfaces, n est généralement pas très élevée. La complexité est multipliée par un facteur 16 à chaque itération, les calculs sont donc vite très lourds, Figure Pour les réduire, il est intéressant d utiliser les propriétés des surfaces de subdivision. Le second algorithme se base sur le voisinage des faces en intersection. Le troisième algorithme utilise la notion de graphe biparti. Pour appliquer les deux derniers algorithmes, il est nécessaire de connaître les courbes d intersection au premier niveau. Elles seront donc calculées à l aide de l algorithme naïf. La principale différence entre l algorithme de voisinage et celui de graphe repose sur les ensembles de faces considérés. Le premier considère un ensemble de faces par objet constitué des faces en intersection et de leurs voisines alors que le second fait intervenir plusieurs sous ensembles de l ensemble précédent par l intermédiaire d un graphe biparti.
95 4.3. Combinaison de surfaces de subdivision par intersection Algorithme naïf Le calcul des courbes d intersection s effectue en plusieurs étapes. Tout d abord, les faces des deux surfaces sont répertoriées en deux catégories : les faces en intersection et les autres. Seuls les couples de faces en intersection sont considérés dans la suite de l algorithme. L intersection face/face est calculée pour obtenir les points d intersection qui seront ensuite triés et reliés par des segments de manière à obtenir des approximations linéaires par morceaux des courbes d intersection. L étape de détection des intersections entre deux faces est une étape préliminaire qui consiste à utiliser les tests de collision des boites englobantes des faces des deux maillages pour faire un premier filtrage qui éliminera les faces clairement disjointes de toute investigation future. Ensuite, les intersections de toutes les faces restantes vont être calculées. La complexité de l algorithme devient O (m 1 n 1 ) avec m 1 et n 1 respectivement inférieurs aux nombre de faces m et n des surfaces S 1 et S 2. Plusieurs méthodes peuvent être envisagées pour calculer les points d intersection entre deux faces. Dans [125], O Brien et Manocha calculent l intersection l intersection des plans support des faces puis prennent la restriction aux faces. Ils sont donc obligés de distinguer deux cas : le cas où les deux points d intersection appartiennent aux segments d une même face et le cas où ils sont portés par des segments de faces différentes, Figure (a) (b) Figure 4.18 : Deux cas d intersection face/face. Une autre solution consiste à calculer les intersections de tous les segments d une face avec l autre face. L intersection droite plan est tout d abord calculée. L équation de la droite étant écrite sous forme barycentrique, la restriction au segment s effectue en vérifiant que la valeur du paramètre est dans l intervalle [0, 1]. Ensuite il ne reste plus qu à vérifier l appartenance du point d intersection à la face, ce qui se fait aisément en comparant l aire de la face avec la somme des aires des triangles formés par le point d intersection et les sommets de la face. C est cette seconde méthode que nous avons choisi d implanter. La dernière étape est le tri des points d intersection et l évaluation de la courbe polygonale d intersection. Le tri peut être facilement réalisé grâce à la structure du point d intersection qui stocke les coordonnées du point, les faces de chaque objet à l origine de ce point et l arête qui porte ce point. Ainsi les extrémités des segments d intersection correspondent aux points d intersection contenant deux faces identiques. Ensuite, les segments sont reliés entre eux en utilisant la structure d arêtesailées.
96 74 Chapitre 4. Combinaison de surfaces Algorithme de voisinage La complexité algorithmique de l algorithme de base croit très rapidement et les calculs deviennent vite très lourds (ils sont multipliés par 16 à chaque itération). D après les propriétés locales des surfaces de subdivision, il parait naturel d utiliser le voisinage des faces en intersection à un niveau de subdivision donné pour déterminer les faces en intersection au niveau suivant. Dans cette section, un algorithme reposant sur le voisinage est présenté afin de réduire cette complexité. Le calcul de l intersection au niveau initial pour cet algorithme se fait à l aide de l algorithme de base. Les faces en intersection des deux surfaces sont donc connues par la suite. La Figure 4.20 représente la courbe d intersection et les faces en intersection au niveau initial. Figure 4.19 : 1-voisinage V 1 (F) et 2-voisinage V 2 (F), ainsi que leurs subdivisions W 1 (F) et W 2 (F). La Figure 4.19 illustre les termes de 1-voisinage et de 2-voisinage qui seront utilisés dans cet algorithme. Le 1-voisinage V 1 (F) d une face F contient cette face et toutes les faces voisines de cette face par au moins un sommet V 1 (F) = {F} {F i / s S (F) S (F i )} où S (F) est l ensemble des sommets incidents à la face F. Le 2-voisinage V 2 (F) est en fait le 1-voisinage de V 1 (F) : V 2 (F) = {V 1 (F i ) /F i V 1 (F)}. L ensemble des faces obtenues par une subdivision du 1-voisinage de F est noté W 2 (F) : W 2 (F) = {F i /F i Loop (V 1 (F))}. W 1 (F) est un sous-ensemble de faces de W 2 (F) restreint aux faces ayant un sommet commun avec l une des sous faces résultant de la subdivision de F, W 1 (F) = {F i /F i Loop (V 1 (F)) & s S (Loop (F)) S (F i )} où S (Loop (F)) est l ensemble des sommets obtenus par la subdivision de F. Figure 4.20 : Courbe d intersection au premier niveau avec les faces en intersection. Soit I i l ensemble des faces participant à l intersection de la surface S i. La première étape de cet algorithme consiste à récupérer le 1-voisinage V 1 (I i ). Rappelons que ce 1-voisinage contient l ensemble
97 4.3. Combinaison de surfaces de subdivision par intersection 75 I i ainsi que toutes les faces voisines aux faces de I i par un sommet. Les ensembles V 1 (I 1 ) et V 1 (I 2 ) sont représentés par la Figure 4.21(a). Puis les ensembles V 1 (I i ) sont subdivisés en appliquant le principe de Loop. Lors de cette étape de raffinement, le 1-voisinage des ensembles V 1 (I i ) est conservé. En effet, pour obtenir une subdivision correcte du 1-voisinage en entier, le 2-voisinage serait nécessaire. Sur la Figure 4.21(a), les faces obtenues par subdivision de I i sont représentées en foncé et celles du 1-voisinage en clair sur la Figure 4.21(b). (a) (b) Figure 4.21 : Faces en intersection. (a) 1-Voisinage V 1 (I i ). (b) 1-Voisinage de la subdivision W 1 (I i ). On conserve également le 2-voisinage V 2 (I i ) de I i afin de calculer correctement le 2-voisinage W 2 (I i ) de l ensemble des sous faces des faces I i obtenu par la subdivision de Loop. En effet, dans certains cas, il est nécessaire d avoir les faces de W 2 (I i ) en mémoire pour récupérer le voisinage en entier au niveau suivant. Ensuite, l algorithme de base est à nouveau utilisé pour tester les intersections entre W 1 (I 1 ) et W 1 (I 2 ). Les courbes d intersection obtenues au niveau suivant peuvent être tracées (Figure 4.22). (a) (b) Figure 4.22 : Intersection au niveau 1. (a) la courbe obtenue. (b) les faces participant à l intersection. Pour récupérer les courbes d intersection à une niveau de subdivision n, il suffit d appliquer n fois ce processus. La Figure 4.23 montre les résultats obtenus au niveau 2. De gauche à droite, on a : les 1-voisinages V 1 (I i ), les 1-voisinages de la subdivision W 1 (I i ), les faces de W 1 (I i ) en intersection et la courbe d intersection.
98 76 Chapitre 4. Combinaison de surfaces (a) (b) (c) (d) Figure 4.23 : Voisinage, subdivision et courbe d intersection au niveau 2. Cet algorithme réduit de manière significative le nombre de faces intervenant dans le calcul d intersection, il est par conséquent beaucoup plus rapide que l algorithme de base Algorithme utilisant un graphe biparti Ce troisième algorithme repose sur l utilisation d un graphe biparti ; il permet de réduire le nombre d intersections à tester. Un graphe biparti est un graphe dans lequel : Les sommets sont répartis en deux groupes I 1 et I 2. Dans notre algorithme, ces groupes seront respectivement formés par les faces intersectantes de chaque surface. Chaque arête a une de ses extrémités dans chacun de ces groupes. Dans notre cas, une arête symbolisera la présence d une intersection entre deux faces. Aucune arête ne peut relier deux sommets d un même groupe. Figure 4.24 : Exemple de faces très éloignées. Cet algorithme vise à utiliser davantage les propriétés locales des surfaces de subdivision. En effet, dans l algorithme de voisinage, on ne prend pas en compte les résultats du niveau de subdivision précédent pour éviter certaines tests d intersection. Par exemple, considérons 2 faces F 1 et F 2 d une première surface S 1 coupant la seconde surface S 2. Ces deux faces peuvent être très éloignées l une de l autre (Figure 4.24). Au niveau de subdivision suivant, les faces de S 2 qui coupent F 1 ainsi que
99 4.3. Combinaison de surfaces de subdivision par intersection 77 leur voisinage ne coupent pas F 2. Le même raisonnement vaut pour les faces de S 2 coupant F 2 et qui ne coupent pas F 1. Le graphe biparti permet de prendre en compte cette propriété de localité. (a) (b) Figure 4.25 : Exemple de construction d un graphe où F i et G i sont respectivement des éléments de I 1 et de I 2. Dans l exemple présenté sur la Figure 4.25, on construit le graphe d intersection d une bande (40 faces) avec un lapin (694 faces). Les faces intersectantes de la bande sont appelées de gauche à droite F 1 à F 4 et celle du lapin G 1 à G 5, Figure 4.25(a). Les nœuds de la première partie du graphe, disposés en colonne, représentent les faces de l objet 1 (la bande) et ceux de la seconde partie représentent les faces de l objet 2 (le lapin). Les faces de l objet 1 qui coupent l objet 2 sont reliées par des arêtes, Figure 4.25(b). Une fois ce graphe constitué, les voisinages des faces des 2 objets sont ajoutés au graphe. L intersection de chaque face de V 1 (I 1 ) avec toutes les faces de V 1 (I 2 ) n est plus testée : l idée de l algorithme consiste à calculer seulement les intersections entre des sous-groupes de ces ensembles. En effet, à chaque face intersectante F i de la surface S 1, le graphe d intersection (graphe biparti) fait correspondre certaines faces G i de la surface S 2 en intersection avec cette face, on va donc calculer uniquement les intersections entre les V 1 (F i ) et V 1 (G k ) reliés par une arête. L entrée de cet algorithme est un graphe biparti G ( 0 I1 0, I0 2, E0) où I1 0 et I0 2 sont les ensembles de sommets du graphe (faces intersectantes) et E 0 est l ensemble des arêtes (couples de faces en intersection). Sa sortie est également un graphe biparti G ( 1 I1 1, I1 2, E1) représentent les couples de faces en intersection au niveau suivant de subdivision. L algorithme opère en 4 étapes consécutives de la façon suivante : 1. Pour chaque nœud du graphe, les 1-voisinages des faces F i de l objet 1 et des faces G k de l objet 2 sont récupérés, ils sont respectivement notés V 1 (F i ) et V 1 (G k ). 2. Les V 1 (F i ), F i I 1 et V 1 (G k ), G k I 2 sont ensuite subdivisés partiellement de manière à conserver uniquement le 1-voisinage de la subdivision de F i et de G k notés W 1 (F i ) et W 1 (G k ) respectivement. 3. L algorithme de base est utilisé pour déterminer les couples de faces intersectantes entre W 1 (F i ) et W 1 (G k ).
100 78 Chapitre 4. Combinaison de surfaces (a) (b) Figure 4.26 : Construction du graphe biparti initial. 4. Le nouveau graphe biparti G 1 ( I 1 1, I1 2, E1) est construit à l aide de ces nouveaux couples de faces intersectantes. Figure 4.27 : Etape 1 : Récupération des 1-voisinages V 1 (F i ) et V 1 (G k ). L application de cet algorithme sur un exemple simple est montrée à travers les Figures 4.26 à Pour réduire le nombre de sommets du graphe, cette fois on considère l intersection du lapin (694 faces) avec une plus petite bande (10 faces). Ces Figures illustrent successivement la construction du graphe biparti initial, l étape 1 de récupération du voisinage, l étape 2 de subdivision partielle, l étape 3 de détermination des couples de faces en intersection et l étape 4 de construction du nouveau graphe d intersection.
101 4.3. Combinaison de surfaces de subdivision par intersection 79 Figure 4.28 : Etape 2 : Obtention des W 1 (F i ) et de W 1 (G k ) par subdivision partielle de V 1 (F i ) et V 1 (G k ). (a) (b) Figure 4.29 : Construction du nouveau graphe biparti à l aide des couples de faces en intersection de W 1 (F i ) et de W 1 (G k ).
102 80 Chapitre 4. Combinaison de surfaces Comparaison des trois algorithmes L algorithme du graphe biparti est celui qui permet de réduire au maximum le nombre de tests d intersection comme l illustrent les Figures 4.30 et Pour des surfaces comprenant peu de faces, par exemple au niveau 1 ou 2, le nombre de tests d intersection à effectuer dans le cadre des algorithmes de voisinage et du graphe biparti sont semblables. L algorithme de voisinage est alors plus rapide, Figures 4.32 et 4.33, puisqu il ne nécessite pas la construction du graphe biparti. Figure 4.30 : Comparaison du nombre de tests à effectuer pour les différents algorithmes dans le cas de l intersection de deux surfaces de 12 faces au niveau initial. Figure 4.31 : Graphes des données de la Figure L utilisation des boites englobantes des objets est justifiée pour chacun des algorithmes car des surfaces de subdivision peuvent être en intersection à un niveau de subdivision et ne plus l être au niveau suivant. De même, les boites englobantes des faces permettent pour les trois algorithmes d effectuer une détection des faces éventuellement en intersection et ainsi d éviter des calculs d intersection inutiles. Le problème inhérent au voisinage est exactement le même dans les algorithmes de voisinage et du graphe biparti. En effet, le voisinage choisi est suffisant dans la plupart des cas, mais il subsiste des
103 4.3. Combinaison de surfaces de subdivision par intersection 81 Figure 4.32 : Comparaison du temps de calcul pour les trois algorithmes sur des maillages initiaux de 12 faces. Figure 4.33 : Graphes des données de la Figure 4.32.
104 82 Chapitre 4. Combinaison de surfaces exceptions pour lesquelles ce voisinage n est pas suffisant. Une justification plus théorique de la taille du voisinage est nécessaire afin de déterminer les cas pour lesquelles le voisinage doit être étendu. 4.4 Combinaison des surfaces algébriques par les R-fonctions Cette section présente notre travail sur les opérations booléennes entre surfaces algébriques pour la reconstruction 3D, nous considérons que le nuage de points initial est décomposé en un ensemble de régions et que chaque région est approchée par une primitive surfacique et nous procédons à la combinaison des différentes primitives pour obtenir une représentation globale du nuage de points Introduction Dans un cadre de modélisation de type CSG, nous proposons de combiner des primitives, connues sous le nom de Les supershapes, présentées sont introduites par Gielis [76, 77] comme une extension des superquadriques, ayant une représentation à la fois paramétrique et implicite, par des fonctions de mélange, plus connues sous le nom de R-fonctions. Les représentations implicites des primitives sont combinées en une seule fonction implicite par l utilisation des R-fonctions. La surface de l objet résultant est ensuite directement et exactement évaluée en utilisant la représentation paramétrique de chaque supershape. Si tous les sommets générés par cette méthode appartiennent à l ensemble des points de l espace pour lesquels la fonction implicite résultante est nulle, les points représentant les courbes d intersections entre les primitives ne peuvent qu être approchés à une précision fixée par l utilisateur. Outre la modélisation d objets réels, composés pour les plus complexes de plusieurs centaines de supershapes, nous avons également exploité cette représentation dans le domaine de la reconstruction de surfaces à partir d objets synthétiques ou réels [64] Superquadriques et supershapes Les superquadriques, introduites par Alan Barr [11], ont été largement utilisées dans de nombreuses applications incluant l imagerie médicale, la vision par ordinateur, la modélisation ou la reconstruction de surfaces. Beaucoup d efforts ont été dédiés à l extension de leurs degrés de liberté : Löffelmann et al. s intéressent à la paramétrisation [109], DeCarlo et al. combinent de multiples modèles [35], et des déformations libres (FFD) sont utilisées par Bardinet et al. [8, 9]. Nous rappelons ci-après brièvement les principales caractéristiques des superquadriques avant d introduire leur extension par les supershapes de Gielis. La Figure présente quelques exemples de superquadriques (partie haute) et de supershapes (partie basse). L extension aux superquadriques 3D est obtenue par le produit sphérique de deux superquadriques 2D par : S x (θ, φ) ( ) S y (θ, φ) = gx (θ) g S z (θ, φ) y (θ) ( ) hx (φ) = h y (φ) Une superquadrique est paramétriquement définie par : g x (θ) h x (φ) g y (θ) h x (φ) h y (φ)
105 4.4. Combinaison des surfaces algébriques par les R-fonctions 83 Figure 4.34 : Exemples de superquadriques (en haut) et supershapes (en bas). x(η, ω) a 1 cos ε 1 η cos ε 2 ω y(η, ω) = a 2 cos ε 1 η sin ε 2 ω z(η, ω) a 3 sin ε 1 η (4.2) Une formulation implicite peut être déduite de la précédente représentation et est définie par : ( x F(x, y, z) a 1 ) 2 ε2 + ( y a 2 ) 2 ε2 ε 2 ε 1 ( ) 2 z ε1 + = 1 (4.3) a 3 Les supershapes ont récemment été introduites par Gielis [76, 77] comme une extension des superquadriques. Dérivant de la formulation des superellipses, le terme mφ 4, m R+, est introduit pour contrôler le nombre de symétries. A la place d un unique coefficient de forme, trois coefficients notés n 1, n 2 et n 3 sont désormais considérés. En coordonnées polaires, le rayon r(θ) d un superpolygone est défini par : r (θ) = 1 n 1 1 a cos ( ) mθ n b sin (, (4.4) ) mθ n 3 4 avec a, b et n i R +, et m R +. Les paramètres a > 0 et b > 0 contrôlent les dimensions du polygone, m 0 correspond au nombre de symétries et peut également être vu comme le nombre de fois où le plan réel est "plié" en secteurs. Si m est un entier naturel, la courbe générée est fermée et non auto-intersectante, ce qui permet de représenter l ensemble des polygones réguliers en utilisant les coefficients de formes proposés par Gielis. L extension aux supershapes 3D est effectuée par le produit sphérique de deux superpolygones de manière similaire aux superquadriques. Puisque nous nous intéressons aux objets solides non autointersectants, le paramètre m est considéré comme un entier naturel. Une supershape 3D est définie
106 84 Chapitre 4. Combinaison de surfaces paramétriquement par : x(θ, φ) r 1 (θ)r 2 (φ) cos θ cos φ y(θ, φ) = r 1 (θ)r 2 (φ) sin θ cos φ z(θ, φ) r 2 (φ) sin φ (4.5) avec π θ < π et π 2 φ π 2. Une supershape unitaire (a = b = 1) est donc définie par 6 coefficients de formes notés {n 1, n 2, n 3, N 1, N 2, N 3 }, où les n i et N i représentent les coefficients de forme utilisés dans les expressions r 1 (θ) et r 2 (φ) respectivement. Dans [77], deux fonctions de distance sont proposées pour les supershapes : l idée des auteurs consiste à projeter un point considéré sur les plans orthogonaux supportant les deux polygones générateurs, puis à évaluer séparément pour chaque projeté sa distance au polygone générateur. Nous proposons deux fonctions implicites, la première étant directement déduite de la représentation paramétrique des supershapes présentée par l équation (4.5), la seconde étant basée sur la notion de distance radiale. L avantage de ces deux formulations est d obtenir une seule valeur signée pour un point donné de l espace et de pouvoir décrire implicitement l intérieur, l extérieur ou la surface d une supershape 3D. La première representation implicite, déduite de la représentation paramétrique de manière similaire aux superquadriques, est définie par : F (x, y, z) = 1 x2 +y 2 +r 2 1 (θ)z2 r 2 1 (θ)r2 2 (φ) (4.6) Pour la seconde formulation implicite, basée sur la notion de distance radiale, nous exprimons une fonction du rapport t = OI, I représentant l intersection de la surface de la supershape et de la demi droite [OP) : OI F (x, y, z) = 1 OP = 1 t OI x = y 2 + z 2 r1 2 (θ) r2 2 (φ) cos2 φ + r2 2 (φ) sin2 φ = 1 1 r 2 (φ) x 2 + y 2 + z 2 cos 2 φ ( r1 2 (θ) 1) + 1 (4.7) Quand t = 1, le point P réside sur la surface (t < 1 et t > 1 représentant respectivement l intérieur et l extérieur de la supershape). Il est important de remarquer que les angles θ, φ ne correspondent pas exactement aux traditionnelles coordonnées sphériques. En fait, il est facile de vérifier que pour un couple (θ, φ), les coordonnées sphériques (R = cte, θ, φ) et les coordonnées de supershapes (R = f (θ, φ), θ, φ) sont équivalentes seulement pour r 1 (θ) = 1. Pour un point de l espace P(x, y, z), exprimé dans le repère canonique, et une supershape unitaire, i.e. (a = b = 1 pour les deux superpolygones générateurs), les angles θ et φ sont définis par : θ = θ (x, y) φ = φ (x, y, z, n 1, n 2, n 3 ) = arctan ( ) y x = arctan ( zr 1 (θ) sin(θ) y = arctan ( zr 1 (θ) cos(θ) x ) ) (4.8)
107 4.4. Combinaison des surfaces algébriques par les R-fonctions 85 Il est à noter que φ est non seulement fonction des coordonnées (x, y, z) du point P, mais également des 3 coefficients de forme utilisés dans r 1. Pour déterminer θ et φ, il faut résoudre l équation I(θ, φ) = tp, c est à dire trouver θ et φ tels que les points I, P et O soient alignés comme l illustre la Figure 4.35(a). Les supershapes peuvent être représentées à la fois par leur forme paramétrique et une forme implicite, ce qui signifie que la forme paramétrique peut être directement utilisée pour générer exactement les solutions de la forme implicite. Comme I est un point de la surface, ses coordonnées vérifient l équation (4.5). On peut voir que P y P x = I y I x = tan θ, ce qui nous donne l angle θ. Une fois θ connu, le rayon r 1 du premier superpolygon générateur peut être évalué. En utilisant une idée similaire, i.e. en exprimant la quantité tan φ dans l équation (4.5), on déduit P zr 1 (θ) sin θ P y = I zr 1 (θ) sin θ I y = tan φ, ce qui nous donne les valeurs de θ et φ définies dans l équation (4.8). Les formes semi-développées en fonction des coordonnées (x, y, z) des deux représentations implicites sont donc définies par : et F (x, y, z) = 1 r 2 1 ( ( x 2 +y 2 +r1 2 arctan y )) x z 2 ( ( ( ( )) (4.9) arctan y x)) r 2 zr1(arctan( 2 arctan y x)) sin(arctan( y x)) 1 F (x, y, z) =1 ( )) zr1(arctan( r 2 (arctan y x)) sin(arctan( y x)) y (4.10) x 2 + y 2 + z ( 2 )) zr1(arctan( cos (arctan 2 y x)) sin(arctan( y ( ( ( x)) y r 2 1 arctan y )) ) x y (a) (b) Figure 4.35 : Supershapes. (a) Interprétation géométrique. (b) L intensité du champs scalaire généré pour une section plane z = const en utilisant l équation (4.6). En d autres termes, pour un point P(x, y, z), nous évaluons d abord les angles θ et φ puis les rayons r 1 et r 2 qui sont ensuite utilisés dans les fonctions définies par les équations (4.6) ou (4.7). La raison pour laquelle nous considérons m comme un entier naturel apparaît désormais clairement : avec m rationnel, la surface serait toujours fermée, mais elle serait auto-intersectante, ce qui impliquerait l existence de multiples points d intersection entre la surface et la demi-droite [OP). La Figure 4.35(b) illustre l intensité du champ scalaire pour un plan z = const en utilisant la première forme implicite. La Figure 4.36 présente plusieurs exemples de supershapes pour des jeux de paramètres différents.
108 86 Chapitre 4. Combinaison de surfaces (a) (b) (c) (d) Figure 4.36 : Example of 3D supershapes with m a natural number. (a) m = 3, M = 6, n 1 = N 1 = 1000, n 2 = n 3 = 1980 N 2 = N 3 = 390. (b) m = 5, M = 6, n i = 100, N i = 10, i = 1, 2, 3. (c) m = 8, M = 4, n 1 = 1.5, n 2 = 3.5, n 3 = 1, N i = 100, i = 1, 2, 3. (d) m = M = 8, n 1 = N 1 = 100, n 2 = n 3 = N 2 = N 3 = R-fonctions La théorie des R-fonctions a été introduite par V.L. Rvachev à la fin des années soixante [151]. Initialement écrite en russe, les principaux passages ont été traduits en anglais par Shapiro [157]. Une R-fonction est une fonction à valeur réelle caractérisée par une propriété qui est complètement déterminée par la propriété correspondante de ses arguments (telle que le signe ou encore l appartenance à un intervalle). En particulier, certaines fonctions réelles à variables réelles possèdent la propriété que leur signe est complètement déterminé par le signe de leurs arguments. Par exemple, le signe de la fonction f (x) = xy est complètement déterminé par le signe de ses arguments alors que pour la fonction f (x) = sin(xy), non seulement les signes des arguments, mais également leurs amplitudes influencent le signe de la fonction. Nous nous intéressons plus spécifiquement aux applications de la théorie des R-fonctions pour résoudre le problème inverse de géométrie analytique. Résoudre le problème au sens général signifie que n importe quel objet clos peut-être décrit par une seule équation analytique f = 0 ou bien inégalité f 0, vérifiée seulement sur la surface ou l intérieur de l objet respectivement. De plus, la fonction résultante doit être différentiable un certain nombre de fois. Dans [152, 153], Rvachev démontre qu en combinant algèbre booléenne et plus généralement algèbre à n valeurs avec un ensemble de fonctions légèrement plus riche que les polynômes, le problème inverse de géométrie analytique peut être résolu en général. (a) (b) Figure 4.37 : Un exemple d objet. (a) Diagramme de Venn. (b) quadrants booléens.
109 4.4. Combinaison des surfaces algébriques par les R-fonctions 87 Pour présenter les R-fonctions, commençons par le diagramme de la Figure 4.37(a). Nous désirons représenter l objet D, en bleu sur la Figure 4.37(a). D peut être décrit par la fonction booléenne suivante, appliquée à tous les points de chaque disque C O, C A et C B, de centres respectifs O, A et B : D = C O (C A C B ). (4.11) Nous pouvons introduire le prédicat suivant pour faire correspondre une variable réelle x à une variable booléenne : S (x) = 1 (1 + signe (x)), x 0 (4.12) 2 Puisque nous considérons une logique binaire exclusive, le cas du zéro doit être traité spécifiquement, c est à dire qu il doit appartenir à l un ou l autre des intervalles. Nous renvoyons le lecteur intéressé à la section 1.6 de [157] à propos des discussions sur l appartenance du zéro à l une ou l autre des partitions de l axe réel. Soient les inégalités ω O (x, y) 0, ω A (x, y) 0 et ω B (x, y) 0 décrivant l intérieur des disques C O, C A et C B respectivement. Par substitution de ces inégalités dans l équation (4.11) et en utilisant le prédicat (4.12), nous obtenons l équation prédicat suivante : F(S (ω O (x, y)), S (ω A (x, y)), S (ω B (x, y))) = 1, (4.13a) ou, sur notre exemple, avec F et S fonctions booléennes. S (ω O (x, y)) (S (ω A (x, y)) S (ω B (x, y))) = 1, (4.13b) Cette équation prédicat définit le même domaine que (4.11). En utilisant (4.12), nous pouvons maintenant introduire le concept de R-fonction. Tout point (x, y) non dégénéré du plan (i.e. avec au moins une coordonnée non nulle) peut être mis en correspondance avec un ensemble de variables booléennes {X, Y} par : X = S (x), Y = S (y). Il existe quatre combinaisons différentes de deux variables booléennes (i.e. les couples (0,0), (0,1), (1,0) et (1,1)) comme l illustre la Figure 4.37(b). Une fonction f (x, y) ayant un signe constant dans chaque quadrant est appelée R-fonction, c est à dire : S ( f (x, y)) = F = const. avec F une variable booléenne. La Figure 4.37(b) représente les différents cas possibles définissant une variable booléenne F du plan réel, et illustre que le signe d une R-fonction est défini par le signe de ses arguments. Nous pouvons donc écrire : S ( f (x, y)) = F(S (x), S (y)). En tant que variable binaire, le signe peut être traité comme une variable booléenne. La théorie des R- fonctions permet de construire des fonctions représentant exactement n importe quelle forme fermée. De plus, de la même manière que toute fonction logique peut être exprimée en utilisant seulement trois axiomes,, and, toute R-fonction peut être représentée par composition des trois R-fonctions correspondantes, i.e. R-conjonction, R-disjonction et R-négation. Par soucis de clarté et de simplicité, nous utiliserons la notation pour désigner l opération de R- conjonction et + pour désigner l opération de R-disjonction. La R-négation correspond à la fonction opposée x x. Les trois majeures branches de R-fonctions introduites par Rvachev sont notées R α, R m 0 et R p. Une illustration de la R-disjonction de deux disques, utilisant ces trois fonctions, est présentée en Figure Les Figures 4.38(a), 4.38(b) et 4.38(c) illustrent l intensité de la fonction de mélange sur l intervalle [ 1, 1] 2. Le maximum de la fonction est représenté en rouge, le minimum en bleu. Sur chaque figure, les points du plan tels que f (x, y) = 0 sont en noir. Sur les Figures 4.38(a),
110 88 Chapitre 4. Combinaison de surfaces 4.38(b) et 4.38(c), on voit donc apparaître la frontière séparant les sous-espaces où la fonction est de signe opposé. Sur notre exemple, la fonction de mélange est négative sur le carré paramétrique [ 1, 0] 2 (en bas à gauche sur les trois premières figures) et positive ailleurs, ce qui correspond à un OU logique : x 0 ou y 0. Les Figures 4.38(d), 4.38(e) et 4.38(f) illustrent l intensité de la fonction implicite correspondant à l union de deux disques. Dans ce cas, la surface de l objet résultant, correspondant sur notre exemple aux points du plan tels que F(x, y) = R ( f 1 (x, y), f 2 (x, y)) = 0, est représentée en noir, le maximum de la fonction en rouge (intérieur) et le minimum en bleu (extérieur). (a) (b) (c) (d) (e) (f) Figure 4.38 : Fonctions de mélange et exemple d union de deux disques. Intensité des R-disjonctions (a) R α=1 (x, y) = max(x, y), (b) R m=2 0 (x, y) et (c) R p=4 (x, y) sur l intervalle [ 1, 1] 2. En bleu la fonction est minimum et maximum en rouge sur cet intervalle. En noir est représentée la courbe R (x, y) = 0. Intensité de la fonction implicite correspondant à l union de deux disques d équations f 1 (x, y) et f 2 (x, y) en utilisant respectivement (d) R α=1 ( f 1 (x, y), f 2 (x, y)) = max( f 1 (x, y), f 2 (x, y)), (e) R m=2 0 ( f 1 (x, y), f 2 (x, y)) et (f) R p=4 ( f 1 (x, y), f 2 (x, y)) Propriétés de R α R α : ( ) 1 x + y ± x 1 + α 2 + y 2 2αxy (4.14) Où α( f 1, f 2 ) est une fonction symétrique choisie arbitrairement telle que 1 < α( f 1, f 2 ) 1. Choisir α( f 1, f 2 ) = 1 conduit à la plus simple et populaire branche de R-fonctions : R-conjonction min(x, y) et R-disjonction max(x, y). Malheureusement, ces deux fonctions ne sont pas différentiables le long de la ligne x = y.
111 4.4. Combinaison des surfaces algébriques par les R-fonctions 89 Propriétés des R m 0 et R p Pour éviter la perte de différentiabilité le long de la ligne x = y, deux autres branches de R-fonctions R m 0 et R p sont présentées par Rvachev : R m 0 : (x + y ± x 2 + y 2 ) (x 2 + y 2) m 2 (4.15) Le paramètre m est un entier pair positif. Shapiro a démontré dans [158] que R m 0 est m fois partout différentiable. Malheureusement, R m 0 n est pas normalisée. La R-fonction R p, normalisée et différentiable partout sauf pour le point x = y = 0, est définie par pour tout entier p pair positif. R p : x + y ± ( x p + y p) 1 p (4.16) R-functions N-aires Les R-fonctions R α, R m 0 et R p ne prennent en compte que deux arguments. Rvachev propose les R- conjonction and R-disjonction N-aires pour prendre en compte un nombre d arguments supérieur à deux. Le paramètre m est un entier et correspond à celui utilisé pour la R-fonction R m. i=n (m) i=1 x i n n ( 1) m xi m (x i x i ) + xi m (x i + x i ) (4.17a) i=1 i=1 i=n (m) i=1 x i n i=1 x m i n (x i + x i ) xi m ( 1) m ( x i x i ) (4.17b) i= Modélisation Notre approche est caractérisée par l utilisation de primitives (supershapes) pouvant être représentées explicitement et paramétriquement et leur combinaison implicite par R-fonction. L emploi de fonction implicite permet de diminuer considérablement la complexité des test d inclusion intérieur/extérieur à chaque étape de l algorithme. Dans le même temps, la forme paramétrique permet de générer directement et exactement les points appartenant à la surface de chaque supershape et permet de préserver les arêtes vives de la surface finale. Une surface peut être représentée comme l ensemble des points de l espace où une fonction est constante, généralement nulle par convention. Le lien avec la modélisation géométrique apparaît clairement en remarquant qu une fonction implicite peut être utilisée comme fonction caractéristique pour déterminer l appartenance d un point à l intérieur, l extérieur ou à la surface d un objet. Notre approche s inscrit dans le cadre de l approche CSG où un objet complexe est représenté comme une composition booléenne d objets de plus simple nature, appelés primitives. La représentation prend donc la forme d un arbre où les nœuds intermédiaires correspondent aux opérations booléennes et les feuilles aux primitives. L objet final est obtenu en évaluant la racine de l arbre CSG par parcours infixe.
112 90 Chapitre 4. Combinaison de surfaces (a) (b) Figure 4.39 : Déformations. (a) De gauche à droite : supershape mise à l échelle, pincement, vrille, torsion et combinaison des quatre déformations. (b) Exemple de déformation appliquée à la racine d un arbre CSG représentant un boulon. Initialement, les primitives considérées sont des supershapes, mais pour permettre de modéliser un plus large champ d objets, nous avons également considéré des déformations globales à chaque nœud de l arbre. Avant d évaluer le résultat d un nœud de l arbre, il convient donc d inverser les transformations successives qui lui ont été appliquées pour se ramener dans le référentiel canonique. Déformations Les déformations de mise à l échelle, de pincement linéaire, de vrille et torsion peuvent être appliquées comme l illustre la Figure 4.39(a). Sans perte de généralité, nous pouvons écrire l équation implicite d une surface déformée par : F(P can ) = F ( D 1 (P) ) (4.18) où D 1 représente la transformation inverse pour ramener P à P can exprimé dans le référentiel canonique. Dans notre cas, D est composé des usuelles transformations comme les rotations et translations, mais également des quatres déformations précédentes. De plus, les déformations ne sont pas uniquement appliquées aux primitives de l arbre CSG mais peuvent être appliquées à tous ses nœuds comme l illustre la Figure 4.39(b) où une vrille et une torsion sont appliquées directement à la racine. Ces quatre déformations sont appliquées dans l ordre suivant : De f = T orsion Vrille Pincement Echelle Pincement linéaire Le pincement linéaire permet principalement de générer des objets de forme conique ou prismatique : pour un point P(x, y, z), x et y sont dilatés ou contractés en fonction de leur altitude z et des coefficients k x et k y, coefficients de pincement le long des axes O x et O y respectivement. Le pincement linéaire est défini par : ( ) kx X = + 1 x a 3 ( ) ky Y = + 1 y a 3 Z = z
113 4.4. Combinaison des surfaces algébriques par les R-fonctions 91 Vrille, ou torsion axiale La vrille, ou torsion axiale, peut être vue comme une rotation autour d un axe passant par le point de coordonnées (O x, O y ), parallèle à l axe (Oz) et d angle proportionnel à l altitude z. La vrille permet de générer des objets de forme hélicoïdale et est définie par Avec θ = f (z) = X = (x O x ) cos θ (y O y ) sin θ Y = (x O x ) sin θ (y O y ) cos θ Z = z z Zmin Zmax Zmin et O centre de rotation de coordonnées (O x, O y ). Torsion avec r = X = x + (R r) cos α Y = y + (R r) sin α ( ) 1 Z = k r sin (z k) ( x 2 + y 2 cos α arctan y ) x R = 1 k ( 1 k r ) cos(z k) k représente la courbure de l objet et α l angle de rotation du plan de courbure. Algorithme de calcul des opérations booléennes Nous nous intéressons aux details des deux principales opérations effectuées pour évaluer chaque nœud intermédiaire : le marquage des sommets dans un premier temps, puis le découpage des surfaces des deux sous-arbres gauches et droits avant leur fusion pour obtenir l objet final. L algorithme à appliquer à chaque nœud est représenté par la Figure La première étape évalue les sommets des maillages à conserver en fonction de l opération booléenne. La fonction implicite correspondante de chaque sous-arbre (fonction implicite de la supershape pour une feuille ou bien R-fonction pour les nœuds intermédiaires) est évaluée à chaque sommet de l autre sous-arbre. Son signe permet de déterminer quels sont les sommets situés à l intérieur ou à l extérieur de l objet. Un sommet appartenant exactement à la surface de l objet a une fonction nulle. Une fois les tests intériorité/extériorité effectué, il reste à détecter les faces intersectantes entre les deux maillages pour déterminer les portions des deux maillages à conserver. Une face intersectante, c est à dire traversant la surface de l autre objet, est caractérisée par un changement de signe de la fonction implicite le long de ses arêtes, comme présenté en Figure 4.41(a). Les problèmes de détection d intersections
114 92 Chapitre 4. Combinaison de surfaces Figure 4.40 : Schéma général de l algorithme qui calcule les opérations booléennes (a) (b) Figure 4.41 : Détection et découpage des faces intersectantes. (a) Séquence de faces traversées par une courbe d intersection. (b) Sur un segment paramétrique, l approximation d un point d intersection I + ou I dépend de l opération booléenne. sont classiques dans le cadre des opérations booléennes entre solides. Malheureusement, déterminer exactement les courbes d intersections, c est à dire les changements de signe de la fonction implicite, équivaut à résoudre explicitement l équation arbre gauche = arbre droit, ce qui n est pas possible dans le cadre général. Il convient donc d approcher ces courbes d intersection à une precision souhaitée comme l illustre la Figure 4.41(b). En pratique, ne disposant pas d une telle solution, nous évaluons non seulement la fonction implicite aux sommets des maillages, mais également le long de leurs arêtes. La complexité de l évaluation de la fonction implicite est constante et ne dépend pas du nombre de faces considérées. Cet avantage, dû à la représentation implicite des deux objets, permet donc d évaluer un échantillonnage des arêtes pour y détecter un éventuel changement de signe. Dans les cas où de multiples changement de signes sont détectés le long d une arête, les deux faces partageant cette arête sont subdivisées pour garantir un seul changement de signe par arête au maximum. Après cette étape, les faces intersectantes entre les deux maillages sont déterminées et vont être utilisées au cours du découpage des maillages le long des courbes d intersection. Les approximations des points d intersection sont évaluées par dichotomie le long des bords des faces traversant la surface avec une précision fixée par l utilisateur comme l illustre la Figure 4.41(b). La précision de l approximation des points d intersection est contrôlée par le paramètre ε, un second paramètre noté δ permet de contrôler la densité des points le long des courbes d intersection. Une fois les approximations des courbes d intersection déterminées, les faces intersectantes des deux maillages sont découpées le long de ces courbes. La dernière opération avant d obtenir le maillage final consiste à fusionner les
115 4.4. Combinaison des surfaces algébriques par les R-fonctions 93 (a) (b) (c) Figure 4.42 : Exemple de pièce mécanique I : 24 supershapes et 21 opérations booléennes. (a) Modèle CAO, (b) Représentation par supershapes, (c) Intensité de la fonction implicite en utilisant R p=2 -fonctions. (a) (b) (c) Figure 4.43 : Exemple de pièce mécanique II : 54 supershapes et 31 opérations booléennes. (a) Modèle CAO, (b) Représentation par supershapes, (c) Intensité de la fonction implicite en utilisant R p=2 - fonctions. deux maillages le long des courbes d intersection. Nous renvoyons le lecteur intéressé à [15] pour la technique utilisée. Les Figures 4.42, 4.43 et 4.44, illustrent l application de notre algorithme pour représenter un objet complexe inspiré du maillage CAO d un pont arrière de camion. L arbre CSG pour représenter un tel maillage est composé de plusieurs centaines de nœuds : 235 supershapes combinées par 238 opération booléennes. Les Figures 4.42 et 4.43 présentent deux sous parties issues du modèle CAO et leur représentation par supershapes. Les Figures 4.42(c) et 4.43(c) illustrent l intensité de la fonction implicite correspondante. Sur la surface des deux objets, la fonction implicite est nulle (en bleu), à l intérieur de l objet, la fonction est positive, son maximum étant en rouge Reconstruction de Surfaces Comme nous pouvons désormais représenter des objets solides comme composition booléenne de supershapes, nous nous intéressons aux différentes techniques pour reconstruire une surface implicite à partir de données provenant de numérisations 3D d objets réels. Notre objectif est de combiner les supershapes reconstruites à partir de nuages de points pré-segmentés provenant du nuage complet à reconstruire. A chaque sous-partie reconstruite correspond une équation
116 94 Chapitre 4. Combinaison de surfaces Figure 4.44 : Pont arrière de camion : modèle CAO (gauche) et sa représentation par supershapes (droite). implicite de supershape qui va être combinée en utilisant les R-fonctions. L équation implicite finale est utilisée pour définir une métrique d erreur pour notre reconstruction. Pour réduire les dimensions de l espace des paramètres à reconstruire, nous ne considérons plus que les déformations appliquées aux supershapes. La Figure 4.46 illustre chacune de ces trois étapes. Les superquadriques ont été largement utilisées en reconstruction de surface [8, 9, 35, 98, 97]. Dans la plupart des cas, les méthodes d optimisation telles que Levenberg-Marquardt sont utilisées pour retrouver les paramètres d une superquadrique à partir d un nuage de points. Les paramètres d une supershapes sont notés Λ = {D, T, R, n i, N i }, i = 1, 2, 3. D représente les déformations, T les translations et R les rotations. Différentes fonctions de coût ont été proposées dans la littérature, Gross et al. [78] proposent une fonction de coût basée sur la notion de distance radiale, Solina et al. [163] proposent la fonction suivante : F (Λ) = N ( f ε 1 (P i ) 1 ) 2 i=1 (4.19) où f représente la fonction implicite d une superquadrique et ε 1 son premier coefficient de forme. Nous considérons l ensemble des paramètres Λ à reconstruire en minimisant la fonction F (Λ) = a 1 a 2 a 3 n f 2 (P i ) (4.20) i avec a 1, a 2 et a 3 coefficients d échelle. Cette formulation a l avantage de permettre de reconstruire des supershapes à partir de données partiellement incomplètes en considérant des primitives de volume minimal. Notre technique est similaire à celle utilisée pour les superquadriques, sauf pour les deux paramètres m 1 and m 2, contrôlant le nombre de symétries des polygones générateurs, qui sont déterminés géométriquement avant le processus d optimisation. Nous renvoyons le lecteur intéressé à [175, 159] pour de plus amples explications sur les détections de symétries. Une fois les paramètres m 1 et m 2 estimés, les autres coefficients sont determinés en utilisant la méthode de Levenberg-Marquardt. La Figure 4.45 présente une illustration de l évolution de la supershape reconstruite à différentes itérations. L objet initial, comme pour les superquadriques, est une ellipse (n 1 = n 2 = n 3 = 2 pour les deux superpolygones générateurs). Une fois toutes les supershapes reconstruites, nous appliquons notre algorithme de modélisation pour ob-
117 4.4. Combinaison des surfaces algébriques par les R-fonctions 95 tenir le maillage représentant la surface implicite définie par l union de toutes les supershapes comme présenté en Figure 4.46(b). (a) (b) (c) Figure 4.45 : Evolution d une supershape reconstruite à partir d un nuage de synthèse. (a) Objet initial. (b) Résultat après 1 itération (c) Résultat après 5 itérations. Si le procédé converge rapidement sur des données de synthèse, la convergence devient plus lente sur des données réelles bruitées. Le procédé peut également être piégé dans un minimum local si les données sont trop bruitées ou incomplètes. Un exemple de convergence vers un minimum local peut être observé sur la Figure 4.46(c). Le nuage de point représentant le boulon supérieur gauche (en marron sur la figure) est trop bruité et incomplet pour être précisément reconstruit, même en initialisant manuellement la plupart des paramètres tels que les dimensions et le positionnement. (a) (b) (c) Figure 4.46 : Modèle "Waterneck", maillage, surface reconstruite, et erreur de reconstruction. Le modèle original est composé 134k faces. (a) Maillage segmenté manuellement en 9 parts. (b) Représentation par supershapes. (c) Mesure d erreur (bleu pour l erreur minimum et rouge pour l erreur maximum.
118 96 Chapitre 4. Combinaison de surfaces 4.5 Contraintes géométriques pour la combinaison et la modélisation de surfaces Dans le cadre de la thèse de David Ménegaux, que je codirige avec le Professeur Dominique Michelucci, nous nous intéressons à l utilisation des contraintes géométriques pour la construction et le raccordement de surfaces algébriques. La thèse est encore en cours, les premiers tests réalisés sur les courbes algébriques ont donné des résultats prometteurs [119]. Des contraintes telles que points multiples d une courbe, raccordement de plusieurs morceaux de courbes ont été testées. Avec le Professeur Dominique Michelucci nous avons également étudié comment exprimer les contraintes géométriques de façon intrinsèque (indépendamment de tout repère de coordonnées) en utilisant les déterminants de Cayley-Menger [122] et en utilisant les fonctions noyaux (kernel functions) [121]. Plus récemment nous avons proposé une méthode simple et fiable pour détecter les dépendances dans un système de contraintes [63]. Le lecteur intéressé peut avoir de plus amples détails sur ce travail en se rapportant à [122, 121, 63]. 4.6 Conclusion La combinaison de surfaces est une opération indispensable en modélisation géométrique. Les trois approches présentées montrent qu il restent encore des efforts à faire pour résoudre complètement ce problème. Trouver une méthode générale qui s applique à tous les types de surfaces n est pas vraiment possible, les algorithmes proposés dépendent beaucoup de la nature des surfaces manipulées. Les cyclides de Dupin semblent bien convenir pour les jointures et les combinaisons des quadriques. L utilisation des courbes rationnelles quadratiques de Bézier pour exprimer les cercles principaux de la cyclide a facilité cette jointure (La CdD est construite à l aide de deux triplets de points). Cependant, beaucoup de travail reste à faire pour étendre leur utilisation aux autres surfaces. Nous pensons notamment à l étude des supercyclides et à l utilisation de carreaux de supercyclides pour la modélisation surface complexes. L idée d utiliser la courbe d intersection de deux surfaces au premier niveau de subdivision pour calculer l intersection aux niveaux supérieurs peut être mieux concrétisée par la définition d un schéma de subdivision qui combine les schémas des deux surfaces et qui permet de subdiviser la courbe d intersection au premier niveau pour trouver la courbe aux niveaux supérieurs. Une autre possibilité serait de calculer la courbe d intersection à un niveau de subdivision très élevé et utiliser une analyse multirésolution pour naviguer entre les différents niveaux. Nous pouvons, dans ce cas, nous baser sur le travail de Michael Roy et utiliser les schémas de multirésolution qu il a développé. Le reste du travail de Yohan Fougerolle a pour objectif d utiliser la méthode proposée pour la combinaison de surfaces algébriques (supershapes) dans une démarche de reconstruction 3D. Nous avons illustré le potentiel de notre approche à représenter des objets complexes comme le modèle CAO d un pont arrière de camion où plusieurs centaines d opérations booléennes sont effectuées sur plusieurs centaines de supershapes.
119 Chapitre 5 Modélisation de produits Ce chapitre décrit nos activités de recherche sur le développement de modèles pour la représentation des informations, géométriques et/ou non géométriques, caractérisant le cycle de vie du produit (Product Lifecycle Management - PLM). Ces recherches sont le résultat d une collaboration avec l Institut National des Standards et de la Technologie (NIST), qui se situe à Gaithersburg dans l état du MAryland, Etats-Unis. 5.1 Introduction L évolution des outils de la gestion informatisée des données relatives au développement de produits a connu trois générations. La première génération concerne les systèmes de CAO/CFAO qui sont devenus des outils inévitables pour définir le modèle géométrique et les procédés de fabrication d un produit. Ces systèmes offrent des solutions riches et très techniques pour une conception fine et détaillée. Le développement continu des produits et les quantités importantes de données générées par ce développement a donné naissance à la deuxième génération : il s agit des systèmes de gestion des données produits (product data management (PDM)). Les systèmes de PDM permettent de gérer, de mettre à jour et de contrôler la validité des informations qui sont initialement essentiellement géométriques ou en relation avec la géométrie. L émergence du concept de l entreprise étendue a vite montré les limites des PDM en faisant apparaître un besoin vital à gérer les autres données relatives aux différentes ressources de l entreprise, à la clientèle, aux chaînes logistiques, etc. Ce besoin a donné lieu à la troisième génération de systèmes, qui inclut une grande variété d outils (Enterprise Resource Planning (ERP), Customer Relationship Management (CRM), Supply Chain Management (SCM), etc.). Bien que ces applications ont considérablement facilité et amélioré les communications et l échange de données entre tous les acteurs du cycle de vie du produit, elles se sont avérées insuffisantes en ce qui concerne l aide à l innovation et à la créativité au sein de l entreprise, et ceci pour les deux raisons suivantes : (i) Ces outils se sont concentrés sur les activités annexes et non pas sur l amélioration des composants de base de l activité d obtention des produits (lien entre modèles CAO et gammes d usinage, optimisation des paramètres de fabrication, etc.). (ii) Ces outils ont tendances à se baser sur des modèles de données fortement structurés, ce qui n est pas le cas des environnements de développement de produit qui sont souvent submergés par des flux d informations importants et non structurés. 97
120 98 Chapitre 5. Modélisation de produits La nouvelle génération d applications de gestion de produit se base sur une nouvelle stratégie, dites Product Lifecycle Management (PLM), qui vise à prendre en considération tout ce qui concerne le produit (données, coûts, paramètres, acteurs, etc.) tout le long de son cycle de vie, et donc fournir un support de gestion et de développement du produit de sa première conceptualisation à son démantèlement ou son recyclage. PRODUCT USE: WARRANTY EXPERIENCE MAINTENANCE RECORD DISPOSAL: RECOVERY RECYCLING IDEATION: MARKET RESEARCH USER FEEDBACK INNOVATION CONCEPTUALIZATION MANUFACTURING: PLANNING SUPPLY CHAIN CREATION DISTRIBUTION DESIGN ORGANIZATION: PEOPLE INFORMATION INFRASTRUCTURE KNOWLEDGE DESIGN EVALUATION: ANALYSIS SIMULATION PERFORMANCE EVALUATION QUALITY EVALUATION DETAILED DESIGN: PRODUCT PROCESS Figure 5.1 : Le cycle de vie du produit. CONCEPTUAL DESIGN: PRODUCT PROCESS Notre vision du cycle de vie du produit est illustrée par la Figure 5.1. Les nœuds sur le bord du cercle représentent les phases principales dans le cycle de vie : conceptualisation, organization des ressources, conception, analyse, simulation et vérification, fabrication et distribution, performances d utilisation et les feed-back des clients. Les liens entre ces nœuds symbolisent la transition des données d une phase à une autre. Les liens intérieurs symbolisent les différents feed-back entre différentes phases, ces liens créent des boucles donnant lieu aux réexamens, aux nouvelles conceptions et donc aux améliorations successives du produit. Les données manipulées par les systèmes de CAO traditionnels sont, généralement, géométriques, mais l évolution grandissante des produits exige de gérer un flux de données de plus en plus important et hétérogène (contenant des données géométriques et non géométriques). Le besoin de gérer les données non géométriques est plus ressenti dans le monde interconnecté d aujourd hui. En effet, les facilités offertes par les réseaux rendent la fabrication de ces produits de plus en plus distribuée dans le temps et dans l espace. Des équipes distantes travaillent, en parallèle, pour la réalisation des différentes parties composant un même produit. Pour une meilleure synchronisation des tâches et des objectifs, ces équipes ont besoin d échanger les données relatives aux modèles de CAO, mais aussi les autres données relatives à la formalisation du besoin client, aux spécifications et décompositions
121 5.2. Outils pour le PLM 99 fonctionnelles, à l analyse de conception, aux plans de fabrication, etc., une nouvelle génération de systèmes de CAO est donc nécessaire pour capturer et gérer le large spectre d informations générées et utilisées tout le long du cycle de vie du produit et pour garantir des échanges sans perte de ces données entre les différents acteurs [140]. Le NIST a proposé un modèle générique, dit Core Product Model (CPM) [52], qui contient les éléments fondamentaux pour représenter tout produit. Le CPM a été conçu comme une représentation des informations relatives au développement de produits et peut être vu comme une base pour le développement de la nouvelle génération d outils de CAO. Ce modèle fournit une représentation de produits manufacturiers (artifacts) contenant une large variété de concepts d ingénierie de produits au delà de la géométrie. Cette représentation inclut les notions de forme, fonction, comportement, matériaux, décompositions physiques et fonctionnelles, la mise en correspondance entre la fonction et la forme ainsi que plusieurs relations entre ces différents concepts. La première version du CPM a été publiée par le Professeur Steve Fenves en 2002 [52], le modèle luimême est représenté comme un diagramme de classe largement influencé par le schéma relationnel. Avec Steve Fenves et les autres collègues du NIST nous avons procédé à une révision du CPM pour proposer une nouvelle version (CPM2) dans laquelle le modèle a été enrichi par de nouvelles classes et formalisé différemment pour être représenté sous forme d un diagramme UML [51, 58]. Avec Nicolas Bouillon, dans le cadre de son stage de DEA, nous avons également proposé un schéma XML et une implantation Java pour le CPM2. La pluspart des produits manufacturiers qui nous entourent sont des assemblages de plusieurs composants. Ainsi, la capture et la représentation des données d assemblage font donc parti des éléments de base de la modélisation produits. Une extension du CPM, dite Open Assembly Model (OAM), pour la gestion de ces assemblages avait été proposée [173]. L OAM décrit les composants et leurs relations dans un assemblage. Il s appuie sur la norme d échange de données STEP [93, 95, 96] pour l extraction des informations géométriques, les autres informations relatives au fonctions, formes, comportement, ajustement, etc. sont créées (saisies) directement dans le modèle. Nous avons étudié l utilisation combinée du CPM et de l OAM pour modéliser et échanger le flux d informations générées pendant toutes les phases de la conception d un objet manufacturier. L exemple étudié a montré la capacité de ces deux modèles combinés à assurer une intégration parfaite des informations décrivant l objet [171, 172]. La section 5.2 résume le CPM2 et montre comment le combiner avec l OAM pour capturer les données de conception. Elle discute également une typologie des normes sur lesquelles les systèmes de gestion des phases du cycle de vie du produit, dits PLM, peuvent s appuyer. La section 5.3 résume notre travail sur l utilisation des ontologies pour l intégration de normes et montre comme exemple l intégration de deux normes dans la phase de fabrication d un produit. 5.2 Outils pour le PLM Le CPM : un modèle de base pour représenter les données de conception Le CPM est un diagramme de classe UML centré autour de la classe Artifact qui représente le produit, Figure 5.2. On constate quatre categories de classes : des classes abstraites (comme CoreProductModel, CommonCoreObject) qui fournissent la couche de base du modèle, des classes ordinaires qui re-
122 100 Chapitre 5. Modélisation de produits présentent des entités réelles (comme Artifact, Form, Feature), des classes décrivant des associations entre entités (CommonCoreRelationship) et les classes d utilité générale (Information, ProcessInformation, Rational) qui sont utilisées par les autres classes. CoreProductModel CommonCoreRelationship +ccrelationship CommonCoreObject 0..* associatedcco +requiredproperty +hasrequirement Trace Usage 0..* 0..* +constraint CoreProperty 0..* CoreEntity Requirement +decomposedinto 1 Specification Constraint 0..* Behavior 1..* +containedin 1 +entityassociation 0..* 1 +constrainedproperty +associatedentity 0..* +hasbehavior +BehaviorOfartifact +satisfies 1 1..* +specifies EntityAssociation 0..* +featureofartifact 1 Artifact Feature +hasfeature +formofartifact subartifactof Port functionoffeature +functionofartifact * +subartifacts +formoffeature +issourceof +isdestinationof Geometry +hasform +hasfunction +hasoutputflow +featurehasform +featurehasfunction +hasinputflow {or} {or} 0..* 0..* 0..* 0..* 0..* 0..* Material Form Function Flow 1..* +hasgeometry 1..* 1 +hasmaterial +materialofform 1 TransferFunction 0..* +inputflow 1 +sourceof 1 0..* +ouputflow +geometryofform +destinationof Figure 5.2 : Diagramme de classes du CPM2 L élément fondamental qui fait du CPM2 un support pour les applications orientées PLM est le fait que la description d un produit (un artifact) est structurée autour des trois concepts clefs suivants : Fonction représente ce que l artifact est supposé faire (i.e. le comportement souhaité). Forme représente la solution (un modèle CAO) trouvée pour le problème spécifié par la fonction. Dans le CPM2, les caractéristiques physiques d un artifact sont représentées en terme de sa géométrie sous forme d un modèle CAO classique.
123 5.2. Outils pour le PLM 101 Comportement représente comment l artifact accomplit sa fonction. Ce comportement observé est souvent évalué et analysé pour vérifier que l artifact assure bien sa fonction. A titre d exemples je présenterai, dans le paragraphe suivant, les classes Artifact, Feature, Specification et Requirement avant de montrer comment utiliser le CPM2 pour modéliser les informations de conception d un objet manufacturier avec une illustration en utilisant le langage XML et ses schémas comme moyens de description. Artifact est la classe principale du CPM2. Elle représente une entité distincte dans un produit, que ce soit un composant, une partie, un sous-assemblage ou un assemblage. Toutes ces entités peuvent être représentées et interconnectées à travers les liens sous-artifact et sous-artifact-de modélisés par une relation réflexive sur la classe Artifact (relation ayant les rôles subartifacts/subartifactof ). Une forme caractéristique (la classe Feature) est une partie de la forme physique d un artifact, destinée à assurer une fonction particulière. Selon sa fonction une forme caractéristique est dite de conception, d analyse, de fabrication, etc. Une spécification (la classe Specification) est une description dérivée des besoins clients et/ou des besoins d ingénierie, elle représente l ensemble des données pertinentes pour la conception d un artifact et incorpore les besoins spécifiques que la fonction, la forme, la géométrie et les matériaux d un artifact doivent satisfaire. Un besoin (la classe Requirement) est un élément particulier de la spécification d un artifact qui détermine un des aspects de sa fonction, de sa forme, de sa géométrie ou de ces matériaux. Implantation XML du CPM2 Plusieurs publications récentes ont montré le rôle que XML peut jouer dans une représentation sémantique des données de produits. Lubell et al.. [113] considèrent STEP, XML et UML comme trois technologies très complémentaires pour représenter et échanger les données de produits. Dans [140], Rezayat présente les bases d un système de gestion de données de produits et discute pourquoi XML doit être la base sur laquelle le système s appuie. Mervyn et al.. présentent une approche pour le développement d applications distribuées pour la capture et la gestion des données lors de la conception et la fabrication de produits où un schéma XML a été conçu pour contenir les données de produits dans un format compressé afin d assurer une meilleure portabilité des données [120]. Un ensemble de vocabulaire XML pour déployer les données de produits sur Internet a également été proposé par W.C. Burkett dans [21]. En vue de l importance d XML pour les applications de modélisation produits, nous avons procédé à une implantation du CPM2 en XML schéma [58, 51]. La Figure 5.3 montre le type complexe correspondant à la classe Artifact du CPM2. Le type listofxxx représente un ensemble de chaînes de caractères. (e.g., dans artifact, l élément hasfeature est un ensemble de chaînes de caractères. Chaque chaîne de caractère correspond à l élément name de l une des formes caractéristiques de l artifact). Un exemple de contraintes d intégrité est donné par la Figure 5.4. Exemple : Représentation des données d un système d engrenage planétaire avec le CPM2 L exemple du système d engrenage planétaire considéré ici a été présenté en détail dans [173]. Il a été utilisé pour illustrer la représentation des artifacts et leurs relations d assemblage à l aide de l OAM [173, 174]. Ici j utilise cet exemple pour montrer comment le CPM2 représente les informations de
124 102 Chapitre 5. Modélisation de produits <xsd:complextype name="artifact"> <xsd:complexcontent> <xsd:extension base="coreentity"> <xsd:sequence> <xsd:element name="hasbehavior" type="listofbehaviors" minoccurs="0"/> <xsd:element name="hasfunction" type="listoffunctions" minoccurs="0"/> <xsd:element name="hasform" type="listofforms" minoccurs="0"/> <xsd:element name="satisfies" type="xsd:string" minoccurs="1"/> <xsd:element name="hasfeature" type="listoffeatures" minoccurs="0"/> <xsd:element name="subartifacts" type="listofartifacts" minoccurs="0"/> <xsd:element name="subartifactof" type="xsd:string" minoccurs="0"/> <xsd:element name="hasinputflow" type="listofflows" minoccurs="0"/> <xsd:element name="hasoutputflow" type="listofflows" minoccurs="0"/> </xsd:sequence> </xsd:extension> </xsd:complexcontent> </xsd:complextype>. Figure 5.3 : Le type complexe Artifact du schéma XML du CPM2 <xsd:key name="pkspec"> <xsd:selector xpath="cpm:specification"/> <xsd:field xpath="cpm:name"/> </xsd:key> <!-- Elements that shall reference a specification name --> <xsd:keyref name="specref" refer="pkspec"> <xsd:selector xpath="cpm:artifact"/> <xsd:field xpath="cpm:satisfies"/> </xsd:keyref> <xsd:keyref name="spec1fref" refer="pkspec"> <xsd:selector xpath="cpm:requirement"/> <xsd:field xpath="cpm:containedin"/> </xsd:keyref> Figure 5.4 : Exemple de contraintes de consistance dans le schéma XML correspondant au CPM2
125 5.2. Outils pour le PLM 103 conception relatives à un produit et nous ne nous sommes intéressés qu aux données importantes du point de vue conception. Planetary Gear 8 Screws Output housing Input Housing Ring Gear Sun Gear Planet Gear Carrier Figure 5.5 : Le système d engrenage planétaire La Figure 5.5 montre les composants du système d engrenage planétaire. Ce système est composé des 13 sous-artifacts qui sont indiqués en bas de la figure. Les informations qui concernent la fonction, la forme, le comportement et les spécifications de ces sous-artifacts ne sont pas représentées dans ce document [51]. La Figure 5.6 montre l élément XML qui décrit le système d engrenage planétaire, de la Figure 5.5, comme un artifact. On observe les sous-éléments suivants : information : Une brève documentation sur le système représenté. behaviors : La liste des éléments qui décrivent le comportement su système. functions, forms, features : Trois listes dont les éléments donnent les noms des fonctions, des formes, et des formes caractéristiques du système. satisfies : Indique le nom de l élément specification que l artifact doit satisfaire. Dans l exemple complet présenté dans [51], cette spécification est aussi décomposée en une liste de besoins en terme de forme, de vitesse d entrée, vitesse de sortie, etc. subartifacts : La liste des noms des sous-artifacts qui composent l artifact principal (le système d engrenage planétaire) : planetgearcarrier, sungear, ringgear, inputhousing, outputhousing et screw1,...,screw8. Les Figures 5.7 et 5.8 montrent respectivement les définitions des éléments behavior et function de l artifact précédent à travers les éléments pgsbehavior et pgsfunction. Le contenu des sous-éléments artifcat et functionofartifact des éléments behavior et function sont les noms des artifacts auxquels ces derniers appartiennent. Comme ce contenu est le même pour les deux sous-éléments on comprend que les éléments behavior et function font partie d un même élément artifact, il s agit de l artifact principal qui décrit le système d engrenage planétaire.
126 104 Chapitre 5. Modélisation de produits <artifact> <name>planetarygearsystem</name> <information> <description> The PlanetaryGearSystem for changing speed rotation </description> <documentation> This is an assembly of 13 different subartifacts and subassemblies </documentation> </information> <behaviors> <thebehavior name="pgsbehavior"/> </behaviors> <functions> <thefunction name="changespeedofrotation"/> </functions> <forms> <theform name="cylindricalform"/> </forms> <satisfies>pgsspecification</satisfies> <features> <thefeature name="fasteningholes"/> <thefeature name="outputshafthole"/> </features> <subartifacts> <theartifact name = "planetgearcarrier"/> <theartifact name = "sungear"/> <theartifact name = "ringgear"/> <theartifact name = "inputhousing"/> <theartifact name = "outputhousing"/> <theartifact name = "screw1"/>... <theartifact name = "screw8"/> </subartifacts> </artifact> Figure 5.6 : L élément Artifact représentant le système d engrenage planétaire <behavior> <name>pgsbehavior</name> <information> <description>the behavior of the planetary gear system after assembly analysis and validation </description> <properties> <property name="speedratio">3.0:1</property> <property name="torqueout">6.78 N.m</property> </properties> </information> <artifact>planetarygearsystem</artifact> </behavior> Figure 5.7 : L élément Behavior associé au système d engrenage planétaire
127 5.2. Outils pour le PLM 105 <function> <name>changespeedofrotation</name> <information> <description>the main function of theplanetarygearsystem. It provides adequate and variable speed for all possible operations </description> <properties> <property name="input">rotational energy</property> <property name="output">rotational energy</property> <property name="speedin">1800rpm</property> <property name="speedout">tbd</property> <property name="torquein">2.26 N.m</property> <property name="torqueout">tbd</property> </properties> </information> <functionofartifact>planetarygearsystem</functionofartifact> </function> Figure 5.8 : L élément Function associé au système d engrenage planétaire L OAM : une extension du CPM pour représenter les données d assemblage L OAM est un modèle UML défini comme une extension du CPM pour représenter les données d assemblage et pour faciliter leurs échanges. Le schéma principal de ce modèle est montré sur la Figure 5.9. Le schéma intègre des informations sur les relations d assemblage, à travers la classe AssemblyAssociation, et la structure des composants à travers les relations part-of. Un Assembly est une composition de plusieurs sous-assemblages ou parties (Part). La classe Part représente un composant non decomposable. L AssemblyAssociation est une agrégation d une ou plusieurs ArtifactAssociation. De cette classe héritent les classes PositionOrientation, RelativeMotion et Connection. Une autre classe clef de l OAM est la classe OAMFeature qui décrit une forme caractéristique participant à une association d assemblage à travers la classe AssemblyFeatureAssociation. Les contraintes d assemblage et les ajustements sont gérés respectivement par les classes ParametricAssemblyConstraint et Tolerance. Les mécanismes de mouvement sont représentés par la classe KinematicPair. Chacune de ces classes possède une ou plusieurs classes descendantes plus spécialisées. L OAM est assez large pour être couvert par ces deux paragraphes, pour de plus amples précisions sur le modèle, le lecteur peut se reporter à [173, 174]. Dans [171, 172], nous avons montré comment le CPM et l OAM peuvent être utilisés conjointement pour capturer les informations de conception, nous avons également proposé une mise à jour de l OAM en rajoutant la notion d usage de l UML2 [127] au modèle. En effet nous avons constaté que le modèle représente de façon redondante les specifications des sous-assemblages, des parties et des associations d artifacts utilisés plusieurs fois. Cette redondance peut générer une incohérence si les données correspondant à un même élément utilisé plusieurs fois ne sont pas les mêmes. Nous avons montré l apport de cette mise à jour à travers l exemple des Figures 5.10, 5.11 et Les éléments de la Figure 5.10 composent un assemblage qui fait partie du système d engrenage planétaire qui a servi à expliquer l OAM dans [173]. Cet assemblage est composé d un sous-assemblage, dit porteur-planétaire (planet-carrier), et de trois autres parties, dits engrenage planétaires (planet gears). Tout d abord les trois goupilles (planet gear pins) sont assemblées avec le l arbre de sortie
128 106 Chapitre 5. Modélisation de produits Artifact (from CoreProductModel) Connector DesignRationale (from Rationale) Assembly Part Feature (from CoreProductModel) EntityAssociation (from CoreProductModel) OAMFeature AssemblyAssociation Tolerance (from Tolerance) AssemblyFeature CompositeFeature ArtifactAssociation AssemblyFeature Association AssemblyFeatureAssoci ationrepresentation PositionOrientation Connection RelativeMotion ParametricAsse mblyconstraint KinematicPath FixedConnection MovableConnection IntermittentConnection KinematicPair Figure 5.9 : Diagramme de classes de l OAM Planet Gear Planet Gear Pin Output Shaft Figure 5.10 : L assemblage planet-gear-carrier.
129 5.2. Outils pour le PLM 107 (output shaft) pour former le sous-assemblage planet-carrier. Ensuite, le bout de chaque planet gear pin est assemblé avec un planet gear pour former l assemblage dit planet-gear-carrier. outputshaft:artifact fc1:artifactassociation fc2:artifactassociation fc3:artifactassociation pin1:artifact pin2:artifact pin3:artifact mc1:artifactassociation mc2:artifactassociation mc3:artifactassociation gear1:artifact gear2:artifact gear3:artifact Figure 5.11 : Diagramme d instances pour l assemblage planet-gear-carrier. La Figure 5.11 montre le diagramme UML d instances pour l assemblage complet au niveau des associations entre artifacts. La décomposition de ces associations en AssemblyFeatureAssociation et AssemblyFeatureAssociationRepresentation n est pas montrée dans ce diagramme. Dans cet assemblage, les trois planet gear pins sont supposés être identiques, mais quand on observe la Figure 5.11 rien nous ne indique que nous utilisons trois éléments identiques i.e. ayant les mêmes valeurs d attributs. Il n y a aucun moyen d être sûr que ces trois éléments ont la même longueur, le même rayon et sont fait d un même matériau. La même constatation peut être faite pour les trois planet gears qui sont supposés identiques, mais le diagramme d instances ne peut pas montrer cela. L utilisation de la notion d usage résout ce problème. Nous utilisons un artifact générique "pin" réutilisable pour les pins. Dans l assemblage planet-gear-carrier, cet artifact générique joue trois rôles différents pin1, pin2 et pin3 représentés comme trois instances de la classe ArtifactUsage. Ceci implique que les trois pins sont copies d un même artifact réutilisable. De façon similaire un seul artifact générique "gear" joue trois différents rôles : gear1, gear2 et gear3 représentés comme trois instances de la classe ArtifactAssociationUsage pour associer les couples gear-pin Une typologie de normes pour le cycle de vie du produit Dans une récente étude, nous avons analysé l état actuel des technologies de traitement de l information et les différentes normes existantes pour montrer le soutien que ces technologies peuvent apporter à la modélisation du cycle de vie du produit [50, 49]. Cette étude nous a permis d identifier un ensemble de normes et d analyser comment les accommoder pour soutenir le PLM et assurer une meilleure gestion des données et des connaissances relatives aux différentes phases du cycle de vie du produit. Pour mettre en place une application PLM, nous avons besoin de passer de l échange de données produit à l échange des informations produit et éventuellement à l échange des connaissances produit. Dans un futur proche, les différents acteurs impliqués dans la fabrication d un produit auront besoin d échanger, sur le Web, pas seulement des données de conception du produit, mais aussi les connaissances relatives à leurs processus de fabrication. Pour cela nous avons besoin d assurer à la fois une
130 108 Chapitre 5. Modélisation de produits uses uses pin2: ArtifactAssociation uses pin:artifact associates uses uses uses pin1:artifactusage pin2:artifactusage pin3:artifactusage associates gearpin1: ArtifactAssociationUsage associates used_in used_in used_in gearpin3: ArtifactAssociationUsage gearpin2: ArtifactAssociationUsage used_in used_in PlanetGearCarrier: Assembly used_in used_in used_in used_in associates associates gear1:artifactusage Gear2:ArtifactUsage Gear3:ArtifactUsage associates uses uses uses gear:artifact Figure 5.12 : Diagramme d instances pour l assemblage planet-gear-carrier avec la notion d usage. interopérabilité syntaxique et sémantique entre les divers systèmes utilisés, ceci ne peut être fait qu à l aide d un ensemble cohérent de normes. Nous avons identifié cet ensemble et nous avons classé les normes pertinentes pour le PLM en plusieurs catégories. Normes de contenu Ces normes décrivent un type particulier de données ; l exemple parfait est la norme STEP qui décrit la structure, la géométrie et les informations concernant les différentes parties d un produit [93, 95, 96, 138]. Les modèles de données représentant les concepts de fonction, assemblage, comportement, etc. sont fondamentaux pour capturer le développement et l évolution d un produit. Les efforts du NIST ont abouti à la définition du CPM, un modèle générique qui contient les éléments fondamentaux pour représenter tout produit, et de l OAM, qui est une extension du CPM pour gérer les données d assemblage [52, 51, 173, 174]. Ces deux modèles peuvent servir de base pour des nouvelles normes de description de contenu. PSL [124] est le moyen pour décrire les processus de fabrication. PSL se base sur une logique du premier ordre pour faire cette description. SysML est un autre effort conduit par OMG (Object Management Group) pour l extension de l UML vers la représentation des données et des systèmes d ingénierie [17]. SysML re-utilise un sous-ensemble de diagrammes UML avec de nouveaux diagrammes et schémas appropriés pour les systèmes d ingénierie.
131 5.2. Outils pour le PLM 109 Le groupe de travail ManTIS Task Force de l OMG aborde la conception, la planification et la fabrication de produits, ainsi que les systèmes industriels utilisés dans la fabrication et le contrôle de processus [167, 179]. Normes de modélisation d informations Les principales normes de modélisation des informations sont EXPRESS, UML, RDF et OWL. Plusieurs autres normes, issues de l XML, ont été proposées pour subvenir aux besoins des industriels, des organismes de normalisation et des développeurs de logiciels : ebxml, BizTalk, cxml, CML, BSML, MathML, MatML, etc. Normes pour les ontologies Le terme ontologie a longuement été utilisé par la communauté d intelligence artificielle et a été défini de plusieurs façons [164]. De nos jours, l usage des ontologies a été étendu à des domaines très variés pour apporter plus de sémantiques aux concepts et leurs relations. Plusieurs languages de modélisation riches en sémantique, basé sur différentes formes de logique, ont été proposés par le W3C autour du web sémantique. KIF, DAML, OIL, RDF, OWL sont des exemples de langages qui permettent de raisonner sur les informations représentées et donc de construire des ontologies pour les domaines considérés [189]. Normes pour l échange d informations Plusieurs efforts ont été conduits pour définir des règles d échange d informations. EDI, XML, SOAP sont des exemples de normes d échange de données. Des versions spécialisées de ces normes ont également été proposées : STEPml est une spécification XML basée sur le modèle de contenu de la norme STEP [96, 169, 138]. Le PDML (Product Data Markup Language), PLM XML, BPML et ebxml sont d autres exemples de normes d échange pour des domaines variés [183]. Normes pour la visualisation Les vendeurs d outils de CAO ont tous proposé des interfaces graphiques conviviales pour la manipulation des modèles 3D. OpenGL est considéré comme le standard de facto pour la production de graphiques et d images couleurs de haute qualité. VRML et son successeur X3D sont deux normes Internet, inspirées de XML, pour le rendu des graphiques 3D. U3D, JTOpen, JTFormat sont d autres exemples d outils visant à simplifier la transformation des données 3D complexes dans un format facile à compresser, facile à échanger et à visualiser [182]. Plusieurs autres outils (les réseaux de Petri, le diagramme Entités Relations, les diagrammes SADT, les diagrammes PERT, etc.) peuvent être utilisés pour organiser et faciliter la visualisation des autres données de produits.
132 110 Chapitre 5. Modélisation de produits Comment faire fonctionner toutes ces normes ensemble? Malgré les nombreux efforts de normalisation et les diverses normes résultantes de ces efforts, il n est pas encore clair comment toutes ces normes peuvent collaborer pour jouer un role essentiel pour la mise en place des systèmes de PLM. Product Engineering CAD/CAE/CAM Users STEPml, PDML, PDX Web Services ProcessEngineering CAPP/ MES ecommerce Internet Auctions SemanticLayer (OWL/RDF/XML) DAML Enterpriseoperation ERP/SCM PSL BizTalk,ebXML,BPML, cxml... RosattaNet, SCOR Interface Layer (XML/RDF/Java) Content Layer Agents XrML, ORDL, DRM, IPR Content Management Security Digital RightsManagement Visualization JX3D, U3D, JTOpen Design Database JDBC/ODBC/XSQL Databaseserver ArchivalDesign Repository PRODUCT USE Future MANUFACTURING DESIGN EVALUATION DISPOSAL DETAILED DESIGN IDEATION CONCEPTUAL DESIGN DESIGN ORGANIZATION Current MANUFACTURING PRODUCT USE DISPOSAL IDEATION DESIGN ORGANIZATION DESIGN EVALUATION DETAILED DESIGN CONCEPTUAL DESIGN Figure 5.13 : Les relations entre les normes et le PLM La Figure 5.13 montrent comment toutes les normes évoquées dans les sections précédentes peuvent s assemble pour supporter les systèmes de PLM. Faire converger plusieurs normes vers un même objectif n est pas une tache facile et ne peut être achevée que dans un environnement ouvert impliquant tous les acteurs (concepteurs, développeurs, vendeurs, industriels, utilisateurs, etc.). 5.3 Intégration sémantique de normes Dans le domaine de la fabrication, le rôle des normes est de définir les concepts, relations et données définissant les ressources, les équipements et les procédures manufacturiers. Ces normes sont supposées être des références précises et claires que les opérateurs doivent consulter pour éviter toute confusion. Cependant, le manque de sémantique associée aux informations définies par ces normes
133 5.3. Intégration sémantique de normes 111 pousse les opérateurs à recourir le plus souvent à leurs connaissances implicites et à leurs expériences personnelles. Dans le cadre d un vaste programme visant à mettre en place les bases d un système de fabrication intelligent (smart machining system), nous avons commencé à regarder l intégration de deux normes très utiles dans le domaine de fabrication par usinage ; Il s agit de l ISO 5608 [94], pour les codes des porte-outils, et l ISO 1832 pour les codes des plaquettes de coupe [92]. Ces deux normes sont utilisées pour représenter les propriétés des outils de coupe par tournage, comme la longueur des outils, la longueur de l arête de coupe, les tolérances, etc. La relation de montage entre une plaquette et un porte-outil ne peut être vérifiée que si certaines parties des deux codes correspondent. Nous avons commencé par définir une ontologie, sous la forme d un ensemble de règles en logique du premier ordre (implanté en Prolog), visant à apporter une représentation plus sémantique aux deux normes considérées. Un premier article décrivant la démarche utilisée a été soumis au Journal of Computing and Information Science in Engineering [41]. Un outil de coupe est l assemblage d une plaquette de coupe et d un porte-outil qui sont les deux composantes principales à sélectionner et à assembler pour créer un outil et ainsi assurer une coupe conforme à la géométrie souhaitée. La relation de montage sert à vérifier si une plaquette peut être montée sur un porte-outil. Un porte-outil peut porter plusieurs type de plaquettes. L analyse des codes correspondant à ces composants permet de vérifier cette relation. Dans le contexte de ce travail, l intégration signifie comment combiner les informations codées dans les deux normes et les utiliser pour faciliter la prise de décision (e.g. la sélection d un porte-outil). Les objectifs de ce travail, ne se limitent donc pas à la vérification de codes, et peuvent être résumés en : Etant donné un code, vérifier sa conformité par rapport à la norme ISO 5608 ou à la norme ISO 1832, le décoder et vérifier la sémantique qui se cache derrière les différents symboles du code. Représenter la relation de montage et répondre à toutes les requêtes la concernant. Etant donné une gamme d usinage, décrite en PSL (Process Specification Language, [124]), faire une sélection automatique des outils de coupe (plaquette et porte-outil) qui peuvent être utilisés pour le réaliser. La Figure 5.14 montre des exemples de codes et indique la sémantique qui se cache derrière chaque symbole du code (e.g. le symbole 1 représente la forme de la plaquette). La plaquette et le porte-outil codés dans la figure peuvent être montés ensemble car les symboles C, N, 16 et R correspondent dans les deux codes. Un ensemble de propositions logiques a été élaboré pour définir les codes et les concepts fondamentaux du domaine tel que le porte-outil, la plaquette de coupe, l arête de coupe, l angle de direction d arête (tcea - tool cutting edge angle), l angle inclus (ia - included angle), l angle de coupe secondaire (tmcea - tool minor cutting edge angle). L ontologie proposée est structurée en 3 modules : 1. Module 1 : Contient les propositions concernant les concepts et les relations fondamentaux du domaine d outils de coupe 2. Module 2 : Une représentation formelle de la sémantique de chaque symbole du code. Dans notre réalisation nous nous sommes limités à la description de la forme de la plaquette (1 er symbole du code) et du style du porte-outil (3 e symbole du code), mais la démarche s étend facilement aux autres symboles. 3. Module 3 : L ensemble de règles et de contraintes utilisées pour sélectionner la plaquette et le porte-outil adéquats en fonction de l opération de coupe à réaliser.
134 112 Chapitre 5. Modélisation de produits Figure 5.14 : Trois exemples de codes. Haut : code, conforme à l ISO 1832, pour une plaquette. Milieu : code, conforme à l ISO 5608, pour un porte-outil. Bas : Code de porte-outil donné par un fournisseur, la première partie du code est conforme à la norme, mais la deuxième partie est propre à ce fournisseur. En s appuyant sur cette structure, les requêtes d integration et de conformité peuvent être spécifiées. Le reste de cette section présente quelques exemples de propositions et montre comment répondre aux requêtes de montage et/ou de conformité. De plus amples détails sur chaque module peuvent être consultés dans [41]. La Figure 5.15 montre quelques axiomes pour décrire les angles définis par les outils de coupe. L axiome (1) spécifie qu un outil de coupe est composé d une plaquette et d un porte-outil. Les prédicats insert et toolholder utilisés dans cet axiome sont considérés comme primitives de base de notre implantation actuelle et seront définis dans les développements futurs de ce travail. Pour un outil de coupe, trois angles importants doivent être considérés : l angle de coupe représenté par le prédicat tcea, l angle inclus représenté par le prédicat ia et l angle de coupe secondaire représenté par le prédicat tmcea. L axiome (2) définit tcea comme étant l angle inclus entre l arête de coupe et l axe qui indique où placer la matière à couper (feed direction). L axiome (3) définit ia comme étant l angle entre l arête de coupe et l arête secondaire de l outil. L axiome (4) définit tmcea comme étant l angle entre l arête secondaire de l outil et l axe qui indique où placer la matière à couper. Comme pour les prédicats insert et toolholder, les prédicats cuttingedge, feeddirection et AngleBetween sont considérés comme primitives de base de notre implantation actuelle. La Figure 5.16 montre les axiomes qui décrivent la forme d une plaquette dans un code. L axiome (5) établit le lien entre le premier symbole du code désigné par le prédicat ISO , et la forme d une plaquette désignée par le prédicat insertshape. L axiome (6) présente la forme de plaquette comme une propriété de la plaquette et indique que cette forme doit inclure des connaissances sur le nombre
135 5.3. Intégration sémantique de normes 113 (forall (?x?y) (implies (turningtool?x?y ) ( and (toolholder?x) (insert?y ) (1) (mounting?x?y))) ) (forall (?x?y?w ) (iff (tcea?x?y?w) (exists (?v?z) (and (turningtool?x?y) (cuttingedge?x?y?z) (2) (feeddirection?x?y?v) (anglebetween?z?v?w)))) ) (forall (?x?y?w) (iff (ia?x?y?w) (exists?z?v) (and (turningtool?x?y) (cuttingedge?x?y?z) (3) (minorcuttingedge?x?y?v) (anglebetween?v?z?w)))) ) (forall (?x?v?y) (iff (tmcea?x?y?v) (exists (?w?z) (and (turningtool?x?y ) (minorcuttingedge?x?y?w) (4) (feeddirection?x?y?z) (anglebetween?z?w?v)))) ) Figure 5.15 : Axiomes de base pour décrire les angles des outils de coupe. (forall (?x?y) (implies (ISO ?x?y) (and (insertshape?x?y) (5) (insert?x))) ) (forall (?x?y) (implies (ISO ?x?y) (exists (?u?v?w) (and (numbercuttingedges?x?u) (6) (insert-ia?x?v) (descriptionshape?x?w)))) ) (forall (?x?y) (implies (ISO ?x?y) (or (and (Insert-ia?x 80)(InsertShape?x C)) (7) (and (Insert-ia?x 55)(InsertShape?x D)) (and (Insert-ia?x 75)(InsertShape?x E)) (and (Insert-ia?x 120)(InsertShape?x H)))) ) Figure 5.16 : Définition des formes des plaquettes.
136 114 Chapitre 5. Modélisation de produits d arêtes de coupe, sur l angle inclus et sur la description de la forme. L axiome (7) précise les valeurs que peut prendre l angle inclus, il sera utilisé dans les tests de conformité. (forall (?x?y) (implies (ISO ?x?y) (and (toolstyle?x?y) (8) (toolholder?x))) ) (forall (?w) (implies (toolholder?w) (exists (?x?y?z) (and (toolholder-tcea?w?x) (shanktype?w?y) (9) (cuttingprocess?w?z) (toolstyle?w?x?y?z)))) ) (forall (?x?y) (implies (ISO ?x?y) (or (requires sidecutting?x) (requires endcutting?x) (10) (and (requires sidecutting?x) (requires endcutting?x)))) ) Figure 5.17 : Définition des styles des porte-outils. La Figure 5.17 montre les axiomes qui décrivent le style dans le code d un porte-outil. La Figure 5.18 donne les axiomes qui représentent la relation de montage. L axiome (13) spécifie la règle à respecter entre les trois angles de l outil tmcea, ia et tcea. Cette règle joue un rôle central dans les réponses aux requêtes. L axiome (14) spécifie la relation entre l angle inclus de la plaquette (insert-ia) et l angle inclus de l outil de coupe (ia). L axiome (15) spécifie la relation entre toolholder-tcea du porte-outil et tcea de la plaquette. Des exemples de requêtes sont donnés par la Figure La requête (r1) permet de déterminer s il existe des porte-outils et des plaquettes qui peuvent être montés ensemble pour composer un outil ayant un angle de coupe supérieur à 110 et pouvant couper une pièce avec un angle minimal de 90. Les requêtes (r2) et (r3) sont deux exemples de requêtes qu on peut utiliser pour verifier la conformité aux deux normes. (r2) vérifie si un angle inclus ia de 80 est conforme à la norme ISO 1832, et retourne la forme de la plaquette qui satisfait la requête. (r3) retourne les porte-outils qui peuvent réaliser une opération de charcutage et dont le style est D. Plus récemment, avec l aide de ma collègue Nadine Cullot, de Laurent Deshayes et de quatre de nos étudiants de DESS, nous avons développé une application XML, avec interface Java, pour la gestion des codes des plaquettes et des porte-outils. Des schémas XML ont été mis en place pour les deux normes et pour les deux types de codes, et toutes les informations contenues dans ces normes ont été converties en XML. Cette application servira pour faire des comparaisons avec l approche basée sur les ontologies.
137 5.3. Intégration sémantique de normes 115 (forall (?x?z) (iff (mounting?x?z) (forall (?v?w?y) (implies (and (tcea?x?v) (13) (ia?z?w) (=?v (180 - w - y)) (tmcea?x?z?v)))) ) (forall (?x?y?u?v) (implies (and (turningtool?x?y) (insert-ia?y?u) (14) (ia?x?y?v)) (=?v?w) ) (forall (?x?y?u?v) (implies (and (turningtool?x?y) (toolholder-tcea?x?u) (tcea?x?y?v)) (=?u?v)) ) Figure 5.18 : Les axiomes de la relation de montage. (exists (?x?y?z) (and (toolholder?x) (insert?y) (feature?z) (mouting?x?y ) (minanglevalue?z 90) (tcea?x?t) (< t 110)) ) (exists (?x?y ) (and (insert?x) (insert-ia?x 82) (insertshape?x?y)) ) (exists (?x ) (and (toolholder?x) (toolstyle?x D) (requires sidecutting?x)) ) (r1) (r2) (r3) Figure 5.19 : Exemples de requêtes.
138 116 Chapitre 5. Modélisation de produits 5.4 Conclusion Pour atteindre l objectif d une gestion intégrée, complète et performante de toutes les données du cycle de vie du produit les applications de PLM doivent s appuyer sur des outils et des modèles de données capables de capturer, de représenter ces données et de les échanger entre les différents acteurs intervenants dans toutes les phases du cycle de vie du produit. De ce fait, la gestion des données du produit est un moyen fondamental dans toute activité de collaboration autour du produit. Les modèles de gestion actuels sont, dans la majorité, structurés et orientés pour capturer ces données dans la phase de conception (création et échange des modèles CAO) et ne peuvent être utilisés dans les phases préliminaires de l élaboration du produit. Les deux modèles de données développés au NIST et présentés dans ce chapitre constituent une première base pour la définition des modèles de données adéquats pour soutenir le PLM. Le CPM fournit un modèle de base pour la gestion produit, ce modèle est simple, générique, non-propriétaire, indépendant de tout processus de développement de produit, non lié à un domaine particulier, facile à étendre vers des domaines spécifiques et capable de capturer une large part du flux de données partagées tout le long du cycle de vie du produit. L OAM peut représenter la fonction, la forme et le comportement des assemblages, ainsi que les relations hiérarchiques entre les différents composants. Il fournit également un moyen pour capturer les ajustements et les mécanismes de mouvement. L intégration, la fusion et la vérification des données créées ou modifiées pendant les différentes phases du cycle de vie est aussi une fonctionnalité importante dans un système de PLM. A travers l ontologie que nous avons développée pour l intégration des normes ISO 5608 et 1832, nous avons montré comment une approche formelle basée sur la logique du premier ordre peut aider à combiner des données en provenance de plusieurs normes et à valider ces données par rapport aux règles et contraintes contenues dans les normes. Les ontologies permettent de définir, sans ambiguïté, les règles et les concepts relatifs à un domaine, ce qui permet d éviter tous les problèmes et les incohérences qui peuvent surgir suite à des conflits sémantiques ou à des erreurs d interprétation. L utilisation des ontologies dans les applications de PLM ne peut que renforcer les capacités de ces applications à intégrer et à assurer la validité des données de produit. Les normes sont un autre élément fondamental auquel les systèmes de PLM sont étroitement liés. Des fonctionnalités comme la création, la modélisation, la visualisation et l échange des données produit ne peuvent être assurées sans l aide des normes comme UML, STEP, XML, PSL, etc. La typologie des normes pour le PLM présentée dans ce chapitre n est qu un premier pas vers l identification d un noyau de normes dont les applications PLM ne peuvent se séparer.
139 Chapitre 6 Liste des travaux et encadrements Ce chapitre donne la liste de mes publications, présente les encadrements de thèses et de stages de DEA auxquels j ai participé, et résume mes collaborations internationales. 6.1 Liste des publications Thèse S. Foufou. Contribution à l algorithmique des intersections de surfaces en algèbre des volumes, Thèse de doctorat, LIGIM, Université Claude Bernard Lyon 1, (Juillet 1997). Directeur de thèse : Professeur Jean Marc Brun. Publications dans des revues internationales 1. Y. Fougerolle, A. Grikob, S. Foufou, F. Truchetet, and M. A. Abidi. Boolean operations on supershapes using R-functions. IEEE Transaction on Visualization and Computer Graphics, To appear. 2. S. Eswaran, R. Sudarsan, S. Fenves, S. Foufou, and R. D. Sriram. Product lifecyle management : a chalange in supporting the product design and manufacturing in a networked economy. International Journal of Product Lifecycle Management, Inderscience Publishers, To appear. 3. R. Sudarsan, M. Baysal, U. Roy, S. Foufou, C. Bock, S. Eswaren, K. Lyons, and R. D. Sriram. Information models for product representation : Core and assembly models. International Journal of Product Development, Inderscience Publishers, To appear. 4. M. Roy, S. Foufou, and F. Truchetet. Mesh comparison using attribute deviation metric. International Journal of Image and Graphics, 4(1) : , S. Foufou and L. Garnier. Dupin cyclide blends between quadric surfaces for shape modeling. Computer Graphics Forum 117
140 118 Chapitre 6. Publications, encadrements [Special issue for EUROGRAPHICS 04, Grenoble, France, Aug Sept. 3, 2004], 23(3) : , S. Lanquetin, S. Foufou, H. Kheddouci, and M. Neveu. Deux algorithmes d intersection de surfaces de subdivision. Revue Internationale de CFAO et d informatique graphique, 18(2) : , M. Roy, F. Nicolier, S. Foufou, and F. Truchetet. Mesure de déviation d attributs pour la comparaison de maillages. Revue Internationale de CFAO et d informatique graphique, 17(3-4) : , L. Garnier, S. Foufou, and M. Neveu. Jointure G1-continue entre un cône et une sphère. Revue Internationale de CFAO et d informatique graphique, 17(3-4) : , Publications comme chapitres de livres édités 1. S. Foufou and L. Garnier. Implicit equations of supercyclides. In M. Neamtu and E.W. Saff, editors, Advances in Constructive Approximation [Proc. Book of the International Conference on Advances in Constructive Approximation, Nashville, TN, USA, May 2003], pages Nashboro Press, Nashville, TN, USA, S. Foufou, L. Garnier, and M. Neveu. Blending of surfaces of revolution and planes by Dupin cyclides. In M.L. Lucian and M. Neamtu, editors, Geometric Modeling and Computing [Proc. book of the 8th SIAM Conference on Geometric Design and Computing, Seattle, USA, Nov. 2003]. Nashboro Press, Nashville, TN, USA, Publications dans des conférences internationales avec comité de lecture 1. M. Roy, S. Foufou, A. Koschan, F. Truchetet, and M. Abidi. Multiresolution analysis for irregular meshes with appearance attributes. In Proceedings of IEEE ICIP, Genova, Italy, September To appear. 2. S. Foufou, L. Garnier, and M. Pratt. Conversion of Dupin cyclide patches into rational biquadratic Bézier form. In Proceedings of Mathematics of Surfaces XI International Conference, Lecture Notes in Computer Science, University of Loughborough, UK, September Springer. To appear. 3. S. Foufou, S. Fenves, C. Bock, R. Sudarsan, and R.D. Sriram. Semantic implementation of the CPM2 using XML. In Proceedings of the PLM 05 International Conference on Product Lifecycle Management, Lyon, France, July Inderscience Publishers. To appear. 4. S. Eswaran, R. Sudarsan, S. Fenves, S. Foufou, and R.D. Sriram. Challenges in supporting product design and manufacturing in a networked economy : A PLM perspective. In Proceedings of the PLM 05 International Conference on Product Lifecycle Management, Lyon, France, July Inderscience Publishers. To appear. 5. S. Foufou, D. Michelucci, and J.-P. Jurzak. Numerical decomposition of geometric constraints. In Proceedings de ACM Symposium on Solid and Physical Modeling, MIT, Cambridge, MA, USA, May ACM Press. To appear.
141 6.1. Liste des publications M. Roy, S. Foufou, and F. Truchetet. Denoising 3D models using soft thresholding. In Proceedings of SPIE Optics East Conference on Wavelet Applications in Industrial Processing, Philadelphia, USA, October M. Roy, S. Foufou, and F. Truchetet. Multiresolution analysis for irregular meshes with appearance attributes. In Proceedings of International Conference on Computer Vision and Graphics, Varsaw, Pologne, September X. F. Zha, S. Foufou, R. Sudarsan, and R. D. Sriram. Analysis and evaluation for STEP-based electro-mechanical assemblies : An integrated fuzzy ahp approach. In Proceedings of DETC ASME Design Engineering Technical Conference, Salt Lake City, Utah, USA, 28 Sep.-2 Oct L. Garnier and S. Foufou. 3D representation of liposomes using Dupin cyclides. In Proceedings of the 1st int l conference on Complex Systems, Intelligence and Modern Technology Applications, pages , Cherbourg, France, September D. Michelucci and S. Foufou. Using Cayley-Menger determinants for geometric constraint solving. In Proceedings de ACM Symposium on Solid Modeling and Applications, Genova, Italy, June ACM Press. 11. L. Garnier, S. Foufou, and D. Michelucci. Conversion of quadrics into rational biquadratic Bézier patches. In Proceedings of isicad : Constraint-based Approaches and Methods of Mathematical Modelling for Intelligent CAD/CAM/CAE systems : From Methods to Applications, Novosibirsk, Russia, June D. Michelucci and S. Foufou. Kernel functions give intrinsic formulations of geometric constraints. In Proceedings of isi- CAD : Constraint-based Approaches and Methods of Mathematical Modelling for Intelligent CAD/CAM/CAE systems : From Methods to Applications, Novosibirsk, Russia, June M. Roy, S. Foufou, A. Koschan, F. Truchetet, and M. Abidi. Multiresolution analysis for irregular meshes. In Proceedings of SPIE International Symposium on Photonics Technologies for Robotics, Automation, and Manufacturing (Photonics East), volume 5266, Providence, RI, USA, October S. Lanquetin, S. Foufou, H. Kheddouci, and M. Neveu. A graph based algorithm for intersection of subdivision surfaces. In Kenneth Tan Kumar, Gavrilova and L Ecuyer, editors, Lecture Notes in Computer Science 2669, Proceedings of the ICCSA 03, pages , Montreal, Canada, May Springer-Verlag. 15. L. Garnier, S. Foufou, and M. Neveu. From Dupin cyclides to scaled cyclides. In Journal of WSCG : Proceedings of the 11th International Conference in Central Europe on Computer Graphics, Visualization and Computer Vision, volume 11, pages , Plzen, Czech Republic, February S. Lanquetin, S. Foufou, H. Kheddouci, and M. Neveu. Computing subdivision surface intersection. In Poster proceedings of the International Conference in Central Europe on Computer Graphics, Visualization and Computer Vision, pages 73-76, Plzen, Czech Republic, February M. Roy, F. Nicolier, S. Foufou, F. Truchetet, A. Koschan, and M. Abidi. Assessment of mesh simplification algorithm quality. In Proceedings of SPIE Electronic Imaging, volume 4661, pages , San Jose, USA, January 2002.
142 120 Chapitre 6. Publications, encadrements 18. L. Garnier, S. Foufou, and M. Neveu. Jointure de deux quadriques par une surface à base de courbes Hermitiennes. In Proceedings of the 7th Maghrebian Conference on Computer Science, pages , Annaba, Algeria, May M. Roy, S. Foufou, and F. Truchetet. Generic attribute deviation metric for assessing mesh simplification algorithm quality. In Proceedings of IEEE International Conference on Image Processing (ICIP), pages , Rochester, USA, September A. Dipanda and S. Foufou. Improving Bspline approximations using genetic algorithms. In Proceedings of the 2nd Int l Conference IEEE ISSPIT02, pages , Marrakech, Morocco, December Publications dans des conférences et des rencontres nationales 1. D. Ménegaux, D. Michelucci, and S. Foufou. Modélisation de surfaces algébriques par contraintes géométriques. In Actes des 17 e journées AFIG, pages 23-32, Poitiers, France, November L. Garnier and S. Foufou. Détermination des équations implicites d une supercyclide. In Actes des journées GTMG, pages , Aix-en-Provence, France, March L. Garnier, S. Foufou, and M. Neveu. Conversion de cyclides de Dupin en carreaux de Bézier rationnels biquadriques. In Actes des 15 e journées AFIG, pages , Lyon, France, December L. Garnier, S. Foufou, and M. Neveu. Jointure entre un plan et un cylindre elliptique par des supercyclides. In Actes des journées GTMG, pages 16-25, Nantes, France, March S. Lanquetin, S. Foufou, H. Kheddouci, and M. Neveu. Deux algorithmes d intersection de surfaces de subdivision. In Actes des 15 e journées AFIG, pages , Lyon, France, December S. Lanquetin, S. Foufou, and M. Neveu. Intersection des surfaces de subdivision. In Actes des journées GTMG, pages 86-95, Nantes, France, March L. Garnier, M. Neveu, and S. Foufou. Jointure d un cône et d une sphère par une cyclide de Dupin. In Actes des 14 e journées AFIG, pages , Limoges, France, November M. Roy, F. Nicolier, S. Foufou, and F. Truchetet. Mesure de la qualité des algorithmes de simplification de maillages. In Actes des 14 e Journées AFIG, pages , Limoges, France, November Rapports de recherche 1. S. Eswaran, R. Sudarsan, S. Fenves, S. Foufou, and R. D. Sriram. Product lifecyle management support : a challenge in supporting the product design and manufacturing in a networked economy. Technical Report NISTIR 7211, National Institute of Standards and Technology, Gaithersburg, MD 20899, USA, 2005.
143 6.2. Encadrements de thèses S. Fenves, S. Foufou, C. Bock, N. Bouillon, R. Sudarsan, and R. D. Sriram. CPM2 : A revised core product model for representing design information. Technical Report NISTIR 7185, National Institute of Standards and Technology, Gaithersburg, MD 20899, USA, R. Sudarsan, M. Baysal, U. Roy, S. Foufou, C. Bock, S. Eswaren, K. Lyons, and R. D. Sriram. Information models for product representation : Core and assembly models. Technical Report NISTIR 7173, National Institute of Standards and Technology, Gaithersburg, MD 20899, USA, Articles soumis à des revues internationales 1. D. Michelucci and S. Foufou. Reliable tracing of strange attractors. Revue : International Journal of Computational Geometry and Applications. Date de soumission : 15 Mai S. Foufou and L. Garnier. Obtention of Implicit Equations of Supercyclides and Definition of Scaled Supercyclides. Revue : Machine, Vision and Graphics. Date de soumission : 30 Juin K.-E. Melkemi, M. Batouche, and S. Foufou. A MultiAgent System Approach for image Segmentation using Hybrid Genetic Algorithm- Extremal optimization Heuristics. Revue : Pattern Recognition Letters, Special Issue on Evolutionary Computer Vision and Image Understanding. Date de soumission : 30 Juin L. Deshayes, M. Gruninger, and S. Foufou. Standards Integration Using Ontologies. Revue : Journal of Computing and Information Science in Engineering. Date de soumission : 18 Février R. Sudarsan, Y. H. Han, S. Foufou, S. C. Feng, U. Roy, F. Wang, R. D. Sriram, and K. Lyons. A Model for Capturing Product Assembly Information. Revue : Journal of Computing and Information Science in Engineering. Date de soumission : 1 Février X. F. Zha and S. Foufou and R. Sudarsan and R.D. Sriram. Analysis and Evaluation for STEP-Based Electro-Mechanical Assemblies. Revue : Journal of Computing and Information Science in Engineering. Date de soumission : 13 Mai Encadrements de thèses J ai co-encadré avec les Professeurs Frédéric Truchetet et Marc Neveu deux thèses soutenues en décembre Actuellement je co-encadre trois autres thèses : une avec le Professeur Dominique Michelucci et deux avec le Professeur Frédéric Truchetet. Les détails de ces co-encadrements sont
144 122 Chapitre 6. Publications, encadrements donnés ci-après. Le conseil scientifique de l Université de Bourgogne a donné son accord pour les quatre premiers co-encadrements. 1. Michael Roy Titre : Comparaison et analyse multirésolution de maillages irréguliers avec attributs d apparence. Première inscription : Septembre Date de soutenance : 16 Décembre Directeur de thèse : Professeur Frédéric Truchetet. Type de financement : Allocation-Moniteur et bourse du ministère de l Education Nationale. Position actuelle : ATER à l IUT d Auxerre, candidat pour les postes de maître de conférences. 2. Lionel Garnier Titre : Utilisation des cyclides de Dupin pour la modélisation et la représentation d objets 3D. Première inscription : Septembre Date de soutenance : 10 Décembre Directeur de thèse : Professeur Marc Neveu. Type de financement : Sans financement. Position actuelle : Professeur certifie de mathématique à l école des applications militaires de l énergie atomique de Cherbourg, candidat pour les postes de maître de conférences 3. Yohan Fougerolle Titre : Utilisation des R-fonctions pour la reconstruction 3D. Première inscription : Septembre Date de soutenance : Décembre 2005 (prévue). Directeur de thèse : Professeur Frédéric Truchetet. Type de financement : Allocation de recherche accordée par le laboratoire IRIS, Université du Tennessee, Etats Unis. 4. David Ménegaux Titre : Modélisation de surfaces implicites et paramétriques en utilisant les contraintes géométriques Première inscription : Septembre Date de soutenance : Décembre 2006 (prévue). Directeur de thèse : Professeur Dominique Michelucci. Type de financement : Allocation-Moniteur et bourse du ministère de l Education Nationale. 5. Sophie Voisin Titre : Manipulation des masses de points 3D Première inscription : Septembre Date de soutenance : Fin 2007 (prévue). Directeur de thèse : Professeur Frédéric Truchetet Type de financement : Allocation de recherche accordée par le laboratoire IRIS, Université du Tennessee, Etats Unis. 6.3 Encadrements de stages de DEA 1. Reveau Donatien (DEA Informatique et Instrumentation de l Image, Dijon). Titre : Jointure entre deux demi-cônes à l aide des cyclides de Dupin. Période : Mars - Juin 2001.
145 6.4. Collaborations Internationales Yohan Fougerolle (DEA Informatique et Instrumentation de l Image, Dijon). Titre : Intersection des surfaces de subdivision. Période : Mars - Juin Jean Baptiste Etienney (DEA Informatique et Instrumentation de l Image, Dijon). Titre : Simulation des voies de déplacement d un véhicule pour une conduite automatique. Période : Mars - Septembre Stage effectué à la Division des systèmes intelligents au NIST, Gaithersburg, Etats-Unis en collaboration avec Elena Messina ([email protected]). 4. Nicolas Bouillon (Elève en dernière année d ingénieur à Université de Technologie Belfort- Montbéliard et DEA d informatique et productique de l Université de Franche-comté, Besançon). Titre : XML et RDF pour la représentation de produits. Période : Février - Juin Wanjing Li (DEA Informatique et Instrumentation de l Image, Dijon). Titre : Fouille et comparaison de formes en CAO. Période : Mars - Juin Collaborations Internationales Collaboration avec l Institut National des Standards et de la Technologie (NIST), Maryland, Etats-Unis Je suis actuellement en délégation dans le laboratoire MEL du NIST pour un séjour d une durée totale de 20 mois. Je travaille dans la division d integration des systèmes de fabrication (Manufacturing Systems Integration Division-MSID) sur des problèmes liés a la modélisation de produits telles que la modélisation des assemblages [174, 193], la définition de modèles de données pour la capture et la gestion du cycle de vie d un produit manufacturier [172, 174], et l utilisation des ontologies pour l intégration de normes dans le domaine de la fabrication [41]. Collaboration avec Mike Pratt, Professeur Emérite de Rensselaer Polytechnic Institute, Troy, Newyork, Etats-Unis et Cranfield University, Angleterre Avec Lionel Garnier, nous avons développé le thème de l utilisation des cyclides de Dupin en modélisation géométrique en collaboration avec le Professeur Mike Pratt qui est l un des premiers chercheurs ayant abordé ce thème (il est auteur de plusieurs publications sur la théorie des cyclides de Dupin et des supercyclides). Nos différents échanges avec lui ont considérablement contribué à l avancement de nos travaux. Mike Pratt a visité notre laboratoire LE2i à deux reprises : en Mars 2003 pour animer un séminaire dans le cadre du PPF STIC et en Décembre 2004 en tant que rapporteur de la thèse de Lionel Garnier. En plus de l aide et des conseils très bénéfiques que Mike Pratt nous a apportés pendant la thèse de Lionel, cette collaboration a donné lieu à un article qui a été accepté pour publication dans une conférence internationale [62], ainsi qu à d autres possibilités de publications dans l avenir.
146 124 Chapitre 6. Publications, encadrements Collaboration avec le laboratoire IRIS, Université du Tennessee, Etats-Unis Les thèses de Michael Roy et Yohan Fougerolle ont fait l objet d une collaboration avec le laboratoire IRIS de l Université du Tennessee, Etats-Unis. Cette collaboration a été initiée par mon collègue le Professeur Frédéric Truchetet en 1999 et a permis de faire bénéficier quatre de nos thésards de bourses pour longs séjours dans le laboratoire IRIS. Le séjour de Michael Roy, d une durée d un an, a été très bénéfique pour lui sur le plan linguistique et sur le plan de l avancement de sa thèse, qui a donné lieu à plusieurs publications communes avec les collègues de l IRIS [150, 144, 145]. Yohan Fougerolle, qui a commencé sa thèse en septembre 2002, et Sophie Voisin qui a commencé sa thèse en septembre 2004, sont actuellement en séjour de recherche dans le laboratoire IRIS.
147 Chapitre 7 Perspectives de recherche Poursuivre l étude de la modélisation des surfaces, et chercher de meilleurs moyens pour la conception intégrée et le PLM sont nos deux perspectives de recherche. Modélisation et combinaison de surfaces pour la CAO Les algorithmes de représentation et de manipulation de géométrie en CAO relèvent de plusieurs domaines mathématiques comme l algèbre, la géométrie différentielle, la topologie, l analyse et la théorie des approximations. A titre d exemples, on peut citer les problèmes : de calcul des courbes définies par les intersections de surfaces, de construction de carreaux de jointure entre plusieurs surfaces avec une continuité de tangentes ou de courbures, de construction d approximations, respectant un certain nombre de contraintes, dans la limites d une marge d erreurs raisonnable. L absence de solutions rigoureuses et fiables pour ces problèmes a longtemps handicapé le fonctionnement des systèmes de CAO. Même si la CAO s est très largement développée ces 25 dernières années, des problèmes fondamentaux, comme ceux identifiés plus haut, n ont pas encore été complètement résolus, mais contournés par recours à différentes heuristiques. Dans ce cadre, nos perspectives de recherche seront orientées vers les trois thèmes suivants : (i) Modélisation à base de surfaces algébriques. (ii) Modélisation par contraintes géométriques. (iii) Comparaison et appariement de formes et de surfaces. a. Modélisation à base de surfaces algébriques Les surfaces paramétriques comme les NURBS, les Bsplines et les Béziers sont les briques de base de la plupart des systèmes de CAO. Ces surfaces sont préférées aux surfaces algébriques parce qu elles offrent aux concepteurs un mécanisme pratique et intuitif pour contrôler la forme de la surface en déplaçant les points de contrôle ou en modifiant les poids associés à ces points. A quelques exceptions près, les seules surfaces algébriques utilisées en CAO sont les quadriques. Deux raisons expliquent, à notre avis, cette utilisation restreinte : (i) Les surfaces algébriques, ou les interfaces disponibles actuellement pour les définir, offrent moins de liberté de modélisation que les surfaces paramétriques. (ii) De part sa formalisation, une surface paramétrique est limitée (en fonction des intervalles des paramètres 125
148 126 Chapitre 7. Perspectives la surface couvre à un carreau spécifique), alors qu une surface algébrique n est pas implicitement limitée et il faut fournir un moyen pour la délimiter à un carreau ayant des frontières spécifiques. Les cyclides de Dupin de degré quatre constituent un bon compromis entre les deux points précédents. Ces surfaces apportent un confort et une facilité lors de la modélisation et leur représentation paramétrique permet de les limiter facilement à des carreaux particuliers. Malgré les nombreuses propriétés géométriques et différentielles intéressantes pour la modélisation, il faut encore mettre en place les outils mathématiques et algorithmiques pour faciliter et encourager l usage de ces surfaces en CAO. Le développement des points suivants va dans le sens de cet usage : Mettre en place un mécanisme pour pouvoir contrôler et ajuster la forme représentée par une combinaison de carreaux de cyclides de Dupin, de façon similaire aux points de contrôle des surfaces paramétriques. Etablir un ensemble de règles de subdivision qui permettent de converger vers un carreau de cyclide de Dupin à partir d un maillage. La coplanarité des cercles principaux peut faciliter cela. Affiner la construction des carreaux de Bézier rationnels biquadratiques convertibles en cyclides de Dupin ou en supercyclides. Donner les conditions nécessaires et suffisantes permettant la construction d un carreau de Bézier rationnel biquadratique convertible en un carreau de cyclide de Dupin. Les supercyclides, dont nous avons défini les supercyclides elliptiques comme une sous-classe particulière, constituent un autre type de surfaces algébriques intéressantes pour la modélisation. Il serait intéressant d étudier la combinaison de carreaux de supercyclides pour la représentation de formes complexes dans les futurs développements de nos travaux sur ces surfaces. Les résultats obtenus par mélange de supershapes avec les R-fonctions semblent prometteurs. Cependant, le grand nombre de paramètres (22 paramètres) intervenant dans la définition, le positionnement et la déformation des supershapes rend difficile l optimisation des approximations obtenues surtout qu une mauvaise segmentation peut induire une importante erreur de reconstruction locale. Il serait donc intéressant de considérer l optimisation de la R-fonction globale, composée de l union de toutes les supershapes, en utilisant le nuage de points dans sa totalité. b. Modélisation par contraintes géométriques Le traitement de nombreux problèmes de modélisation géométrique ne peut se faire que par la satisfaction simultanée de plusieurs critères à travers la résolution d un système de contraintes géométriques. Les solveurs de ces systèmes sont des modules indispensables dans tout modeleur de CAO où des contraintes d incidence, de raccordement, de tangence, de tolérance, de mouvement, etc. sont utilisées pour imposer les relations spatiales et topologiques entre les surfaces reconstruites. Nous pensons orienter nos recherches dans cette thématique vers les points suivants : Détection des dépendances cachées entre plusieurs contraintes. Détection des incohérences (présence de contraintes contradictoires). Utilisation des outils issus de la théorie des graphes pour développer des algorithmes de manipulation et de résolution de contraintes géométriques.
149 127 c. Comparaison et appariement de formes Les logiciels de CAO et les outils d acquisition 3D ont facilité la construction de modèles 3D ; ceci a donné lieu à des collections d objets 3D, dites entrepôts de conception ou bases de données de modèles 3D. Dans une entreprise, les composants d un objet manufacturier sont souvent conçus en modifiant des composants préexistants. Se pose alors la question de retrouver les pièces ressemblant à une pièce donnée ; la réponse nécessite la comparaison des modèles géométriques des pièces en question. La détermination de la similarité entre deux objets 3D, référencée dans la littérature par appariement de formes, est une tâche fondamentale pour la gestion de base de données 3D et nécessite des techniques de traitement très spécifiques (appariement de graphes, méthodes statistiques de classification, techniques de regroupement, etc.). Le nombre de modèles de solides va toujours croissant, dans toute entreprise d ingénierie, le stockage, l extraction et la comparaison de ces modèles constituent par conséquent de vrais problèmes pour ces entreprises, d autant plus que les avancées considérables de la communauté scientifique pour la gestion de base de données (BD) multimédia que ce soit en image, en audio ou en vidéo restent mal adaptées à la gestion des BD de modèles de solides. Les données de CAO et les modèles de solides possèdent des exigences et des contraintes autres que celles des BD classiques et des BD multimédia. Au problème du manque d une méthode fiable pour la comparaison des modèles CAO, s ajoutent deux autres spécificités pour les BD de modèles de solides : Les éléments, i.e. les solides, à gérer ont de très larges données individuelles et peuvent venir de disciplines diverses. La détermination de critères d accès uniques pour ces bases est donc non triviale. Les études qui nous intéressent dans ce thème sont : Développer de nouvelles approches pour le partitionnement et la structuration de grandes BD de modèles de solides et d objets mécaniques afin de les intégrer dans un schéma global d indexation, de recherche et d extraction. Ce partitionnement sera fait en utilisant des méthodes statistiques qui fourniront pour chaque modèle étudié une signature sous forme de vecteur, de matrice ou de graphe. Mettre en place des algorithmes, basés sur l appariement de graphe et/ou des métriques en haute dimension, pour la recherche de similarités entre modèles. Gestion du cycle de vie du produit L émergence du PLM, comme une stratégie globale pour la gestion de toutes les données du cycle de vie du produit, a fait apparaître de nouveaux défis pour maîtriser la création, l échange et le contrôle des données dans l entreprise étendue. Les fonctionnalités de base du PLM englobe la gestion : des besoins du client, de la conception de produit intégrée, des chaînes logistiques, de projets et d aide à la décision et des données. Nos perspectives de recherche dans ce contexte concernent les fonctionnalités de gestion de la conception intégrée et de gestion de données. En effet, dans un environnement de développement de produit, les différents acteurs sont souvent submergés par des flux d informations importants et non structurés en provenance de plusieurs sources. Il est donc primordial : (i) de filtrer ces données, (ii) de les structurer, (iii) de les intégrer et les contrôler pour éviter les incohérences, et (iv) de canaliser les échanges entre les différentes acteurs pour éviter qu ils ne soient submergés par des informations non pertinentes.
150 128 Chapitre 7. Perspectives En ce qui concerne la gestion des données, les objectifs suivants seront visés : Poursuivre nos travaux sur l élaboration des modèles de données en complétant le CPM et l OAM et en proposant de nouvelles extensions du CPM pour d autres domaines. Etudier et montrer le rôle des normes existantes (STEP, PSL, etc.) pour la capture, la structuration et l échange des données, et le cas échéant montrer le besoin de nouvelles normes. Développer des ontologies pour l intégration et l échange de données. Montrer comment les nouvelles technologies issues du Web sémantique peuvent être utilisées pour améliorer l interopérabilité et l échange d informations produit. Proposer des interfaces et des mécanismes d extraction sélective des données pour pouvoir fournir des vues multiples d un même ensemble de données. Par exemple, dans un contexte de modélisation d assemblages l opérateur chargé de vérifier l assemblabilité des différents composants n a souvent besoin que de la structure hiérarchique de l assemblage et de l ordre dans lequel les composants doivent être assemblés. Pour ne pas le surcharger avec les détails inutiles des différentes parties, l interface doit lui fournir une vue simplifiée de chaque partie. Dans un environnement de conception intégrée, les activités de compositions des modèles CAO sont distribuées et parallélisées entre plusieurs opérateurs. Dans la plupart des cas, la coordination de ces différentes activités se fait par de nombreux échanges sous forme de va-et-vient à travers le réseau Internet. Pour pouvoir transmettre et manipuler la géométrie de ces modèles 3D de façon interactive sur le réseau, plusieurs formats ont été proposés (VRML, X3D, W3D, MPEG-4, etc.). Nous pensons que la combinaison des nouvelles technologies de traitement de l information et des outils d analyse multirésolution et de visualisation peut apporter une solution dans ce contexte.
151 Bibliographie [1] Abdel-Malek and H. J. K., Yeh. Determining intersection curves between surfaces of two solids. Computer Aided Design, 28 : , [2] G. Albrecht and W. Degen. Construction of Bézier rectangles and triangles on the symetric Dupin horn cyclide by means of inversion. Computer Aided Geometric Design, 14(4) : , [3] S. Allen and D. Dutta. Supercyclides and blending. Computer Aided Geometric Design, 14(7) : , [4] G. Aumann. Curvature continuous connections of cones and cylinders. Computer-aided Design, 27(4) : , [5] C. Bajaj, V. Pascucci, and G. Zhuang. Progressive compression and transmission of arbitrary triangular meshes. In Proceedings of IEEE Visualization, pages , [6] C. L. Bajaj, C. M. Hoffmann, J. E. Hopcroft, and R. E. Lynch. Tracing surface intersections. Computer Aided Geometric Design, 5 : , [7] T. Banchoff. The spherical two-piece property and tight surfaces in spheres. J. Diff. Geometry, 4 : , [8] E. Bardinet, L. D. Cohen, and N. Ayache. Fitting of iso-surfaces using superquadrics and freeform deformations. In Proc. of International Conference on Pattern Recognition (ICPR), pages 79 83, [9] E. Bardinet, L. D. Cohen, and N. Ayache. Superquadrics and free-form deformations : A global model to fit and track 3D medical data. In Proc. of CVRMed, pages , [10] R. E. Barnhill, G. Farin, M. Jordan, and B. R Piper. Surface / surface intersection. Computer Aided Geometric Design, 4 :3 16, [11] A. H. Barr. Global and local deformation of solid primitives. Computer Graphics, 18(3) :21 30, [12] J.L Bauchat, A.L. Defretin, and P. Martin. Interaction entre la modélisation mathématique et l usinage des surfaces complexes. Réflexions autour des cyclides de Dupin. In APMEP 02, [13] M. Berger. Géométrie 2, volume 5. Cedic-Nathan, 2ème edition,
152 130 BIBLIOGRAPHIE [14] M. Berger and B. Gostiaux. Géométrie différentielle : variétés, courbes et surfaces. PUF, 2ème edition, avril [15] H. Biermann, D. Kristjansson, and D. Zorin. Approximate boolean operations on free-form solids. In Proc. of SIGGRAPH 01, pages , [16] E. Blutel. Recherches sur les surfaces qui sont en même temps lieux de coniques et enveloppes de cônes du second degrée. Ann Sci. Ecole Norm. Super., 3(7) : , [17] C. Bock. Systems engineering in product lifecycle. International Journal of Product Developement, Special issue on Product Lifecycle Management, [18] W. Boehm. On cyclides in geometric modeling. Computer Aided Geometric Design, 7(1-4) : , June [19] E. Boender. A survey of intersection algorithms for curved surfaces. Computer & Graphics, 15 :99 115, [20] G.-P. Bonneau. Multiresolution analysis on irregular surface meshes. IEEE Transactions on Visualization and Computer Graphics, 4(4) : , [21] W. C. Burkett. Product data markup language : a new paradigm for product data exchange and integration. Computer Aided Design, 33(7) : , [22] P. Burt and E. Adelson. The laplacian pyramid as a compact image code. IEEE Transactions on Communications, 31(4) : , [23] E. Catmull and J. Clark. Recursively generated B-spline surfaces on arbitrary topological meshes. Computer-Aided Design, 10(6) : , [24] V. Chandru, D. Dutta, and C. M. Hoffmann. Variable radius blending using Dupin cyclides. Technical Report CSD TR 851, Purdue University, January [25] V. Chandru and B. S. Kochar. Geometric Modeling : Algorithms and NEW Trends, chapter Analytic Techniques for Geometric Intersection Problems, pages SIAM, PA. Philadelphia, [26] A. Ciampalini, P. Cignoni, C. Montani, and R. Scopigno. Multiresolution decimation based on global error. The Visual Computer, 13(5) : , [27] P. Cignoni, C. Montani, C. Rocchini, R. Scopigno, and M. Tarini. Preserving attribute values on simplified mesches by re-sampling detail textures. The Visual Computer, 15(10) : , [28] P. Cignoni, C. Rocchini, and R. Scopigno. A comparison of mesh simplification algorithms. Computer and Graphics, 22(1) :37 54, [29] J. Cohen, M. Olano, and D. Manocha. Appearance-preserving simplification. In Proceedings of ACM SIGGRAPH, pages , [30] J. Cohen, A. Varshney, D. Manocha, G. Turk, H. Weber, P. Agarwal, F. Books, and W. Wright. Simplification envelopes. In Proceedings of ACM SIGGRAPH, pages , 1996.
153 BIBLIOGRAPHIE 131 [31] S. Dahlke, W. Dahmen, E. Schmitt, and I. Weinreich. Multirésolution analysis and wavelets on s2 and s3. Technical report, Institut für Geometrie und angewandete Mathematik, RWTH Aachen, [32] G. Darboux. Leçons sur la Théorie Générale des Surfaces, volume 1. Gauthier-Villars, [33] G. Darboux. Principes de géométrie analytique. Gauthier-Villars, [34] I. Daubechies, I. Guskov, P. Schröder, and W. Sweldens. Wavelets on irregular point sets. Philosophical Transactions of the Royal Society, 357(1760) : , [35] D. DeCarlo and D. Metaxas. Shape evolution with structural and topological changes using blending. IEEE Transactions on Pattern Analysis and Machine Intelligence, 20 : , [36] W. L. F. Degen. Surfaces with a conjugate net of conics in projective space. Tensor, N.S, 39 : , [37] W. L. F. Degen. Die zweifachen blutelschen kegelschnittflächen. Manuscripta Mathematica, 55 :9 38, [38] W. L. F. Degen. Generalized Cyclides for Use in CAGD. In A. Bowyer, editor, The Mathematics of Surfaces IV, pages , Oxford, Clarendon Press. [39] W. L. F. Degen. On the origin of supercyclides. In Robert Cripps, editor, Proceedings of the 8th IMA Conference on the Mathematics of Surfaces (IMA-98), volume VIII of Mathematics of Surfaces, pages , Winchester, UK, September Information Geometers. [40] M. Desbrun, M. Meyer, P. Schröder, and A.H. Barr. Implicit fairing of irregular meshes using diffusion and curvature flow. In Proceedings of ACM SIGGRAPH, pages , [41] L. Deshayes, M. Gruninger, and S. Foufou. Standards integration using ontologies. Journal of Computing and Information Science in Engineering, Under review. [42] D. Donoho. De-noising by soft-thresholding. IEEE Transactions on Information Theory, 41(3) : , [43] D. Donoho and I. Johnstone. Adapting to unknown smoothness via wavelet shrinkage. Journal of the American Statistical Association, 90(432) : , [44] D. Doo and M. Sabin. Behavior of recursive division surfaces near extraordinary points. Computer-Aided Design, 10(6) : , [45] C. P. Dupin. Application de Géométrie et de Méchanique à la Marine, aux Ponts et Chaussées, etc. Bachelier, Paris, [46] D. Dutta, R. R. Martin, and M. J. Pratt. Cyclides in surface and solid modeling. IEEE Computer Graphics and Applications, 13(1) :53 59, January [47] N. Dyn, D. Levin, and J. Gregory. A butterfly subdivision scheme for surface interpolation with tension control. ACM Transaction on Graphics, 9(2) : , 1990.
154 132 BIBLIOGRAPHIE [48] M. Eck, T. DeRose, T. Duchamp, H. Hoppe, M. Lounsbery, and W. Stuelze. Multiresolution analysis of arbitrary meshes. In Proceedings of ACM SIGGRAPH, pages , [49] S. Eswaran, R. Sudarsan, S. Fenves, S. Foufou, and R.D. Sriram. Product lifecyle management : a chalange in supporting the product design and manufacturing in a networked economy. International Journal of Product Lifecycle Management, To appear. [50] S. Eswaran, R. Sudarsan, S. Fenves, S. Foufou, and R.D. Sriram. Product lifecyle management support : a chalange in supporting the product design and manufacturing in a networked economy. Technical Report NISTIR 7211, National Institute of Standards and Technology, Gaithersburg, MD 20899, USA, [51] S. Fenves, S. Foufou, C. Bock, N. Bouillon, R. Sudarsan, and R. D. Sriram. CPM2 : A revised core product model for representing design information. Technical Report NISTIR 7185, National Institute of Standards and Technology, Gaithersburg, MD 20899, USA, [52] S. J. Fenves. A core product model for representing design information. Technical Report NISTIR 6736, National Institute of Standards and Technology, Gaithersburg, MD 20899, USA, April [53] S. Fleishman, I. Drori, and D. Cohen-Or. Bilateral mesh denoising. In Proceedings of ACM SIGGRAPH, pages , [54] L. De Floriani, P. Magillo, and E. Puppo. Building and traversing a surface at variable resolution. In Proceedings of IEEE Visualization, pages , [55] J. Foley, A. Van Dam, S. Feiner, and J. Hughes. Computer Graphics : Principle and Pratice. Addison-Wesley, second edition, [56] A. Forest. Curves and Surfaces for Computer-Aided Design. PhD thesis, University of Cambridge, [57] A. R. Forsyth. Lecture on Differential Geometry of Curves and Surfaces. Cambridge University Press, [58] S. Foufou, S. Fenves, C. Bock, R. Sudarsan, and R.D. Sriram. Semantic implementation of the cpm2 using xml. In Proceedings of the PLM 05 International Conference on Product Lifecycle Management, Lyon, France, July Inderscience Publishers. To Appear. [59] S. Foufou and L. Garnier. Dupin cyclide blends between quadric surfaces for shape modeling. Computer Graphics Forum [Special issue for EUROGRAPHICS 04, Grenoble, France, Aug Sept. 3, 2004], 23(3) : , [60] S. Foufou and L. Garnier. Implicit equations of supercyclides. In M. Neamtu and E.W. Saff, editors, Advances in Constructive Approximation [Proc. Book of the International Conference on Advances in Constructive Approximation, Nashville, TN, USA, May 2003], pages Nashboro Press, Nashville, TN, USA, [61] S. Foufou, L. Garnier, and M. Neveu. Blending of surfaces of revolution and planes by Dupin cyclides. In M.L. Lucian and M. Neamtu, editors, Geometric Modeling and Computing [Proc. book of the 8th SIAM Conference on Geometric Design and Computing, Seattle, USA, Nov. 2003]. Nashboro Press, Nashville, TN, USA, 2004.
155 BIBLIOGRAPHIE 133 [62] S. Foufou, L. Garnier, and M. Pratt. Conversion of Dupin cyclide patches into rational biquadratic Bézier form. In Proceedings of Mathematics of Surfaces XI International Conference, Lecture Notes in Computer Science, University of Loughborough, UK, September Springer. To appear. [63] S. Foufou, D. Michelucci, and J.-P. Jurzak. Numerical decomposition of geometric constraints. In Proceedings de ACM Symposium on Solid and Physical Modeling, MIT, Cambridge, MA, USA, May ACM Press. To appear. [64] Y. Fougerolle, A. Grikob, S. Foufou, F. Truchetet, and M. Abidi. Boolean operations on supershapes using R-functions. IEEE Transaction on Visualization and Computer Graphics, To appear. [65] W.R. Franklin and V. Akman. Adaptative grid for polyhedral visibility in object space. Computer Journal, 31(1) :56 60, [66] W.R. Franklin, M. Kankanhalli, and C. Narayanaswami. Geometric computing and uniform grid technique. Computer Aided Design, 21(7) : , [67] T. Gallagher and B. Piper. Convexity preserving surface interpolation. In N.S. Sapidis, editor, Designing Fair Curves and Surfaces : Shape Quality in Geometric Modeling and Computer- Aided Design, pages , Philadelphia, USA, SIAM. [68] M. Garland and P. Heckbert. Surface simplification using quadric error metrics. In Proceedings of ACM SIGGRAPH, pages , [69] M. Garland and P. Heckbert. Simplifying surfaces with color and texture using quadric error metrics. In Proceedings of IEEE Visualization, pages , [70] L. Garnier. Utilisation des cyclides de Dupin quartiques et des supercyclides quartiques en modélisation géométrique. PhD thesis, Université de Bourgogne, Dijon, France, December [71] L. Garnier, S. Foufou, and D. Michelucci. Conversion of quadrics into rational biquadratic Bézier patches. In Proceedings of isicad : Constraint-based Approaches and Methods of Mathematical Modelling for Intelligent CAD/CAM/CAE systems : From Methods to Applications, Novosibirsk, Russia, June [72] L. Garnier, S. Foufou, and M. Neveu. Conversion de cyclides de Dupin en carreaux de Bézier rationnels biquadriques. In Actes des 15 emes journées AFIG, pages , Lyon, France, December [73] L. Garnier, S. Foufou, and M. Neveu. From Dupin cyclides to scaled cyclides. In Journal of WSCG : Proceedings of the 11 th International Conference in Central Europe on Computer Graphics, Visualization and Computer Vision, volume 11, pages , Plzen, Czech Republic, February [74] L. Garnier, S. Foufou, and M. Neveu. Jointure G 1 -continue entre un cône et une sphère. Revue Internationale de CFAO et d informatique graphique, 17(3 4) : , [75] A. Gerussi. Analyse multrésolution non emboîtée : applications à la visualisation scientifique. Thèse de doctorat, Université Joseph Fourier, Grenoble 1, 2000.
156 134 BIBLIOGRAPHIE [76] J. Gielis. A generic geometric transformation that unifies a wide range of natural and abstract shapes. American Journal of Botany, 90 : , [77] J. Gielis, B. Beirinckx, and E. Bastiaens. Superquadrics with rational and irrational symmetry, Symposium on Solid Modeling and Applications. [78] A. Gross and T. Boult. Error of fit measures for recovering parametric solids. In Proc. Internat. Conf. Computer Vision, pages , [79] A. Guéziec. Meshsweeper : Dynamic point-to-polygonal-mesh distance and applications. IEEE Visualization and Computer Graphics, 7(1) :47 61, [80] A. Guéziec, G. Taubin, B. Horn, and F. Lazarus. A framework for streaming geometry in VRML. IEEE Visualization and Computer Graphics, 19(2), [81] I. Guskov, W. Sweldens, and P. Schröder. Multiresolution signal processing for meshes. In Proceedings of ACM SIGGRAPH, pages , [82] J. Hebda. Manifolds admitting taut hyperspheres. Pacific J. Math., 97 : , [83] P. Heckbert. Generic convex polygon scan conversion and clipping. In Andrew S. Glassner, editor, Graphics Gems I, pages Academic Press, [84] C. M. Hoffmann. Geometric and Solid Modeling : An Introduction. Morgan Kaufmann Publishers Inc., [85] C. M. Hoffmann. Geometric and Solid Modeling : An Introduction. Morgan Kaufmann, [86] H. Hoppe. Progressive meshes. In Proceedings of ACM SIGGRAPH, pages , [87] H. Hoppe. View-dependent refinement of progressive meshes. In Proceedings of ACM SIG- GRAPH, pages , [88] H. Hoppe. New quadric metric for simplifying meshes with appearance attributes. In Proceedings of IEEE Visualization, pages 59 66, [89] H. Hoppe, T. DeRose, T. Duchamp, J. McDonald, and W. Stuetzle. Mesh optimization. In Proceedings of ACM SIGGRAPH, pages 19 26, [90] H. Hoppe and S. Marschner. Efficient minimization of new quadric metric for simplifying meshes with appearance attributes. Technical Report MSR-TR , Microsoft Research, [91] A. Hubeli and M. Gross. Multiresolution feature extraction from unstructured meshes. In Proceedings of IEEE Visualization, pages , [92] ISO. ISO 1832, Indexable Inserts for cutting tools - Designation, ISO, [93] ISO. Industrial automation systems and integration-product data representation and exchange, ISO International Organization for Standardization (ISO), Geneva, Switzerland, the ISO catalogue is online at http :// CatalogueListsearch on for a listing of published parts of the standard.
157 BIBLIOGRAPHIE 135 [94] ISO. ISO 5608, Turning and copying tool holders and cartridges for indexable inserts - Designation, [95] Owen J. STEP : an introduction. Information Geometers, Winchester, UK, [96] Pratt M. J. Introduction to ISO the STEP standard for product data exchange. Journal of Computing and Information Science in Engineering, 1(1) : , [97] A. Jakli c, A. Leonardis, and F. Solina. Segmentation and recovery of superquadrics. Kluwer Academic Publisher, Dordrecht, [98] A. Jakli c and F. Solina. Moments of superellipsoids and their application to range image registration. IEEE Transactions on Systems, Man, and Cybernetics, 33(4) : , [99] L. Kobbelt. Discrete fairing. In Proceedings of IMA Conference on the Mathematics of Surfaces, pages , [100] L. Kobbelt. 3-subdivision. In Proceedings of ACM SIGGRAPH, pages , [101] L. Kobbelt, J. Vorsatz, and H.-P. Seidel. Multiresolution hierarchies on unstructured triangle meshes. Computational Geometry : Theory and Applications, 14(1-3) :5 24, [102] S. Krishnan, A. Narkhede, and D. Manocha. Boole : A system to compute boolean combinations of sculptured solids. Technical report, Department of Computer Science, University of North Carolina, [103] S. Lanquetin. Etude des surfaces de subdivision : intersection, precision et profondeur de subdivision. PhD thesis, Université de Bourgogne, Dijon, France, September [104] S. Lanquetin, S. Foufou, H. Kheddouci, and M. Neveu. Computing subdivision surface intersection. In Poster proceedings of the International Conference in Central Europe on Computer Graphics, Visualization and Computer Vision, pages 73 76, Plzen, Czech Republic, February [105] S. Lanquetin, S. Foufou, H. Kheddouci, and M. Neveu. Deux algorithmes d intersection de surfaces de subdivision. Revue Internationale de CFAO et d informatique graphique, 18(2) : , [106] S. Lanquetin, S. Foufou, H. Kheddouci, and M. Neveu. A graph based algorithm for intersection of subdivision surfaces. In Kenneth Tan Kumar, Gavrilova and L Ecuyer, editors, Lecture Notes in Computer Science 2669, Proceedings of the ICCSA 03, pages , Montreal, Canada, May Springer-Verlag. [107] P. Lindstrom and G. Turk. Fast and memory efficient polygonal simplification. In Proceedings of IEEE Visualization, pages , [108] P. Lindstrom and G. Turk. Evaluation of memoryless simplification. IEEE Transactions on Visualization and Computer Graphics, 5(2) :98 115, [109] H. Löffelmann and E. Gröller. Parameterizing superquadrics. In Proc. of WSCG 95, pages , 1995.
158 136 BIBLIOGRAPHIE [110] C. Loop. Smooth subdivision surfaces based on triangles. Master s thesis, University of Utah, [111] M. Lounsbery. Multiresolution Analysis for Surfaces of Arbitrary Topological Type. PhD thesis, University of Washington, USA, [112] M. Lounsbery, T. DeRose, and J. Warren. Multiresolution analysis for surfaces of arbitrary topological type. ACM Transactions on Graphics, 16(1) :34 73, [113] J. Lubbell, R.S. Peak, V. Srinivasan, and S.C. Waterbury. STEP, XML, and UML : Complementary technologies. In Proceedings of DETC ASME Design Engineering Technical Conference, Salt Lake City, Utah, USA, 28 Sept.-2 Oct [114] D. Luebke and C. Erikson. View-dependent simplification of arbitrary polygonal environments. In Proceedings of ACM SIGGRAPH, pages , [115] S. Mallat. A theory for multiresolution signal decomposition : the wavelet representation. IEEE Transaction on Pattern Analysis and Machine Intelligence, 11(7) : , [116] S. Mallat. A Wavelet Tour of Signal Processing. Academic Press, second edition, [117] R. R. Martin. Principal patches for computational geometry. PhD thesis, Engineering Department, Cambridge University, [118] J. C. Maxwell. On the cyclide. Quarterly Journal of Pure and Applied Mathematics, pages , [119] D. Ménegaux, D. Michelucci, and S. Foufou. Modélisation de surfaces algébriques par contraintes géométriques. In Actes des 17 emes journées AFIG, pages 23 32, Poitiers, France, November [120] F. Mervyn, A. Senthil Kumar, S. H. Bok, and A. Y. C. Nee. Developing distributed applications for integrated product and process design. Computer Aided Design, 36(8) : , [121] D. Michelucci and S. Foufou. Kernel functions give intrinsic formulations of geometric constraints. In Proceedings of isicad : Constraint-based Approaches and Methods of Mathematical Modelling for Intelligent CAD/CAM/CAE systems : From Methods to Applications, Novosibirsk, Russia, June [122] D. Michelucci and S. Foufou. Using Cayley-Menger determinants for geometric constraint solving. In Proceedings de ACM Symposium on Solid Modeling and Applications, Genova, Italy, June ACM Press. [123] Moutard. Annales de Mathématiques. Bulletin de la société Philomatique et compte rendu de l Académie, [124] NIST. Process Specification Language [125] D. A. O Brien and D. Manocha. Calculating intersection curve approximations for subdivision surfaces. http :// [126] Y. Ohtake, A. Belyaev, and A. Pasko. Dynamic mesh optimization for polygonized implicit surfaces with sharp features. The Visual Computer, 19(2-3) : , 2003.
159 BIBLIOGRAPHIE 137 [127] OMG. UML 2.0 Superstructure Specification, [128] D. Page, A. Koschan, and M. Abidi. Perception-based 3d triangle mesh segmentation using fast marching watersheds. In Proceedings of IEEE International Conference on Computer Vision and Pattern Recognition, pages 27 32, [129] M. Paluszny and W. Boehm. General cyclides. Computer Aided Geometric Design, 15(7) : , [130] N. M. Patrikalakis. Surface-to-surface intersections. IEEE Computer Graphics & Applications, 13 :89 95, [131] J. Peng, V. Strela, and D. Zorin. A simple algorithm for surface denoising. In Proceedings of IEEE Visualization, pages , [132] U. Pinkall. Dupin hypersurfaces. Math. Ann., 270(3) : , [133] M. J. Pratt. Cyclides in computer aided geometric design. Computer Aided Geometric Design, 7(1-4) : , [134] M. J. Pratt. Dupin cyclides and supercyclides. In G. Mullineux, editor, Proceedings of the 6th IMA Conference on the Mathematics of Surfaces (IMA-94), pages 43 66, Brunel University, September Oxford University Press. [135] M. J. Pratt. Cyclides in computer aided geometric design II. Computer Aided Geometric Design, 12(2) : , [136] M. J. Pratt. Quartic supercyclides I : Basic theory. Computer Aided Geometric Design, 14(7) : , [137] M. J. Pratt. Quartic supercyclides II : Special and degenerate cases. Computer Aided Geometric Design, [138] M. J. Pratt, B. D. Anderson, and T. Ranger. Towards the standardized exchange of parameterized feature-based CAD models. Computer Aided Design, To appear. [139] A. A. G. Requicha. Representations for rigid solids : Theory, methods, and systems. ACM Comput. Surv., 12(4) : , [140] M. Rezayat. Knowledge-based product development using XML and KCs. Computer Aided Design, 32 : , [141] R. Ronfard and J. Rossignac. Full-range approximation of triangulated polyhedra. In Proceedings of Eurographics, pages 67 76, [142] J. Rossignac and P. Borrel. Multi-resolution 3d approximations for rendering complex scenes. In Geometric Modeling in Computer Graphics, pages , [143] M. Roy. Comparaison et Analyse Multirésolution de Maillages Irréguliers avec Attributs d Apparence. PhD thesis, Université de Bourgogne, Le Creusot, France, December 2004.
160 138 BIBLIOGRAPHIE [144] M. Roy, S. Foufou, A. Koschan, F. Truchetet, and M. Abidi. Multiresolution analysis for irregular meshes. In Proceedings of SPIE International Symposium on Photonics Technologies for Robotics, Automation, and Manufacturing (Photonics East), volume 5266, Providence, RI, USA, October [145] M. Roy, S. Foufou, A. Koschan, F. Truchetet, and M. Abidi. Multiresolution analysis for irregular meshes with appearance attributes. In Proceedings of IEEE ICIP, Genova, Italy, September To appear. [146] M. Roy, S. Foufou, and F. Truchetet. Denoising 3d models using soft thresholding. In Proceedings of SPIE Optics East Conference on Wavelet Applications in Industrial Processing, Philadelphia, USA, October [147] M. Roy, S. Foufou, and F. Truchetet. Mesh comparison using attribute deviation metric. International Journal of Image and Graphics, 4(1) : , [148] M. Roy, S. Foufou, and F. Truchetet. Multiresolution analysis for irregular meshes with appearance attributes. In Proceedings of International Conference on Computer Vision and Graphics, Varsaw, Pologne, September [149] M. Roy, F. Nicolier, S. Foufou, and F. Truchetet. Mesure de déviation d attributs pour la comparaison de maillages. Revue Internationale de CFAO et d informatique graphique, 17(3-4) : , [150] M. Roy, F. Nicolier, S. Foufou, F. Truchetet, A. Koschan, and M. Abidi. Assessment of mesh simplification algorithm quality. In Proceedings of SPIE Electronic Imaging, volume 4661, pages , San Jose, USA, January [151] V. L. Rvachev. Geometric Applications of Logic Algebra. Naukova Dumka, In Russian. [152] V. L. Rvachev. Methods of Logic Algebra in Mathematical Physics. Naukova Dumka, In Russian. [153] V. L. Rvachev. Theory of R-functions and some applications. Naukova Dumka, In Russian. [154] R. Schneider and L. Kobbelt. Geometric fairing of irregular meshes for freeform surface design. Computer Aided Geometric Design, 18(4) : , [155] P. Schröder and W. Sweldens. Spherical wavelets : efficiently representing function on the sphere. In Proceedings of ACM SIGGRAPH, pages , [156] W.J. Schroeder, J.A. Zarge, and W.E. Lorensen. Decimation of triangle meshes. In Proceedings of ACM SIGGRAPH, pages 65 70, [157] V. Shapiro. Theory of R-functions and applications : A primer. Technical Report TR , Computer Science Department, Cornell University, Ithaca, NY, [158] V. Shapiro and I. Tsukanov. Implicit functions with guaranteed differential properties. In Symposium on Solid Modeling and Applications, pages , 1999.
161 BIBLIOGRAPHIE 139 [159] D. Shen, H.H.S. Ip, K.K.T Cheung, and E.K. Teoh. Symmetry detection by generalized complex (GC) moments : a close-form solution. IEEE Pattern Analysis And Machine Intelligence, 21(5) : , [160] C. K. Shene. Blending with affine and projective Dupin cyclides. Computer Aided Geometric Design, 5(1 2) : , [161] C. K. Shene. Blending two cones with Dupin cyclides. Computer Aided Geometric Design, 15(7) : , [162] C. K. Shene. Do blending and offsetting commute for Dupin cyclides. Computer Aided Geometric Design, 17(9) : , [163] F. Solina and R. Bajcsy. Recovery of parametric models from range images : The case for superquadrics with global deformations. The Visual Computer, 12(2) : , [164] J. F. Sowa. Knowledge representation, Logical, Phisical and Computational Foundations. Brooks/Cole, [165] Y. L. Srinivas and D. Dutta. Rational parametric representation of parabolic cyclide : Formulation and applications. Computer Aided Geometric Design, 12(6) : , ISSN [166] Y. L. Srinivas, K. P. Vinod Kumar, and D. Dutta. Surface design using cyclide patches. Computer-aided Design, 28(4) : , [167] Ram D. Sriram. Standards for the Collaborative Design Enterprise, Response to Object Management Group s (OMG) Mfg DTG RFI # 4, [168] R. Stallman. Free Software, Free Society : Selected Essays of Richard M. Stallman. GNU Press, [169] STEPml. STEP Markup Language. http ://stepml.org/, [170] E. J. Stollnitz, T. D. DeRose, and D. H. Salesin. Wavelets for Computer Graphics : Theory and Applications. Morgan Kaufmann, [171] R. Sudarsan, M. Baysal, U. Roy, S. Foufou C. Bock, S. Eswaren, K. Lyons, and R. D. Sriram. Information models for product representation : Core and assembly models. Technical Report NISTIR 7173, National Institute of Standards and Technology, Gaithersburg, MD 20899, USA, [172] R. Sudarsan, M. Baysal, U. Roy, S. Foufou, C. Bock, S. Eswaren, K. Lyons, and R.D. Sriram. Information models for product representation : Core and assembly models. International Journal of Product Development, To appear. [173] R. Sudarsan, Y. H. Han, S. C. Feng, U. Roy, F. Wang, R. D. Sriram, and K. W. Lyons. Objectoriented representation of electro-mechanical assemblies using UML. Technical Report NIS- TIR 7057, National Institute of Standards and Technology, Gaithersburg, MD 20899, USA, 2003.
162 140 BIBLIOGRAPHIE [174] R. Sudarsan, Y.-H. Han, S. Foufou, S.-C. Feng, U. Roy, F. Wang, R.D. Sriram, and K. Lyons. A model for capturing product assembly information. Journal of Computing and Information Science in Engineering, Under review. [175] C. Sun and J. Sherrah. 3D symmetry detection using the extended gaussian image. IEEE Pattern Analysis And Machine Intelligence, 19(2) : , [176] W. Sweldens. Construction and Applications of Wavelets in Numerical Analysis. PhD thesis, Department of Computer Science, Katholieke Universiteit Leuven, Belgium, [177] W. Sweldens. The lifting scheme : A construction of second generation wavelets. SIAM Journal on Mathematical Analysis, 29(2) : , [178] G. Taubin. A signal processing approach to fair surface design. In Proceedings of ACM SIG- GRAPH, pages , [179] Manufacturing Technology and Industrial Systems Task Force Request for Information #1. Knowledge-based engineering (KBE) product and process engineering working group (PPE WG). http :// [180] M. Toubin. Caractérisation et simplification de modèles numériques de scènes réelles par approche multirésolution dans un contexte multi-capteurs. Thèse de doctorat, Université de Bourgogne, [181] K. Ueda. Normalized Cyclide Bézier Patches. In M. Daehlen, T. Lyche, and L.L. Schumaker, editors, Mathematical Methods for Curves and Surfaces, pages , Nashville, USA, Vanderbilt University Press. Proc. of the International Conference on Math. Methods in CAGD, Ulvik, Norway, June 16-21, [182] UGS. JTOpen. http :// [183] UGS. PLM XML. http :// [184] S. Valette and R. Prost. Wavelet-based multiresolution analysis of irregular surface meshes. IEEE Transactions on Visualization and Computer Graphics, 10(2) : , [185] L. Vehlo and D. Zorin. 4-8 subdivision. Computer Aided Geometric Design, 18 : , [186] R. C. Veltkamp. Shape matching : Similarity measures and algorithms. Technical Report UU- CS , Utrecht University, [187] R. C. Veltkamp and M. Hagedoorn. State-of-the-art in shape matching. Technical Report UU-CS , Utrecht University, [188] H. B. Voelcker and A. A. G. Requicha. Research in solid modeling at the University of Rochester : In L. Piegl, editor, Fundamental Developments in Computer-Aided Modeling, Academic Press, London, [189] W3C. World wide web consortium [190] B. Wyvill and K. van Overveld. Polygonization of Implicit Surfaces with Constructive Solid Geometry. Journal of Shape Modelling, 2(4) : , 1996.
163 BIBLIOGRAPHIE 141 [191] J. Xia, J. El-Sana, and A. Varshney. Adaptive real-time level-of-detail-based rendering for polygonal models. IEEE Transactions on Visualization and Computer Graphics, 3(2) : , [192] J. Xia and A. Varshney. Dynamic view-dependent simplification for polygonal models. In Proceedings of IEEE Visualization, pages , [193] X. F. Zha, S. Foufou, R. Sudarsan, and R.D. Sriram. Analysis and evaluation for step-based electro-mechanical assemblies. Journal of Computing and Information Science in Engineering, Under review. [194] X. Zhou and W. Strasser. A NURBS approach to cyclides. Computers In Industry, 19(2) : , 1992.
164
165 Annexe : Copies d articles Dans cette Annexe, j insère des copies des articles les plus représentatifs de nos travaux. Un ou deux articles sont inclus pour chaque chapitre dans l ordre suivant : 1. S. Foufou, L. Garnier, and M. Pratt. Conversion of Dupin cyclide patches into rational biquadratic Bézier form. In Proceedings of Mathematics of Surfaces XI International Conference, Lecture Notes in Computer Science, University of Loughborough, UK, September Springer. To appear. 2. S. Foufou and L. Garnier. Dupin cyclide blends between quadric surfaces for shape modeling. Computer Graphics Forum [Special issue for EUROGRAPHICS 04, Grenoble, France, Aug Sept. 3, 2004], 23(3) : , M. Roy, S. Foufou, and F. Truchetet. Mesh comparison using attribute deviation metric. International Journal of Image and Graphics, 4(1) : , M. Roy, S. Foufou, A. Koschan, F. Truchetet, and M. Abidi. Multiresolution analysis for irregular meshes with appearance attributes. In Proceedings of IEEE ICIP, Genova, Italy, September To appear. 5. Y. Fougerolle, A. Grikob, S. Foufou, F. Truchetet, and M. A. Abidi. Boolean operations on supershapes using R-functions. IEEE Transaction on Visualization and Computer Graphics, To appear. 6. S. Foufou, S. Fenves, C. Bock, R. Sudarsan, and R.D. Sriram. Semantic implementation of the CPM2 using XML. In Proceedings of the PLM 05 International Conference on Product Lifecycle Management, Lyon, France, July Inderscience Publishers. To appear. 7. S. Eswaran, R. Sudarsan, S. Fenves, S. Foufou, and R. D. Sriram. Product lifecyle management : a chalange in supporting the product design and manufacturing in a networked economy. International Journal of Product Lifecycle Management, Inderscience Publishers. To appear. 143
166 Conversion of Dupin cyclide patches into rational biquadratic Bézier form Sebti Foufou 1, Lionel Garnier 1, and Michael J. Pratt 2 1 LE2I, UMR CNRS 5158, UFR Sciences, Université de Bourgogne, BP 47870, Dijon Cedex, France [email protected], [email protected] 2 LMR Systems, 21 High Street, Carlton, Bedford, MK43 7LA, UK [email protected] Abstract. This paper uses the symmetry properties of circles and Bernstein polynomials to establish a series of interesting barycentric properties of rational biquadratic Bézier patches. A robust algorithm is presented, based on these properties, for the conversion of Dupin cyclide patches into Bézier form. A set of conversion examples illustrates the use of this algorithm. 1 Introduction Rational Biquadratic Bézier Surfaces (RBBSs) are tensor product parametric surfaces widely used in the first generation of computer graphics applications and geometric modelling systems. Good introductions to RBBSs may be found in [1 4]. Dupin cyclide surfaces represent a family of ringed surfaces, i.e., surfaces generated by a circle of variable radius sweeping through space [5 7]. It is possible to formulate them either as algebraic or parametric surfaces. In recent decades, the interest of several authors in these surfaces relates to their potential value in the development of CAGD tools [8, 9]. Also, cyclide intersections and the use of cyclides as blending surfaces have been investigated [10, 11]. The primary aim of this paper is to prove a series of useful properties of RBBSs, called barycentric properties, and to show how they can be used to convert cyclide patches into RBBSs. Section 2 gives background information concerning Rational Quadratic Bézier Curves (RQBCs) and RBBSs, introduces the Dupin cyclides, and discusses an algorithm for conversion of Dupin cyclide patches to RBBSs. Section 3 shows the use of RQBCs to represent circular arcs. Section 4 states and proves a set of new barycentric properties of RBBSs. Section 5 uses these properties to define a robust new algorithm for the conversion of Dupin cyclides into RBBSs, and illustrates some of the conversion results obtained. Section 6 presents our conclusions and suggests directions for future work.
167 2 2 Background 2.1 Rational quadratic Bézier curves and surfaces A Rational Quadratic Bézier Curve (RQBC) is a second degree parametric curve defined by: ( 2 ) 1 OM(t) = w i B i (t) OP i, t [0, 1] (1) 2 i=0 w i B i (t) i=0 where B i (t) are quadratic Bernstein polynomials defined as: B 0 (t) = (1 t) 2, B 1 (t) = 2t (1 t) and B 2 (t) = t 2, and for i {0, 1, 2}, w i are weights associated with the control points P i. For a standard RQBC w 0 and w 2 are equal to 1, while w 1 can be used to control the type of conic defined by the curve. Rational Biquadratic Bézier Surfaces (RBBSs) are defined by a tensor product of two RQBCs by: OM (u, v) = 2 i=0 j=0 1 2 w ij B i (u) B j (v) 2 2 i=0 j=0 w ij B i (u) B j (v) OP ij (2) More details on Bézier curves and surfaces can be found in [12, 4]. 2.2 Dupin cyclides Non-degenerate Dupin cyclides can be characterized by either of the following two equivalent implicit equations: ( x 2 + y 2 + z 2 µ 2 + b 2) 2 = 4 (ax cµ) 2 + 4b 2 y 2 (3) ( x 2 + y 2 + z 2 µ 2 b 2) 2 = 4 (cx aµ) 2 4b 2 z 2 (4) Parameters a, b and c are related by c 2 = a 2 b 2. The parameter a is always greater than or equal to c. Parameters a, c and µ determine the type of the cyclide. When c < µ a it is a ring cyclide, when 0 < µ c it is a horned cyclide, and when µ > a it is a spindle cyclide. The parametric form is represented by equation (5), where parameters θ and ψ satisfy (0 θ, ψ 2π): x(θ, ψ) = µ(c a cos θ cos ψ) + b2 cos θ a c cos θ cos ψ y(θ, ψ) = z(θ, ψ) = b sin θ (a µ cos ψ) a c cos θ cos ψ b sin ψ (c cos θ µ) a c cos θ cos ψ These are the most important properties of Dupin cyclide surfaces: (5)
168 3 Simple mathematical representation in either implicit or parametric form. Circular lines of curvature. These lines of curvature correspond to isoparametric lines of constant θ or ψ. The angle between the surface normal and the principal normal on the lines of curvature is also constant. Each cyclide has two perpendicular planes of symmetry. The intersections of a cyclide with its planes of symmetry are two pairs of circles called the principal circles. These are the lines of curvature of the cyclide for which ψ = 0, ψ = π, θ = 0 or θ = π. In the parametric form, knowledge of the four principal circles allows the computation of the parameters a, c, and µ. The curvature line and tangent cone properties given above make it easy to use Dupin cyclides to create blends between other cyclide surfaces, including the important special cases of circular cylinders, circular cones, spheres and toruses. 2.3 Conversion of Dupin cyclides to RBBSs If a RBBS is parameterized in terms of u and v, its isoparametric curves are conics. Lines of curvature of Dupin cyclides are circles, which are particular cases of conics. It is thus possible to convert a Dupin cyclide patch into an RBBS. In the rest of this paper, the Dupin cyclide patch to be converted will be referred to as a cyclide patch. It is assumed to be delimited by the curvature lines corresponding to parameter values (θ 0, θ 1, ψ 0, ψ 1 ). A conversion algorithm of the type discussed was proposed in [5]. The control points and their associated weights were determined from the parametric equation of the Dupin cyclide (equation (5)) by the following method: 1. The parameter transformations θ R (π + 2πZ), cos θ = 1 tan2 U 2 tan U 1 + tan 2, sin θ = U 1 + tan 2 U where U = tan(θ/2), together with corresponding expressions for cos ψ and sin ψ in terms of V = tan(ψ/2), were used to obtain rational quadratic forms for the three coordinates in terms of U, V. 2. A linear reparametrization was now applied to obtain a representation in terms of u, v such that u, v [0, 1]. 3. The common denominator of the resulting scalar-valued rational biquadratics in u and v was reformulated in terms of the quadratic Bernstein basis functions. The resulting coefficients of those basis functions were identified with the weights w ij in the denominator of equation (2). 4. Finally, with the weights known, the numerators of the three rational biquadratics were similarly reformulated. This gave the coordinates of the patch control points, expressed in terms of the defining constants of the particular cyclide, a, c, µ, together with the bounding parameter values of the original cyclide patch. (6)
169 4 Fig. 1. Conversion of a Dupin cyclide patch (left) to RBBS (right) using Pratt s original algorithm. Figure 1 shows an example of the conversion of a Dupin cyclide patch into a RBBS using this algorithm. A problem with this algorithm is that the function tan is discontinuous, not being defined for values π 2 + πz. This has the results that 1. for certain choices of patch boundary the reparametrization functions are not defined (though these special cases could be identified and appropriate limiting values used); 2. more importantly, the algorithm gives incorrect results when π ]θ 0, θ 1 [ or when π ]ψ 0, ψ 1 [. Fig. 2. Incorrect conversion. Left, the cyclide patch. Middle, the resulting RBBS representing the complementary patch, not the intended one. Right, the correct corresponding RBBS Figure 2 illustrates a case of erroneous results from this algorithm. The cyclide patch (left subfigure) is defined by a = 6, µ = 3, c = 2, θ 0 = π 4, θ 1 = 5π 6, ψ 0 = 2π 3 and ψ 1 = 4π 3. To obtain the RBBS of the right subfigure, that correctly represents the cyclide patch of the left subfigure, we used a new variant of this algorithm obtained by taking the absolute value of the weights as calculated by Pratt s original formula, i.e., w ij = a (1 + G i ) (1 + H j ) c (1 G i ) (1 H j ) (7) In this formula, the variables G i and H j are intermediate values computed from tan of θ 0 /2, θ 1 /2, ψ 0 /2 and ψ 1 /2 (see [5] for further details).
170 5 Fig. 3. Conversion of a whole Dupin cyclide into a set of RBBSs As we have seen, the boundary parameter values θ 0, θ 1, ψ 0 and ψ 1, together with the values of a, c and µ, can be used to determine control points and weights of the RBBS. If θ 0 = 0 and θ 1 = 4π 3, the computed control points calculated by the variant algorithm incorrectly correspond to the patch delimited by θ 0 = 2π 3 and θ 1 = 0. We must therefore require θ 0 θ 1 < π and ψ 0 ψ 1 < π. Taking this constraint into consideration gives several possibilities for conversion of a complete Dupin cyclide. Figure 3 left illustrates a Dupin cyclide converted into 9 RBBSs using this new variant of the algorithm. Combined use of both the original and the variant algorithm allows to decrease the number of RBBSs to 6, which is believed to be the minimal number of RBBSs necessary for the representation of a complete Dupin cyclide (Figure 3 right). Fig. 4. Conversion of a cyclide patch. Left, the cyclide patch. Middle, the RBBS given by Pratt s algorithm. Right, the RBBS given by the variant of Pratt s algorithm. The new variant of this algorithm makes it possible to convert a whole Dupin cyclide into a set of RBBSs, but it is still not possible to convert a cyclide patch delimited by a curve obtained with one of the parameters equal to π. Moreover, having only positive weights is not enough to work correctly for certain cases where some control points need to have negative weights. Figure 4 shows a case where the original algorithm works correctly (the middle subfigure) while the new variant fails (the right subfigure). The cyclide patch is defined by a = 6, c = 2, µ = 3, θ 0 = π 3, θ 1 = π 2, ψ 0 = 0 and ψ 1 = π 2. The output of the new variant is completely wrong: Border curve C is the complement, on the circle, of the border curve C of the cyclide patch. This is due to the fact
171 6 that w 10 is positive while it should be negative to model the border curve C. The same problem occurs for w 11. Fig. 5. A conversion example where both Pratt s algorithm and its variant fail. Another conversion example is given in Figure 5. Parameters defining the cyclide patch are a = 6, c = 2, µ = 3, θ 0 = 2π 3, θ 1 = 4π 3, ψ 0 = 5π 6 and ψ 1 = 3π 2. The original algorithm gives exactly the complement of the cyclide patch: the corner points are those of the cyclide patch while thr delimiting curves are the complements, on the circle, of the curves defining the cyclide patch. On the other hand, the RBBS obtained by the new variant of this algorithm (right subfigure) has the same corner points and border curves as the cyclide patch, but the central control point P 11 is not correct; the weight w 11 should be negative, while the new variant gives only positive weights. A less problematic conversion algorithm, based on barycentric properties of RBBSs and geometric properties of Dupin cyclides is proposed in section 5. 3 Modeling circular arcs using RQBCs RQBCs can be used to model conics. Three control points and a scalar value (the weight of the middle control point) are enough to define an arc of a conic. In this section, we give some results on the expression of circular arcs using RQBC. Theorem 1 shows how to define a circle from two points and two tangents on these points. Theorem 2 presents how to compute the middle control point of the RQBC that represents a given circular arc. Theorem 3 shows how to compute the weight of the middle control point of the RQBC that represents a given circular arc. Figure 6 shows the modeling of circular arcs using RQBC. This is the geometric construction used for Theorems 1, 2 and 3. C(O 0, R) is a circle of centre O 0 and radius R. Segments [P 0 P 1 ] and [P 2 P 1 ] are tangents to the circle at points P 0 and P 2. I 1 is the midpoint of segment [P 0 P 2 ]. P is the median plane of segment [P 0 P 2 ]. Theorem 1. Circle from two points and tangents at these points. If the circle C(O 0, R) exists then P 1 P and P 1 / [P 0 P 2 ]. The radius is R = O 0 P 0 and the centre O 0 is given by formula: P P 1 O 0 = t 0P1 I 1 t 0 = 0P 2 1 I 1 P (8) 1 P 0 P 1
172 7 Fig. 6. Modeling circular arcs by RQBC In the plane determined by C, the geometric angle P 0 O 0 P 2 is less than π, this means that if we take a parametrization γ of the circle in terms of cosine and sine such as P 0 = γ (θ 0 ), P 2 = γ (θ 1 ), we have θ 0 θ 1 < π. Theorem 2. Computing control point P 1 when the centre of the circle is known. The RQBC is the arc of the circle C passing through P 0 and P 2. In this case, the control point P 1 satisfies: I 1 P 1 = t 1 O 0 I 1 t 1 = O 0 P 0 I 1 P 0 O 0 P (9) 0 O 0 I 1 Theorem 3. Computing the weight w 1. The RQBC defined by control points P 0, P 1 and P 2 and the weight w 1 is a circular arc if and only if the following condition hold: 1 + w 1 R = O 0 I 1 + w 1 O 0 P 1 (10) The RQBC defines the smaller arc of the circle if: It defines the larger arc of the circle if: w 1 = O 0I 1 R R O 0 P 1 = O 0I 1 O 0 P 0 O 0 P 0 O 0 P 1 > 0 (11) w 1 = O 0I 1 + R R + O 0 P 1 = O 0I 1 + O 0 P 0 O 0 P 0 + O 0 P 1 < 0 (12) Proofs of these three theorems can be easily obtained by combining properties of RQBC with those of the circle and scalar product. 4 Barycentric properties of RBBSs Let S 0 be a Rational Biquadratic Bézier Surface (RBBS) defined according to formula (2) by control points (P ij ) 0 i,j 2 and weights (w ij ) 0 i,j 2 with w 00 =
173 8 w 02 = w 20 = w 22 = 1. In order to model surfaces with spherical curvatures by surface S 0, we should have the following constraints on control points: P 01 belongs to the median plane of [P 00 P 02 ], P 10 belongs to the median plane of [P 00 P 20 ], P 21 belongs to the median plane of [P 20 P 22 ] and P 12 belongs to the median plane of [P 02 P 22 ]. The position of control point P 11 is less obvious than the positions of the others. The following four theorems prove that P 11 belongs to three particular lines. A set of interesting barycentric properties of RBBSs that helps in the construction of these lines are given and proved. Theorem 4. Let I 0, J 0, I 2 and J 2 be respectively the midpoints of the segments [P 00 P 02 ], [P 00 P 20 ], [P 20 P 22 ] and [P 02 P 22 ]. We have the following four relations: ( OM 0, 1 ) = 2 ( OM 1, 1 ) = 2 ( ) 1 OM 2, 0 = ( ) 1 OM 2, 1 = 1 ( ) OI0 + w 01 OP w 01 1 ( ) OI2 + w 21 OP w 21 1 ( ) OJ0 + w 10 OP w 10 1 ( ) OJ2 + w 12 OP w 12 (13) (14) Proof. In order to prove the result (13) for points OM (0, 1 ) and OM (1, 1 ), let 2 2 us recall ( that B 0 (0) = 1, B 1 (0) = B 2 (0) = 0, B 2 (1) = 1, B 1 (1) = B 0 (1) = 0, B 1 1 2) = 1 2, B ( 1 ( 0 2) = 1 ) B2 2 = 1 4, and if I is the midpoint of a segment [AB], then for every point O we have OA + OB = 2OI. By Formula (2), the point OM (0, 1 ) on the RBBS is: 2 ( OM 0, 1 ) = ( ) 1 w ij B i (0) B j OP ij ) = i=0 j=0 2 ( ) 1 w 0j B j OP 0j 2 j=0 2 ) ( ( 1 1 w ij B i (0) B j w 0j B j 2 2 i=0 j=0 j=0 1 ( w00 = w 00 OP 4 + w w w 01 OP 01 + w ) 02 OP ( 1 1 ( = w OP 00 + ) OP 02 + w ) 01 OP ( 1 1 = w OI 0 + w ) 01 OP ( 2 1 = OI ) 1 + w w 01OP 01 1 ( ) = OI0 + w 01 OP w 01
174 9 On the other hand, point OM (1, 1 ) on the RBBS is: 2 ( OM 1, 1 ) = 2 2 i=0 j=0 2 ( ) 1 w ij B i (1) B j OP ij ) = = = i=0 j=0 1 2 ( ) 1 w 2j B j 2 j=0 1 w w21 1 w ij B i (1) B j ( w w ( ( ) 1 w 2j B j OP 2j 2 j=0 ( w20 OP 20 + w 21 OP 21 + w ) 22 OP w ) 21 OP ( OP 20 + ) OP 22 ( 1 1 = w OI 2 + w ) 21 OP ( 2 1 = OI 2 + w ) 21 OP 21 = 1 + w ( ) OI2 + w 21 OP w 21 Result (14) of OM ( 1, 0) and OM ( 1, 1) can be proved in a similar way. 2 2 Theorem 5. Let G 0 be the isobarycentre of points P 00, P 02, P 20, P 22 and G 2 the barycentre of weighted points (P 10, w 10 ), (P 01, w 01 ), (P 12, w 12 ), (P 21, w 21 ). We define the value w = w 01 + w 10 + w 12 + w 21 and G 1 as the barycentre of the weighted points (G 0, 2) and (G 2, w). The point M ( 1 2, 1 2) satisfies the two following formulas: ( 1 OM 2, 1 ) 1 ( = (2 + w) ) OG 1 + 2w 11 OP 11 (15) w + 2w 11 ( 1 w 11 M 2, 1 ) P 11 = 2 + w ( 1 M 2 2 2, 1 ) G 1 (16) 2 From the last formula we deduce that P 11 belongs to the line ( M ( 1 2, 1 2) G1 ). Proof. Evaluating equation (2) of the RBBSs at the point OM ( 1 2, 1 2 ) gives: ( 1 OM 2, 1 ) = 2 2 i=0 j=0 2 ( ) ( ) 1 1 w ij B i B j OP ij i=0 j=0 2 ( 1 w ij B i 2 ) ( ) 1 B j 2
175 10 First, let us consider the denominator of this fraction: 2 2 ( ) ( ) ( 1 w ij B i B j = B i = = i=0 j=0 w w w i=0 w w w w 00+w 02+w 20+w w01+w10+w21+w = w 00 + w 02 + w 20 + w = 2 + w + 2w ) (wi0 4 + w i1 2 + w i2 4 w w w w w 01 + w 10 + w 21 + w 12 8 Second, the numerator can be similarly expressed as: 2 ( 1 B i 2 i=0 w 00 ) (wi0 4 OP i0 + w i1 OP i1 + w ) i2 OP i2 = w 11 4 OP 00 + w 01 OP 01 + w 02 OP 02 + w 10 OP 10 + w 11 OP w 12 OP 12 + w i0 OP 20 + w 21 OP 21 + w 22 OP 22 ( = OP OP OP ) OP ( w01 OP 01 + w 10 OP 10 + w 12 OP 12 + w ) 21 OP 21 + w 11 OP = 1 OG 0 + w OG 2 + w 11 OP We may then write: ( 1 OM 2, 1 ) ( 1 1 = 2 2+w+2w 11 OG 0 + w OG 2 + w ) 11 OP ( 8 1 = OG 0 + w OG 2 + w ) 11 OP w + 2w ( = 2 OG 0 + w ) OG 2 + 2w 11 OP w + 2w 11 1 ( = (2 + w) ) OG 1 + 2w 11 OP w + 2w 11 which proves the result (15). This latter is valid for any point O so it is valid for the point M ( 1 2, ( 2) 1. Hence, substituting O by M 1 2, 2) 1 in (15) gives: ( 1 (2 + w + 2w 11 ) M 2, 1 ) ( 1 M 2 2, 1 ) = 2 ( 1 (2 + w) M 2, 1 ) ( 1 G 1 + 2w 11 M 2 2, 1 ) P 11 2 )
176 Consequently, we have: 0 = (2 + w) M ( 1 2, 1 2 ) G 1 + 2w 11 M ( 1 2, 1 2 ) P 11. Hence: w 11 M ( 1, 1) P = 2 + w M ( 1 2 2, 1) G 2 1 Theorem 6. Let G 3 be the barycentre of weighted points (P 00, 9), (P 20, 9), (P 02, 1), (P 22, 1), (P 01, 6w 01 ), (P 21, 6w 21 ), (P 10, 18w 10 ), (P 12, 2w 12 ), and W 1 = w w w w 21. The point M ( 1 2, 4) 1 satisfies the two following formulas: ( 1 OM 2, 1 ) ( ) 1 = 4 W 1+12w 11 W 1 OG w 11 OP 11 (17) ( 1 (W w 11 ) G 3 M 2, 1 ) = 12w 11 G 3 P 11 (18) 4 From the last formula we deduce that P 11 belongs to the line ( G 3 M ( 1 2, 4)) 1. Proof. Before starting the proof of result (17) for point ( B 1 0 4) = 9 16, B ( ) OM ( 1 2, 1 4 = ) = 3 8 and B 2 ( i=0 j=0 ) = ( ) ( ) 1 1 w ij B i B j 2 4 The denominator can be easily reduced to: 2 2 ( ) ( ) ( 1 w ij B i B j = B i i=0 j=0 i=0 11 OM ( 1, 1 ), recall that 2 4. By formula (2) we have: 2 i=0 j=0 2 ( ) ( ) 1 1 w ij B i B j OP ij 2 4 ) ( 9wi w i w ) i2 16 = 9w w 20 + w 02 + w w w w 10 + w w = w w w 10 + w w = W w Using this result and expanding the numerator gives the required proof: ( 1 OM 2, 1 ) ( 64 9 = OP w 01 OP 01 + w ) 02 OP W w ( OP w 11 OP w ) 02 OP W w ( 64 9 OP w 21 OP ) OP 22 W w ( ) = W 1 OG w 11 OP 11 W w 11
177 12 From these results we deduce: ( 1 (W w 11 ) G 3 M 2, 1 ) 4 which is the result (18) = 12w 11 G 3 P 11 Theorem 7. Let G 4 be the barycentre of weighted points (P 00, 9), (P 20, 1), (P 02, 9), (P 22, 1), (P 10, 6w 10 ), (P 12, 6w 12 ), (P 01, 18w 01 ), (P 21, 2w 21 ), and W 2 = w w w w 12. The point M ( 1 4, 2) 1 satisfies the two following formulas: ) ( 1 4, 1 2 ( ) 1 OM = W 2+12w 11 W 2 OG w 11 OP 11 ( 1 (W w 11 ) G 4 M 4, 1 ) 2 (19) = 12w 11 G 4 P 11 (20) From the last formula we deduce that P 11 belongs to the line ( G 4 M ( 1 4, 1 2)). Proof. The results (19) and (20) can be proved in the same way as (17) and (18) or (15) and (16). 5 A new Dupin cyclide to RBBS conversion algorithm In this section we propose a new algorithm (Algorithm 1) for converting a Dupin cyclide patch or a whole Dupin cyclide into RBBS form. The algorithm is based on the barycentric properties of RBBSs given by the theorems of Sections 3 and 4. The goal is to develop a conversion method that exploits and keeps circular symmetries along the isoparametric curves of Dupin cyclides. These latter are not surfaces of revolution, so, in step six of this algorithm, we have to be sure that lines (G 1 Γ (θ 2, ψ 2 )), (G 3 Γ (θ 2, ψ 3 )) and (G 4 Γ (θ 3, ψ 2 )) have the same point of intersection. This is true provided that θ 0 and θ 1 (or ψ 0 and ψ 1 ) are symmetrical compared to 0 or π on the trigonometric circle. A set of conversion examples is presented in the following sections. Algorithm 1 Given: A Dupin cyclide defined by a parametric map Γ, and a patch on this cyclide delimited by parameter values: θ 0, θ 1, ψ 0 and ψ 1 with θ 0 θ 1 < π and ψ 0 ψ 1 < π. These values also define four (circular) curvature lines on the Dupin cyclide Find: The representation of this patch as a RBBS S over [0, 1] [0, 1], defined by nine control points P ij and nine weights w ij, 0 i, j < 2. Weights w ij will be equal to one except w 10, w 01, w 21, w 12 and w 11, which can be either positive or negative. Procedure:
178 13 1. Obtain corner control points directly by: P 00 = Γ (θ 0, ψ 0 ), P 02 = Γ (θ 1, ψ 0 ), P 20 = Γ (θ 0, ψ 1 ), P 22 = Γ (θ 1, ψ 1 ). 2. Find centres of the four circles of curvature using a point on each line of curvature. 3. Find control points P 01, P 10, P 12 and P 21 on the median planes of curvature lines using equation (9) of Theorem Calculate weights w 10, w 01, w 21 and w 12 using equations (11) or (12) of Theorem Consider two RQBC γ u and γ v defined on the borders of the region to be converted. Control points and the weight of γ u are P 00, P 10, P 20 and w 10. Those of γ v are P 00, P 01, P 02 and w 01. Find θ 2 and θ 3 solutions of equations γ u ( 1 2 ) = Γ (θ 2, ψ 0 ) and γ u ( 1 4 ) = Γ (θ 3, ψ 0 ). Find ψ 2 and ψ 3 solutions of equations γ v ( 1 2 ) = Γ (θ 0, ψ 2 ) and γ v ( 1 4 ) = Γ (θ 0, ψ 3 ). 6. Compute the last control point P 11 as the intersection of lines (G 1 Γ (θ 2, ψ 2 )) and (G 3 Γ (θ 2, ψ 3 )). Constructions of G 1 and G 3 are given in Theorems 5 and Compute weight w 11, using equation (16) of Theorem Conversion examples Figure 7 illustrates the conversions of two Dupin cyclide patches into RBBSs using the proposed algorithm. For the first example (the upper subfigures), we obtained a standard RBBS having only positive weights. For the second one (the lower subfigures), in which the cyclide patch is delimited by ψ 1 = π, we obtained a RBBS with positive and negative weights. These are positive along curvature lines with θ constant, and negative along curvature lines with ψ constant. Fig. 7. Conversion of two cyclide patches into RBBSs. Upper, the result is a standard RBBS having only positive weights. Lower, the result is a RBBS with positive and negative weights
179 Comparison of conversion algorithms To make a significant comparison of the various algorithms for converting Dupin cyclides to RBBS form (Pratt s original algorithm, the new variant of the Pratt s algorithm and the barycentric algorithm), we have used the following criteria: Entire cyclide: whether it is possible or not to convert a whole Dupin cyclide into a set of RBBSs. Number of RBBSs: The minimum number of RBBSs needed to represent a whole Dupin cyclide. Parameter constraints: what are the constraints on parameters θ 0, θ 1, ψ 0 and ψ 1? Prohibited values: Are there particular prohibited values for parameters θ 0, θ 1, ψ 0 and ψ 1? Pratt s Variant of Barycentric algorithm Pratt s algorithm algorithm Entire cyclide no yes yes Number of RBBSs / 9 4 (θ 0, θ 1) or (ψ 0, ψ 1) θ0 θ 1 < π Geometric constraints no symmetrical ψ 0 ψ 1 < π compared to 0 or π. Prohibited value π π no Table 1. Comparison between Pratt s algorithm, its variant and the barycentric algorithm. Table 1 summarizes this comparison. One can note that to convert a whole Dupin cyclide we need: Only four RBBSs if the new algorithm is used, nine RBBSs if the Pratt s algorithm is used, and six RBBSs if the Pratt s algorithm and its variant are combined and used. Figure 8 shows this difference in the number of resulting RBBSs. Dupin cyclides are very useful for blending quadric surfaces [8, 13 15]. To show conversion of a blending Dupin cyclide we applied the method proposed in [8] to construct the blending cyclide of the left subfigure of Figure 9 and converted it to RBBSs by the three conversion algorithms discussed in this paper. We note here that conversion showed in the middle subfigure can be obtained either by the new algorithm or by a combination of Pratt s algorithm and its variant; two RBBSs are enough to ensure a correct conversion. On the other hand, Pratt s algorithm gives conversion showed on the right subfigure. Although in this case, the minimal number of RBBSs is three, the surfaces obtained here have only positive weights so they lie completely inside their control polyhedron. Another case where the new algorithm is better than both of others is shown by Figure 10. The cyclide patch (left subfigure) is the one of Figure 5 where Pratt s
180 15 Fig. 8. Comparison of conversion algorithms. Upper left, the cyclide to be converted. Upper right, result of the new algorithm: only four RBBSs are necessary. Lower left, result of the combination of Pratt s algorithm and its variant, six RBBSs are necessary. Lower right, result of the variant of Pratt s algorithm, nine RBBSs are necessary. Fig. 9. Conversion of cylinder/plane blending Dupin cyclide. Left, the blending cyclide. Middle, conversion into two RBBSs. Right, conversion into three RBBSs algorithm and its variant have given incorrect conversions. The new algorithm exactly reproduces the original cyclide patch (Figure 10 right). Another advantage of the new algorithm is the possibility of converting a Dupin cyclide patch delimited by a curvature line corresponding to a parameter value of π, which is not feasible either with Pratt s algorithm or its variant. This is shown in Figure 11 where the cyclide patch to be converted is a blending surface of a cylinder and a plane. Horizontally, it is delimited, on the cylinder side by ψ 1 = π 2 and on the plane side by ψ 0 = π. Neither Pratt s algorithm nor its variant can be used to achieve this conversion. Two samples of possible conversions, using the barycentric algorithm, are given on subfigures 11 middle and 11 right. 5.3 A complete case study As control points of RBBSs resulting from conversion may be far removed from the patches themselves, it is often difficult to draw the control polygon on figures
181 16 Fig. 10. Another conversion result. The new algorithm gives exact conversion (right subfigure), while other algorithms fail (see Figure 5. ) Fig. 11. Conversion of cylinder/plane blending Dupin cyclide where neither Pratt s algorithm nor its variant can be applied. Left, the blending cyclide. Middle and right, two examples of possible conversions that show these RBBSs. So, in this section we give more details concerning the conversion of the cyclide patch of Figure 5 left, and the RBBSs given by the conversion algorithms. Parameters defining the cyclide patch are a = 6, c = 2, µ = 3, θ 0 = 2π 3, θ 1 = 4π 3, ψ 0 = 5π 6 and ψ 1 = 3π 2. Table 2 gives control points and weights of RBBSs of Figure 5 middle and Figure 10 right. This table shows how computed control points differ from one algorithm to another. A value of 1 is an exact value, whereas a value of is a rounded of value. The only difference between Pratt s algorithm and its variant is the fact that negative weights become positive. On the other hand, weights computed using our algorithm are smaller than those given by Pratt s algorithm; moreover, the new algorithm gives exact values for corner control points, unlike the other algorithms. [Points;Weights] Pratt s algorithm barycentric algorithm [P 00; w 00] [( 3.466; 8.206; 2.204); ] [( 3.466; 8.206; 2.204), 1] [P 01; w 01] [( 5.995; ; 5.302); ] [( 5.995; ; 5.302); 0.384] [P 02; w 02] [( 1.667; 4.899; 3.771); ] [( 1.667; 4.899; 3.771); 1] [P 10; w 10] [( ; 0.191; 7.807); ] [( ; 0.422; 7.807); 0.247] [P 11; w 11] [( ; 0.682; ); 5.072] [( ; 0; ); 0.042] [P 12; w 12] [( 9.667; 0.566; 6.600); ] [( 9.667; 0.117; 6.600); 0.500] [P 20; w 20] [( 3.466; 8.205; 2.204); ] [( 3.466; 8.205; 2.204); 1] [P 21; w 21] [( 5.995; ; 5.302); ] [( 5.995; ; 5.302); 0.384] [P 22; w 22] [( 1.667; 4.899; 3.771); ] [( 1.667; 4.899; 3.771); 1] Table 2. Comparison of control points obtained with Pratt s algorithm and barycentric algorithm.
182 17 6 Conclusion In this paper, we have have used the symmetry properties of circles and Bernstein polynomials to prove seven theorems concerning barycentric properties of RBBSs. These properties have been employed in a new algorithm for the conversion of Dupin cyclides to RBBSs. Several examples of the use of the algorithm have been given. In future it is proposed to extend the algorithm for the conversion of supercyclides (affine or projective transformations of Dupin cyclides) to RBBSs. References 1. Piegl, L., Tiller, W.: A menagerie of rational B-spline circles. IEEE Computer Graphics and Applications 9 (1989) Forrest, A.R.: Curves and Surfaces for Computer-Aided Design. PhD thesis, University of Cambridge, UK (1968) 3. Demengel, G., Pouget, J.: Mathématiques des Courbes et des Surfaces: Modèles de Bézier, des B-Splines et des NURBS. Volume 1. Ellipse (1998) 4. Hoschek, J., Lasser, D.: Fundamentals of Computer Aided Geometric Design. A.K.Peters, Wellesley, MA. (1993) 5. Pratt, M.J.: Cyclides in computer aided geometric design. Computer Aided Geometric Design 7 (1990) Chandru, V., Dutta, D., Hoffmann, C.M.: Variable radius blending using Dupin cyclides. In Wozny, M., Turner, J.U., Preiss, K., eds.: Geometric Modelling for Product Engineering, North-Holland Publ. Co. (1990) (Proc. IFIP/NSF Workshop on Geometric Modelling, Rensselaerville, NY, Sept 1988). 7. Degen, W.L.F.: Generalized cyclides for use in CAGD. In Bowyer, A., ed.: Computer-Aided Surface Geometry and Design, Oxford University Press (1994) (Proc. 4th IMA Conference on the Mathematics of Surfaces, Bath, UK, Sept. 1990). 8. Pratt, M.J.: Cyclides in computer aided geometric design II. Computer Aided Geometric Design 12 (1995) Dutta, D., Martin, R.R., Pratt, M.J.: Cyclides in surface and solid modeling. IEEE Computer Graphics and Applications 13 (1993) Paluszny, M., Boehm, W.: General cyclides. Computer Aided Geometric Design 15 (1998) Shene, C.: Blending two cones with Dupin cyclides. Computer Aided Geometric Design 15 (1998) Farin, G.: Curves And Surfaces. 3 edn. Academic Press (1993) 13. Aumann, G.: Curvature continuous connections of cones and cylinders. Computeraided Design 27 (1995) Shene, C.: Do blending and offsetting commute for Dupin cyclides? Computer Aided Geometric Design 17 (2000) Wallner, J., Pottmann, H.: Rational blending surfaces between quadrics. Computer Aided Geometric Design 14 (1997)
183 EUROGRAPHICS 2004 / M.-P. Cani and M. Slater (Guest Editors) Volume 23 (2004), Number 3 Dupin Cyclide Blends Between Quadric Surfaces for Shape Modeling Sebti Foufou and Lionel Garnier LE2I, UMR CNRS 5158, UFR Sciences, Université de Bourgogne, BP 47870, Dijon Cedex, France [email protected], [email protected] Abstract We introduce a novel method to define Dupin cyclide blends between quadric primitives. Dupin cyclides are nonspherical algebraic surfaces discovered by French mathematician Pierre-Charles Dupin at the beginning of the 19th century. As a Dupin cyclide can be fully characterized by its principal circles, we have focussed our study on how to determine principal circles tangent to both quadrics being blended. This ensures that the Dupin cyclide we are constructing constitutes a G 1 blend. We use the Rational Quadratic Bézier Curve (RQBC) representation of circular arcs to model the principal circles, so the construction of each circle is reduced to the determination of the three control points of the RQBC representing the circle. In this work, we regard the blending of two quadric primitives A and B as two complementary blending operations: primitive A-cylinder and cylinder-primitive B; two Dupin cyclides and a cylinder are then defined for each blending operation. In general the cylinder is not useful and may be reduced to a simple circle. A complete shape design example is presented to illustrate the modeling of Eurographics 04 Hugo using a limited number of quadrics combined using Dupin cyclide blends. Categories and Subject Descriptors (according to ACM CCS): I.3.5 [Computer Graphics]: Computational Geometry and Object Modeling 1. Introduction Dupin cyclides are non-spherical algebraic surfaces discovered by French mathematician Pierre-Charles Dupin at the beginning of the 19th century [Dup22]. These surfaces have an essential property: all their curvature lines are circular. R. Martin, in his 1982 PhD thesis, is the first author who thought of using use these surfaces in CAD/CAM and geometric modeling [Mar82], using cyclides in the formulation of his principal patches. Afterwards, Dupin cyclides gained a lot of attention, and their algebraic and geometric properties have been studied in depth by many authors [BG92, Ber78, Heb81, Pin85, Ban70, DMP93, Pra97] which has allowed to see the adequacy and the contribution of these surfaces to geometric modeling. Currently guest researcher at the National Institute of Standards and Technology, Gaithersburg, MD 20899, USA. [email protected] From the CAD/CAM point of view, a cyclide is an algebraic surface of low degree having an easy to understand parametric representation (with 3 parameters) as well as two equivalent implicit equations [Pra97, For12]. Their low degree algebraic equation and simple parametric representation give cyclides advantages of both implicit and parametric formulations. The low algebraic degree allows the development of robust and quick geometric computation algorithms (point on surface, derivatives, tangents, lines of curvatures, etc.). The parametric form allows easy editing and quick visualization of these surfaces. Another important point that marks the beauty of Dupin cyclides is their well-established conversions to other parametric surfaces such as Bézier, Bspline, or NURBS [Pra97, Boe90, AD96, Deg94, ZS92, SD95]. This conversion of Dupin cyclides into rational quadric Bézier patches bridges the gap between these two modeling tools c The Eurographics Association and Blackwell Publishing Published by Blackwell Publishing, 9600 Garsington Road, Oxford OX4 2DQ, UK and 350 Main Street, Malden, MA 02148, USA.
184 S. Foufou & L. Garnier / Quadrics blending by Dupin cyclides and may accelerate the introduction of cyclides into geometric modeling systems based on classical parametric surfaces. This papers introduces a novel method to define Dupin cyclide blends between quadric surfaces. As it is well established that the construction of a Dupin cyclide is totally dependant on its principal circles, we have focussed our attention on how to determine principal circles tangent to both quadrics being blended. This ensures that the Dupin cyclide we are constructing constitutes a G 1 blend. We use the Rational Quadratic Bézier Curves (RQBCs) representation of circular arcs to model the principal circles, so the construction of each and every circle is reduced to the determination of the three control points of the RQBC representing the circle. For short, in the rest of this paper we refer to Dupin cyclides as cyclides. In this work, we regard the blending of two quadric primitives A and B as two complementary blending operations primitive A-cylinder and cylinder-primitive B, two Dupin cyclides and a cylinder are then defined for each blending operation. In general the cylinder is not useful and may be reduced to a simple circle. By proceeding this way we aim at increasing the flexibility of quadric combination for shape design and limiting the number of particular blends; for example, a complete combination of four quadric primitives (cylinder, cone, sphere and hyperboloid) requires the definition of ten variants of the blending algorithm, while employing our approach requires only four variants (cylinder-cylinder, cylinder-cone, cylinder-sphere and cylinder-hyperboloid). The paper is organized as follows. Section 2 reviews some necessary material needed in the rest of the paper. Definitions of cyclides, Dupin cyclides, RQBCs together with the representation of circular arcs using RQBCs. Sections 3, 4, 5 and 6 describe our quadric-quadric blending algorithm. For lack of place, only a subset of blending cases is considered: cylinder-cyclide (Sec. 3), cylinder-cone (Sec. 4), cylindersphere (Sec. 5) and cone-sphere (Sec. 6). A complete shape design example is presented in section 7: it illustrates the modeling of the Eurographics 04 Hugo using a limited number of quadrics combined with Dupin cyclide blends. The last section concludes with a discussion of this work s contribution and of suggested perspectives for future research. 2. Background 2.1. The cyclide surfaces Anallagmatic surfaces are surfaces invariant by at least one inversion. They are the envelope surfaces of a moving sphere, which is orthogonal to a given fixed sphere (called the directrix sphere), and the centres of which lie on a given quadric surface [Dar73, Dar17]. Moutard proved in 1804 that cyclides are a special kind of anallagmatic surfaces: they are invariant by five inversions [Mou04]. Two equivalent implicit equations characterize the cyclides of degree 4: r (x,y,z) 4 + 2P 1 (x,y,z) r (x,y,z) 2 + P 2 (x,y,z) = 0 (1) ( r (x,y,z) 2 + P 1 (x,y,z)) 2 = P 2 (x,y,z) (2) where P 1 is an homogeneous polynomial of degree 1, P 2 and P 2 are polynomials of degree 2 and r (x,y,z) = x 2 + y 2 + z 2. Cyclides of degree 3 are the images of cyclides of degree 4 by an inversion. Dupin cyclides are a special kind of cyclides: their spine curve is a conic curve, instead of a quadric surface [Dar73, Dar17] Dupin cyclides It is possible to define Dupin cyclides in various equivalent ways: Liouville showed that a Dupin cyclide is the image of a circular cone, a circular cylinder or a torus under an inversion; A Dupin cyclide is the envelope of spheres centered on a given conic and orthogonal to a given fixed sphere, called sphere of inversion: the latter is centered on the focal axis of the cyclide [Dar73, Dar17]; A Dupin cyclide is the envelope surface of a set of spheres, the centers M of which lies on a given conic with focus F, and the radius R of which is such that the distance FM + R is a given constant (this definition is due to Maxwell); A Dupin cyclide is the envelope surface of the spheres tangent to three given fixed spheres [Dup22]. Dupin cyclides of degree 4 depend on three independent parameters a, c and µ with a 2 > c 2. It is convenient to define b = a 2 c 2. Dupin cyclides have a parametric equation: x(θ;ψ) = µ(c acosθ cosψ) + b2 cosθ a ccosθ cosψ bsinθ (a µcosψ) y(θ;ψ) = (3) a ccosθ cosψ bsinψ (ccosθ µ) z(θ;ψ) = a ccosθ cosψ where (θ;ψ) [0;2π] 2, and two implicit equations: ( x 2 + y 2 + z 2 µ 2 + b 2) 2 4(ax cµ) 2 4b 2 y 2 = 0 (4) ( x 2 + y 2 + z 2 µ 2 b 2) 2 4(cx aµ) 2 + 4b 2 z 2 = 0 (5) Implicit equations were obtained by Darboux [Dar17] early in the last century by computing the implicit equation of the envelope of the spheres defining the Dupin cyclide. The same results are also given by Forsyth [For12]. According to the parameter values, there are three kinds of Dupin cyclides: ring cyclide, horned cyclide and spindle cyclide. Figure 1 shows examples of half Dupin cyclides. A Dupin cyclide admits two symmetry planes P y : (y = 0) and P z : (z = 0). The section of a Dupin cyclide by one of these two planes is the union of two circles called principal circles. Two of these principal circles are sufficient to determine the three parameters a, c and µ, and thus to define the Dupin cyclide. Figure 2 shows the two principal circles of a c The Eurographics Association and Blackwell Publishing 2004.
185 S. Foufou & L. Garnier / Quadrics blending by Dupin cyclides Figure 1: The three types of Dupin cyclides. Left: ring cyclide 0 c < µ a. Middle: horned cyclide 0 < µ c < a. Right: spindle cyclide 0 c a < µ. Figure 2: Cut of a Dupin cyclide by its symmetry plane P y : (y = 0). Dupin cyclide in plane P y. Only a part of principal circles is useful for blending: the useful arc will be represented as a RQBC in standard form. For example, to obtain parameters of the ring Dupin cyclide of Figure 2, we have: a = O 1O 2, µ = ρ 1 + ρ 2 and c = ρ 1 ρ 2 (6) where O i,ρ i, i = {1,2} are centers and radii of the principal circles. The curvature lines of Dupin cyclides are circles, obtained with θ or ψ constant [Pra90]. The blends with Dupin cyclides are made along lines of curvature [DMP93]: each blended surface meets the blending Dupin cyclide along lines of curvature. For more details regarding properties of Dupin cyclides, see [Pin85, CDH88, CDH89, BG92, Pra94, Pra95, She00] Dupin cyclides and quadrics blending The literature concerning the use of Dupin cyclides for the blending of quadric primitives is relatively rich, a great number of authors addressed this problem. The circular curvature lines property of Dupin cyclides facilitates the construction of the cyclide (or the portion of a cyclide) for the blending of two circular quadric primitives. Chandru et al. [CDH89] offer to use Dupin cyclides to compute variable radius blends and define an approximation strategy that can be applied in case of complex explicit construction of blends. Degen [Deg94] defines generalized cyclides as a new class of cyclides having more degrees of freedom than classical cyclides, and gives a universal representation of these surfaces and discusses the general conditions for the blending of a given surface with a generalized cyclide. Pratt [Pra90, Pra95] shows how to make piecewise cyclide blending surfaces, and extends the symmetric cyclide blends to include asymmetric problems, the particular case of the computation of double cyclide blends between two cones is given as an example of possible blending applications. Aumann [Aum95] investigates curvature continuous blending of cones and cylinders using normal ringed surfaces which are generated, like cyclides, by a circle of variable radius sweeping through space. Allen and Dutta [AD98] present a method to generate nonsingular transition surfaces between natural quadrics using either Dupin cyclides or parabolic cyclides, necessary and sufficient conditions for the existence of the cyclide transition surface are given. Also, Allen and Dutta [AD97a, AD97b] studied a special type of blends called pure blends. Paluszny and Boehm [PB98] study the joining of quadrics and propose to work in the 4-space. So, the joining of two cones, in 3-space, is reduced to the construction of a piecewise conic, in the 4-space, that satisfies two specific conditions. Shene [She98] shows how one can use cyclides to define the blending surface of two cones. Later on, the author makes use of offset surfaces to improve and generalize this work in order to compute the blending surface of two randomly positioned half cones [She00]. We consider the blending of two quadrics differently, by computing two Dupin cyclide blends and connecting them through an intermediary cylinder that can be reduced to the intersection circle between the two Dupin cyclide blends. This intermediary cylinder is used in the same way as the use of an intermediate sphere is proposed in [DMP93] and an intermediate cone is used in [Pra95] Rational Quadric Bézier Curves Rational Quadric Bézier Curves (RQBC) are the parametric curves defined by: OM(t) = w 0B 0 (t) OP 0 + w 1 B 1 (t) OP 1 + w 2 B 2 (t) OP 2 w 0 B 0 (t) + w 1 B 1 (t) + w 0 B 2 (t) where B i (t) are Bernstein polynomials of degree 2 and parameter t [0;1]. Line segment (P 0 P 1 ) is the tangent to the curve at point P 0, while line segment (P 2 P 1 ) is the tangent to the curve at point P 2. RQBCs can be used to represent conics; taking w 0 = w 2 = 1 and w 1 = w > 0, simplifies this representation and the value of w determines the nature of the represented conic: the curve is an arc of ellipse if 0 < w < 1, an arc of parabola if w = 1, an arc of hyperbola if w > 1. More details on Bézier curves and surfaces can be found in Farin [Far97] and in Hoschek and Lasser [HL93]. The symmetry property of Bernstein polynomials given by: (7) i [0;2]], t [0;1], B i (t) = B 2 i (1 t) (8) is essential for the representation of circular arcs since it ensures the symmetry of geometric constructions. c The Eurographics Association and Blackwell Publishing 2004.
186 S. Foufou & L. Garnier / Quadrics blending by Dupin cyclides 2.5. Arc of circle determined by RQBC In this section, we show the representation of arcs of circles using RQBC. This representation will be used to define the principal circles of the blending Dupin cyclide. Let P 0 and P 2 be two given points and P 1 a point of the perpendicular bisector of line segment (P 0 P 2 ) such that P 1 does not belong to this segment. There is a unique circle passing through P 0 and P 2 and tangent to (P 0 P 1 ) at P 0 and tangent to (P 2 P 1 ) at P 2 (Figure 3). The center O 0 of this circle is characterized by the control points of the RQBC and is given by: Figure 4: Cylinder-Dupin cyclide blending. P P 1 O 0 = t 0P1 I 1 t 0 = 0 P1 2 I 1 P 1 (9) P 0 P 1 where I 1 is the middle point of the line segment [P 0 P 2 ]. Figure 5: A cylinder-dupin cyclide blend Computation of principal circles Figure 3: Modeling circular arcs using RQBCs. 3. Cylinder-Dupin cyclide blending Let be the axis of the cylinder and C 0 a circle on the cylinder. Let B 0 and B 1 be two distinct points on C 0 and coplanar with (see Figure 4 left). To construct a Dupin cyclide having G 1 continuity with the cylinder, we have to determine its two principal circles (Figure 4 right) such that: These circles are tangent to the cylinder s generatrices at points B 0 and B 1. These circles may be defined either at the inner side or at the outer side of the cylinder. Centers of these circles pertain to line (B 0 B 1 ). We use equation (6) to compute the cyclide parameters a,µ and c. The trimming value for parameter ψ is π in the case of inner circles and 0 in the case of outer circles, while parameter θ [0;2π]. Figure 5 shows an example of Dupin cyclide constructed to be G 1 continuous with a cylinder. Let 1, 2 and be three coplanar lines. 1 and 2 are parallel and define the two generatrices of a cylinder of axis (see Figure 6). Let 1, 2 and be three coplanar lines, in the same plane as lines 1, 2 and. 1 and 2 are secant and define the two generatrices of a cone of axis. Consider the following relations: S = 1 2, C 1 = 1 1 and C 2 = 2 2. In order to represent circles C 1 (O 1,ρ 1 ) and C 2 (O 2,ρ 2 ) using rational quadric Bézier curves we need to compute four control points B 1 1, A 1 1, B 2 2 and A 2 2, such that A 1 C 1 = B 1 C 1 and A 2 C 2 = B 2 C 2. We note that, by definition, points B 1 and B 2 are symmetrical according to, while points A 1 and A 2 are symmetrical according to. 4. Cylinder-cone blending To construct a G 1 cyclide blend between a cone and a cylinder, we need to compute the cyclide s two principal circles C 1 (O 1,ρ 1 ) and C 2 (O 2,ρ 2 ), such that each circle is tangent to both generatrices of the cone and the cylinder through their lines of curvature. Figure 6: Construction used for cylinder-cone blending. A necessary condition on the computation of these points is that lines, 4, 3 and must be concurrent at point Ω. The computation can be done as follows: c The Eurographics Association and Blackwell Publishing 2004.
187 S. Foufou & L. Garnier / Quadrics blending by Dupin cyclides Compute 4 the bisector of ( 1 ; ) 1 and 3 the bisector of ( 2 ; ) 2 (see Figure 6). Define an application s D (p) that gives point p symmetrical to a given point p according to an axis D. Choose any point A 1 1, Other points are the result of the following transformations: B 1 = s 4 (A 1 ), B 2 = s (B 1 ) and A 2 = s 3 (B 2 ). A 1 = s (A 2 ) iff s s 3 s s 2 is the identity application (a rotation of angle 0 centered at Ω). The Dupin cyclide principal circles C 1 (O 1,ρ 1 ) and C 2 (O 2,ρ 2 ) can now be obtained using formula (9) Examples From the principal circles, it is easy to construct the Dupin cyclide blend between the cylinder and the cone. We have only to determine value ψ 1 delimiting the Dupin cyclide from the cone side, which means: find the value ψ 1 such that Γ(θ;ψ 1 ) of equation (3) is a circle on the cone. the generatrices of the cylinder and C is one of the main circles of the sphere. In this construction we consider that the main circle of the sphere and the cylinder axis are coplanar Computation of the principal circles Let be a line segment and C a circle, we look for a circle tangent to and to C as well, that amounts to computing the three control points A,B and C of the rational quadratic Bézier curve that models the circle, points B and C pertain to, while point A pertains to C such that AB = AC and (AC) (AΩ) (Figure 9). Algorithm (1) details the computation of these points. Algorithm 1 Obtaining Bézier control points for a G 1 - continuous circular arc blend between a straight line and a circle Given: A straight line, a circle C, of radius r and center Ω, and a point B. 1. Build F the image of Ω by the orthogonal projection of axis 2. G is one of the intersection between (FΩ) and C 3. A is in the intersection between (GB) and C 4. C is the intersection between and the tangent to C at point A Result : AC = BC, C, A C and (AΩ) (AC). Figure 7: Cone-cylinder spindle Dupin cyclide blends. Figures 7 and 8 show a set of examples of constructed Dupin cyclide blends. Blends of Figure 7 are trimmed spindle Dupin cyclides, while those of Figure 8 are trimmed ring Dupin cyclides. B α C β A π 2 γ γ r G F Ω B α Ω r π γ 2 γ G β γ C F A Figure 9: Circle tangent to a circle and a line segment. To prove the computation of points A,B and C, let us consider the two possible cases depicted in Figure 9. Figure 8: Cone-cylinder ring Dupin cyclide blends. 5. Cylinder-sphere blending In this case, we regard the computation of the principal circles of the Dupin cyclide as a double computation of a circle tangent to a line segment and a circle C, where is one of On Figure 9 left, we have BAG = 180 and (CA) (ΩA) so BAC + ΩAG = 90. Triangle BFG is right-angled and A [BG] so FBA + ÂGΩ = 90. ΩAG is an isosceles triangle in Ω so ΩAG = ÂGΩ = γ, which implies α = FBA = BAC = β and then BAC is an isosceles triangle in C, so BC = CA. On Figure 9 right, we have ÂGΩ = BGF because these angles are opposite by the vertex. BFG is a right-angled triangle so α + γ = 90. ΩAG is an isosceles triangle in Ω so ΩAG = ÂGΩ = γ. ΩAC = 90 and ΩAC = ΩAB + BAC = β+γ so β+γ = 90. As α+γ = 90, we have α = β so BAC is an isosceles triangle in C and then BC = CA. c The Eurographics Association and Blackwell Publishing 2004.
188 S. Foufou & L. Garnier / Quadrics blending by Dupin cyclides Computing principal circles of the Dupin cyclide blend is now straightforward (Figure 10), we only have to apply the above computations of A,B and C twice with the two generatrices of the cylinder and the main circles of the sphere to obtain the necessary control points A 1, C 1 et B 1 for the first circle and A 2, C 2 et B 2 for the second one. Constructions of Figure 10 are made in the plane determined by the axes of the cylinder and the center of the main circle of the sphere. Algorithm (2) indicates how these computations are are done. G2 2 B 2 C 2 F 2 Figure 12: Sphere-cylinder blending using spindle Dupin cyclides. A2 G 1 B2 C2 r Ω F2 2 1 B 1 C F1 1 A 2 A 1 r Ω G 2 6. Cone-sphere blending A 1 G 1 1 B 1 C 1 F 1 Figure 10: Constructions for cylinder-sphere blending. Ω R C ρ 1 Algorithm 2 Principal circles of Dupin cyclide blends between a cylinder and a sphere. Given: A cylinder with axis and two generatrices 1 and 2, a sphere with a main circle C(Ω,r), and two points B 1 1 and B 2 2, such that [B 1 B 2 ] is perpendicular to. 1. The axis determines two half-planes, P 1 and P 2 such that 1 P 1 and 2 P 2 2. For i {1,2}, find points G 1 P i and G 2 P 3 i and then compute points F i, A i, C i in P i Result: A 1, C 1 and B 1 are control points of the blending circle on one side, and A 2, C 2 and B 2 are control points of the blending circle on the other side. Dupin cyclide blend can now be constructed taking these circles as principal circles Examples From the principal circles we proceed in the same way as for the examples of subsection 4.2 to compute Dupin cyclide blends (construct and trim the surface). Figure 11: Sphere-cylinder blending using ring Dupin cyclides. Figures 11 and 12 show four examples of blends between a cylinder and a sphere by ring and spindle Dupin cyclides. C 1 O 1 1 C 1 C 2 2 ρ 2 O 2 D 1 D 2 Figure 13: Construction used for cone-sphere blending. The cylinder defined by 1 and 2 is introduced to simplify the operation. The use of the blending methods developed in sections 4 and 5 allows an easy computing of cone-sphere blends. We decompose this operation into two sub-operations: conecylinder and cylinder-sphere. The same cylinder is used for both sub-operations (see Figure 13) and is generally reduced to a circle (the common intersection of the two Dupin cyclide blends). This novel method of cone-sphere blends computation is applied on the examples of figure 14, shown results give an idea of the different possible combinations one can do. Each one of the cone-sphere blending algorithms proposed in [Pra90, DMP93, GFN03] give a blend composed of one single cyclide as we can see on the top-left sub-figure of figure 14, parameters of the resulting cyclide are: a 10.23, µ 7.04, c The blend obtained using our algorithm may be composed of either two cyclides or two cyclides and a cylinder. In the first case, the cyclides have G 1 continuity trough their circle of intersection (see the topright sub-figure of figure 14). Parameters of the cyclide on the cone side are: a 14.1, µ 11.79, c 6.09, while parameters of the cyclide on the sphere side are: a 8.09, µ 5.77, c In the other case, each cyclide has a G 1 continuity with the cylinder. In the bottom sub-figures of figure 14, we construct the cylinder by changing only the parameters of the cyclide on the sphere side, we have: a 7.24, C 2 c The Eurographics Association and Blackwell Publishing 2004.
189 S. Foufou & L. Garnier / Quadrics blending by Dupin cyclides Figure 14: Examples of cone-sphere blending results. µ 4.93, c 2.31 when the cylinder height is 0.5, and a 5.63, µ 3.31, c 1.8 when the cylinder height is 1.5. M. Pratt has also proposed examples of such doublecyclide blends in [Pra95]. Figure 15 shows another application of our algorithm where a cylinder together with both ring and spindle cyclides is used to construct composed blends. In the top sub-figures, the blend is composed of two ring cyclides and a cylinder. In the bottom sub-figures, the blend is composed of a ring cyclide (on the cone side), a cylinder and a spindle cyclide (on the sphere side). 7. Modeling Eurographics Hugo In this section we aim at showing how we can combine a set of quadric primitives using Dupin cyclide blends to model the Eurographics Hugo. This object is available for download, in different formats, on the web site of Eurographics 2004 conference at For this modeling, quadric primitives are used to represent Hugo s parts (head, body, hands...), and cyclides allows G 1 continuous blending of these parts. Also a comparison, in terms of size and memory consumption, between our designed shape and the mesh format of Hugo is given. Our model of Hugo is shown on figure 16. Figure 15: Examples of cone-sphere blends combining both ring and spindle Dupin cyclides Used quadric primitives Table 1 summarizes the primitives used to construct a surface representation of Hugo. For each primitive we used, column two gives the number of occurrences, the shown value is computed after all the necessary geometric transformation (translations, rotations), column three gives the memory usage, in terms of floating numbers, while column four gives parts of Hugo where the primitive is used. From this table, one can see that to represent the whole shape we have used 87 primitives: 14 spheres, 5 cones, 14 ellipsoids, 24 cylinders and 30 Dupin cyclides. The total size of this model is = 659 floating numbers, this is more than optimal compared to the original model which contains 8388 faces ie. around floating numbers. Another advantage of this surface representation of Hugo is the ease to animate the object. For example, to put up Hugo s hand we have to change only one value (the rotation angle between the arm and the shoulder), OpenGL transformations do the necessary computations and visualize Hugo at the new position. Although most blends are G 1 continuous, some blends such as: the head cylinder-{ear, eye, nose, mouth}, the wrist sphere-fingers cylinders, shoulder sphere-body cone, are only G 0 continuous because these connections are made c The Eurographics Association and Blackwell Publishing 2004.
190 S. Foufou & L. Garnier / Quadrics blending by Dupin cyclides Figure 16: Eurographics Hugo represented by a set of quadrics blended by Dupin cyclides. Primitive Number Size Where sphere 14 4 bonnet, 2 wrists, 2 elbows, 2 clavicles, 2 hips, 2 knees, buttocks, 2 feet cone 5 7 cranium, chin, pelvis, body, shoulder ellipsoid ears, 2 eyes, 10 finger tips cylinder bonnet stems, 2 arms, 2 ear stems, 2 thighs, 2 front arms, 2 calves, 10 fingers, face, neck cyclide Different blends Table 1: Quadric and cyclide primitives used to model Hugo. with the cylindrical side of primitives being blended. Next subsection details the modeling of the Hugo s head and shows the construction of all blends Details on Hugo s head For the modeling of Hugo s head, axes of cylinders and cones are in the same plane P y. Constructions shown on figures 17 and 18 are made in this plane. In figure 17, line segments [A 0 A 1 ] and [B 0 B 1 ] are on the two generatrices of the neck cylinder. Line segments [A 3 A 4 ] and [B 3 B 4 ] are on the two generatrices of the chin cone. We define points A 2 = [A 0 A 1 ] [A 3 A 4 ] and B 2 = [B 0 B 1 ] [B 3 B 4 ] such that A 3 A 2 = A 2 A 1 and B 3 B 2 = B 2 B 1. Using the RQBCs representation of circular arcs we define a circular arc passing through A 1 and A 3 and centered at O 0, so this arc is tangent to one generatrix of the cylinder as well as to one generatrix of the cone. In the same way we define another arc passing through B 1 and B 3 and centered at I 0. From these two arcs we compute the principal circles and then the parameters of a Dupin cyclide G 1 continuous blend between the neck cylinder and the chin cone. In figure 18, we blend the two cylinders of the bonnet such that points A 13, A 14, A 15 and B 13, B 14, B 15 constitute the control point of the RQBC representing the needed circular arcs. The Dupin cyclide symmetry plane P z is used to determine its parameters. To model the head with the bonnet, see figure 19, we have used: - 2 ellipsoids for the ear and the eye - 6 cylinders for the neck, the face, the 2 stems of the bonnet and the 2 stems of the ear - 1 sphere for the bonnet bobble - 2 cones for the cranium and the chin - 2 horned Dupin cyclides for the mouth - 1 spindle Dupin cyclide for the nose - 8 ring Dupin cyclides as G 1 blends for: bonnet bobblebonnet upper stem, 2 stems of the bonnet, bonnet lower stem-cranium, cranium-face, face-chin, chin-neck, and 2 ear-ear stem. In the following four particular cases where the connection is made with the cylindrical side of one of the two primitives being blended, we have chosen to make G 0 blends: ear cylinder-face cylinder, eye ellipsoid-face cylinder, mouth horned Dupin cyclide-face cylinder and nose spindle Dupin cyclide-face cylinder. All other blends are G 1 continuous. 8. Conclusion This paper shows how Dupin cyclides can be used as blends between quadric primitives. We regard the blending of two quadric primitives A and B as two complementary blending operations: primitive A-cylinder and cylinder-primitive B; Two Dupin cyclides and a cylinder are then defined for each blending operation. In general the cylinder is not useful and may be reduced to a simple circle. We use the rational quadratic Bézier curves representation of circular arcs to model the principal circles. These circles are constructed to c The Eurographics Association and Blackwell Publishing 2004.
191 S. Foufou & L. Garnier / Quadrics blending by Dupin cyclides The use of supercyclides for the blending of elliptical quadric primitives is now under consideration. Figure 17: Construction of Hugo s head. Figure 18: Construction of Hugo s bonnet. be tangent to the primitives being blended, so that the Dupin cyclide based on these circles constitutes a G 1 blend between the primitives. The proposed algorithm is very easy to apply. The user only has to give a point on the cone to define a cylinder-cone blend, one point on the cylinder and another one on the sphere to define a cylinder-sphere blend. A complete shape design example is presented to illustrate our contributions. Figure 19: Zoom on Hugo s head. Acknowledgments The authors thank Bruno Ingrao from Blaise Pascal University, Clermont-Ferrand, France, for his help and comments regarding some geometric problems related to this work, also our thanks are to l Ecole des Applications Militaires de l Energie Atomique of Cherbourg, France, for the financial support. References [AD96] ALBRECHT G., DEGEN W.: Construction of bézier rectangles and triangles on the symetric dupin horn cyclide by means of inversion. Computer Aided Geometric Design 14, 4 (1996), [AD97a] [AD97b] ALLEN S., DUTTA D.: Cyclides in pure blending I. Computer Aided Geometric Design 14, 1 (1997), ISSN ALLEN S., DUTTA D.: Cyclides in pure blending II. Computer Aided Geometric Design 14, 1 (1997), ISSN [AD98] ALLEN S., DUTTA D.: Results on nonsingular, cyclide transition surfaces. Computer Aided Geometric Design 15, 2 (1998), ISSN [Aum95] AUMANN G.: Curvature continuous connections of cones and cylinders. Computer-aided Design 27, 4 (1995), [Ban70] BANCHOFF T.: The spherical two-piece property and tight surfaces in spheres. J. Diff. Geometry 4 (1970), [Ber78] BERGER M.: Géométrie 2, 2ème ed., vol. 5. Cedic-Nathan, [BG92] [Boe90] BERGER M., GOSTIAUX B.: Géométrie différentielle : variétés, courbes et surfaces, 2ème ed. PUF, avril , 3 BOEHM W.: On cyclides in geometric modeling. Computer Aided Geometric Design 7, 1-4 (June 1990), [CDH88] CHANDRU V., DUTTA D., HOFFMANN C. M.: On the geometry of Dupin Cyclides. Tech. Rep. CSD-TR-818, Purdue University, November [CDH89] CHANDRU V., DUTTA D., HOFFMANN C. M.: Variable Radius Blending Using Dupin Cyclides. Tech. Rep. CSD TR 851, Purdue University, Jan c The Eurographics Association and Blackwell Publishing 2004.
192 S. Foufou & L. Garnier / Quadrics blending by Dupin cyclides [Dar73] DARBOUX G.: Sur une Classe Remarquable de Courbes et de Surfaces Algébriques et sur la Théorie des Imaginaires. Gauthier-Villars, [Dar17] DARBOUX G.: Principe de géométrie analytique. Gauthier-Villars, [Deg94] DEGEN W. L. F.: Generalized Cyclides for Use in CAGD. In The Mathematics of Surfaces IV (Oxford, 1994), Bowyer A., (Ed.), Clarendon Press, pp , 3 [DMP93] DUTTA D., MARTIN R. R., PRATT M. J.: Cyclides in surface and solid modeling. IEEE Computer Graphics and Applications 13, 1 (Jan. 1993), , 3, 6 [Dup22] DUPIN C. P.: Application de Géométrie et de Méchanique à la Marine, aux Ponts et Chaussées, etc. Bachelier, Paris, , 2 [Far97] FARIN G.: Curves and Surfaces for Computer Aided Geometric Design, 4 ed. Academic Press, San Diego, [For12] FORYTH A.: Lecture on Differential Geometry of Curves and Surfaces. Cambridge University Press, , 2 [GFN03] GARNIER L., FOUFOU S., NEVEU M.: Jointure G 1 -continue entre un cône et une sphère. Revue Internationale de CFAO et d informatique graphique 17, 3 4 (2003), [Heb81] HEBDA J.: Manifolds admitting taut hyperspheres. Pacific J. Math. 97 (1981), [HL93] HOSCHEK J., LASSER D.: Fundamentals of Computer Aided Geometric Design. A.K.Peters, Wellesley, Massachussets, [Mar82] MARTIN R.: Principal patches for computational geometry. PhD thesis, Engineering Department, Cambridge University, [Mou04] MOUTARD: Annales de Mathématiques. Bulletin de la société Philomatique et compte rendu de l Accadémie, [PB98] [Pin85] [Pra90] [Pra94] PALUSZNY M., BOEHM W.: General cyclides. Computer Aided Geometric Design 15, 7 (1998), PINKALL U.: Dupin hypersurfaces. Math. Ann. 270, 3 (1985), , 3 PRATT M. J.: Cyclides in computer aided geometric design. Computer Aided Geometric Design 7, 1-4 (1990), , 6 PRATT M. J.: Dupin cyclides and supercyclides. Mathematics of Surfaces VI (Proc. of the VI. [Pra95] [Pra97] [SD95] [She98] [She00] [ZS92] IMA Conference on the Mathematics of Surfaces, Brunel University (1994). 3 PRATT M. J.: Cyclides in computer aided geometric design II. Computer Aided Geometric Design 12, 2 (1995), , 7 PRATT M. J.: Quartic supercyclides I: Basic theory. Computer Aided Geometric Design 14, 7 (1997), SRINIVAS Y. L., DUTTA D.: Rational parametric representation of the parabolic cyclide: Formulation and applications. Computer Aided Geometric Design 12, 6 (1995), SHENE C.: Blending two cones with dupin cyclides. Computer Aided Geometric Design 15, 7 (1998), SHENE C.: Do blending and offsetting commute for dupin cyclides. Computer Aided Geometric Design 17, 9 (2000), ZHOU X., STRASSER W.: A NURBS aproach to cyclides. Computers In Industry 19, 2 (1992), c The Eurographics Association and Blackwell Publishing 2004.
193 ! #"%$'& )(#*,+-!(,$/.0&213$'465 $87'9;:<< ]_^ Z IJCBKUa` b%zdcenefekg[byeg>es,ghijq#xedl>i jlk-m6nporqsj_tduwvyx mwqsz {}m~xz u- vwxƒ { k kˆ x u- x q zšjlk0 vwxo -=OghŒ3 Ž ~ h d %` š ~=š œ6 œ 3žeŸ ž ~=Og 6 hœ ghœw 6 e 3 / % ª L \«ª? ± d²3³j «8µ ³ µj «É!± d ¹'³J ± /«; ' ~º»»R ¼«O / ³J ; e½«o J ¾ ~A'Z'A\G A'UaÀ!M N>EAdÁJÂJÂJÁ ~A' G[HA'U0Ã,ŸWA'Z'A\Q fa\c6ájâjâjá ~Z\Z'A'X@BA'UaÄ#Å3I\ A\Q fa\c6ájâjâjá ^ A#XECBIJXIJ[BARD0Q#A'[HY Z'IJQ#X%DLCBG[BIJ> Ü A'@BZJÉ Í É 6YA#XECBIJXIJ[BA\U UEA Z\DLK UG DF@B@BCOGfEN@BA\[TILPe@?ÆhI Q#A'[BYEA'[/É -A'[HYaZ'IJQ#X%DLCOG[HIJ> Z\DL> fa UIJ>EA!A\DL[HGK i-dl>eu Ï NGZ Ð K i ~YEA#@HA'Z Y>EGÏ NA\[#XCBIJXIJ[HA'U DLCOA0DLXXEKGZ\DLfEKARG>rD->NEQ!fA'C ILP~Æ~D'i[dÊÑAJÉ SEÉ ÀJŸÒQRDF@BZ YEG>ESRDL>EU0CBA'SJG[B@BCBDF@HGIJ>aÊ~DL>EU-@BYEATA ÌEDLQ#XKAdUA\[BZ'CBGfA'U XEDLXA'C G[~@BYEA [BGQ#XEKG beê Z\DF@HGIJ> ILPhD#[BNECOPÓDLZ'A,f A\K i COA'UENEZ'G>ES Z'IJQ#XEKA Ì DLZ'Z'IJCBUEG>S Ô /ÕJÖe³J«B±J L GÈDF@BGIJ>Ø%[BGQ#XEKG É Ù Ú x ÛšÜÝ%Þ~ßWà3áÜ âbþeû ãff äå æ rçã)åf :Lèçé9Ó då/ææ<êóë èêóêóæ%ìçí) ë/9ó:ä èäí î98ë/ãèêó9;ïè%åf9;æ<ä æð æ</,èäeí ræf!/ ñ èê;98ë'åf9ó -èäí ç/ 98ë\ aò<2 ræí ê8ëó(,é ë\ a ræ)í) êóërè/ 0äã r F9Ó èêhf çf ë/ äålè%å/9óæäeë æðw æåfé åfé }/ èêrèäíô9; sè:<9;äeèfõöì æ</ê8íë ó # øã9óë/9;å/9óæäùèäíùí) ë\9ó:äúå/ Léä98ø<ã ësæð0òû æ)í) êóë ü æ)í) ê; ëf èää )ë/ äë/æ åf ó ý ãë/ãèê;êóõ çfæ)í)ã 0éã: aíèåfè ë\ åfë# æäåfè9;ä9óä: : æ r å/ñ F9Ó èêšèäíyèçç èfèä è%å\åf/9ó ã)åf ë óþ0 æ r å/f9ó èêšè%å\åf/9ó ã)åf ë,í) ë/ /9Ó e 0ë\éeèç 0èäíwí)9Ó r ä)ñ ë/9;æ<äë0æð å/é ræ 7' Jåaèäeí 9Óä êóãí) síèåfèy/ êóèå/9óî å/æ}èyçeæ<9;äå ë\ åaæäÿåfé ræ )7' Jå ë/ã\ðoè< <ó ççe èlèä Rè%å/å/F9; ãå/ ë í) ëf F9Ó e #æ< )7' å ë\ã\ðoè< #çfæç /å/9ó ëtë/ã Lé è<ët æ<ê;æ<fë Eå/ åfãf æñ æ<fí)9óäèå/ ë äæf sèêšî JåFæLë ål ó 9;:<é øãèê;9;å'õ r ë/é ë,ãeë\ãèê;êóõ æ<äåfè9óä è é9ó:é äã æð3î \åf9ó ë#èäí ðoè< ë!å/éèå# èãë/ -äæä 9Óä<åF Lè å/9óî 0/ äí) F9Óä: æ<#é9ó:é ë'åfælè: 0ë\çeè <ó)$ ä F äådõ èlëñf ë/ãêªålëtéèeî< R äwç/ ë\ äå/ ír9óä æ<fí) Ñå/æ / í)ã å/é r ë/é æ rçêó )9;å'õ 9ªñ åfé Ñ õ r F:9Óä:)"% æ<ê;ê8èçeë\9óä:r ê; äåfë æ õ F ñ ë/è rçê;9óä: î /å/98 ëó } ë\érë/9; rçêó9 è%åf9;æ<ä èê;:<æf9ªåfé së ãeë\ í)9 š F äå F/æ<a F9ªåF F9Óèyå/æ} r èë/ã/ å/é å/ä ëfë-æð!å/é wèççfæ )9; sè%åf í Q#GZ Y%DLA'K8É CBI\i N Ê?fIJNECBSJIJSJ>A É P;C NÊ8fIJNCHSJIJSJ>%AJÉ PÓC
194 ! #"%$'& )(#*,+-!(,$/.0&213$'465 $87'9;:<< Á ;¾ / < \ Ó )½ <½ ½«' F± /«;¾"!#, ~¼%$ &!&! ë\ã/ðoè ë ó+ë/ãèê;êóõ)åfé ë/ èê;:<æf9ªåfé së#í)æsäæå / å/ãfä èë/ãf ë,æð åfé FFæ,9;äåF/æ)í)ã í ì#é9;êó ë/9; rçêó9;ð õ9óä:såfé r ë/é~ó (,é F ð æ</ <ès r ë/é æ rçè/98ë\æ<äwåfææê6ì!æãêóí ãë/ ð ãê6å/æ LéèLè å/ F9Óï r ë\é}ë/9; rçêó9 è%åf9;æ<ä èê;:<æf9ªåfé sëó $ äwåfé9óërçèç )ì aç/ ë\ ä<å#èr r ë/é æ rçè/98ë\æ<äw r åféæ)í èë/ íyæä è ä ì è%å/å/f9; ãå/ í) î98è%å/9óæä r åf/98 óe(,é9óëèëfë\ ë/ë/ r äårèêóê;æ%ìrë,æ<ä 0å/æ æ< rçã)å/ ê;æ) èê~í)9 / ä ë# e å'ì ä å/é èå\å/f9ó ã)å/ ë#æð3å'ì ær r ë/é ëó(,é aç/9ó sèfõ èí)î%èäålè: ë!æð3æ<ã# r åféæ)í è/ < ')(+*,-*.0/ åfé å/éæ)íç rèäè:< ë ë\é ër æ<ä<ålè9óä9óä:ÿ: æ r åf/98 rð è%å/ã/ ë è<ë ì! êóê è<ëæå/é 0ë/ã/ðOè è%å\åf/9ó ã)åf ë0ë\ãe Lé èë sè%å/ /98èê æ<ê;æ<fë )åf å/ãf åf rçe Fèå/ãF Lèí)98è%ñ åf9;æ<ä~ ål ó- }æf æ%î< å/é a r è<ë\ã/ äåfë#èf -9;äeí) ç äí äåæðwå/é î9; ì#çeæ<9;äåèäeíwåfé èå\å/f9ó ã)å/ -å'õç ó '98;:=</13254>6 eè<ë/ë/ ëfë\ r ä<ålë#èf 0íæä -ð æ<#:9óî ä ç æ9óä<ålë#æä åfé a r ë/é ë/ã/ðoè ó ëfë/ ëfë\ r äå F ë/æêóã)å/9óæä èäy a9óä F è<ë\ í õwèsë/ã\ðoè< -ë/è rçê;9óä:r r åféæ)íhó '9?A@B@-1 2C<D/4>2C:, E ~å/é r å/éæí 9Óë-ë/ã9;åFè ê; ð æ0äã r F9Ó èêw æ)í) êóë ð Fæ F èê ëf ä ë0èäí ð æ< ë\õäå/é å/98 æ)í) êóë ó~(,é98ë- r ë/éò æ rçèf98ë\æ<ä r åféæ)í èäò e rãë/ í ð æ- sèäõ èç)ñ çêó98 è%åf9;æ<äë ) ë\é ë/9; rçêó9 è%åf9;æ<ä~f î< Lë\ ä:<9;ä F9;ä: ü æ rçè/98ë/æäw å'ì! ä è! ræ)í) ê~èäí è äã r /98 èê ræ)í) êhæð6åfé af èêšæ< )7' ålýj) r ë\é ë\ : r äålè%å/9óæä6 r ë\é çfæñ ëfë\9óä:sèêó:æ</9;å/é LéeèLè JåF F9;ïè%åF9;æ<ä~< åf ó $ äs) JåF9;æ<ärì!!F î9ó ìçå/é #F ê8è%åf í ì æ<0faæ<ä r ë\ésí)9 / ä, r åf/98 ó$ äs) JåF9;æ<ä ò ì ç/ ë\ ä<å å/é è%å\åf/9ó ã)åf wí) î98è%åf9;æ<äö r å/f98 sãë/ í ð æ< r ë/é æ< çeèf9óë/æä~ó3 RêÓ:æF9;å/é së ãë\ írð ædå/é 9; rçêó r ä<ålè%åf9;æ<äsæðhå/é çfæç æ<ë/ í r ë/éw æ< rçèf9óë/æär r åféæ)í èf ë/ã r sè%ñ /9Óï í 9Óä å/9óæähgó*# ë\ãê;åfë æ<ä r ë\ésë/9; rçêó9 è%åf9;æ<ä øãèê;9;å'õ èf,çf ë/ äå/ í 9Óäs) JåF9;æ<äró IhÚ vkj#l~â>jmûþ-nrvoj#p>q)ü=jßsr_þeýt æ rçêó r ë/é ë è/! )ç äë/9;î< dåfæ0ë\å/æ</ <å/lèäë/ r9ªåeèäí F äeí) ó% úêóæ%ì! Wê; î êæðeí) ålè9óê èä æ< )åfè9;ä íù õ ë\9ó rçê;9;ð õ9;ä:öå/é r ë/é ü F í)ãe 9Óä:öå/é äã yæð î< /å/98 ëwèäí ðoè ëfý óe$ ä æë'å0 èë/ ë åfé ë/9ó çê;9 í ë\ã/ðoè 98ëRåFé F ð æ</ í)9 š F äåð Fæ å/é æf9ó:9óäèê ë\ã/ðoè óu ÿèäõúë/9; rçêó9 è%åf9;æ<äôèê;:<æf9ªåfé sërãë/ å/é 9; æ%ì#äô FFær r å/f98 å/æö:ã9óí) åfé ë\9ó rçê;9 e è%å/9óæä}ç/æ) ë/ë óe 9Ó:äæ<ä9 * 4V/1W3X éeèë#çf ë/ äåf í èä}æ%î< Fî9Ó ì æðwå/é å/ Léä9Óøã ë ãë\ íyå/ær î%èêóãèå/ 0å/é a /Fæ,9Óäå/Fæíã íw õsåfé a r ë/é ë/9ó çê;9 e èå/9óæä çfæ ëfëó IhÚBÙeÚZY\[]_^a`b[ cedgf-hi[ijklf-` mnjno[hpq]srzfnkutvuboogjnow]xuhiob[idr ÿèäõ èêó:æf9;å/é së,ãë/ :< æ r å/f9ó - r è<ë\ã/ äåfë#æðñí9óë\åfèä æ< ã/î%è%åfãf óe) Lé/æ í * 4e/1W y ãë\ èÿî< /å/ ñhå/æñhçêóèä í)98ë'ålèä è<ë í) 9Ó sè%å/9óæäú F9ªåF F9;æ<ä~óW*R íí)õ{zy rçêóæ%õ)ë è ð ãä JåF9;æ<äy eèë/ í æ<äw ã/î%è%åfãf åfæ :<ã9óí åfé 0ë/9Ó çê;9 e èå/9óæäyç/æ) ëfëó% -ê; 9;ä * 4}/ 1W ~ èççêóõ èäö FFæ r åf/98 s è<ë\ í æä åfé O èãëfí)æ0 úí)98ë\åfèäe ów*#æäðoèlí * 4/ 1 W ãë/ å'ì!æ} ä /:<õ ð ãä JåF9;æ<äë )ê;æ) èêšå/ ë/ë/ êóêóèå/9óæäy F/æ<!èäíwêÓæ) èê :< æ< å/f9ó FFæóþ0ã ï9ó =ƒ-ã)å/9óê;9óï ë#è åfæê;ñ Lèä aîæêóã r èë èä FFæR æãäeí èë/ãf ó*#æë/ë/9ó:äè< 0ãë/ ëèä} F/æ<# eæ<ãäí r åf/98 èë/ íyæä í)98ë'ålèä ë!å/æ ë/ãçç æ/å/9óä:rçê8èä ëó469;äeíë'åf/æ< * 4A/ 1 W ãë/ è î<æêóã r - å/f9ó ó (,é ë/ èêó:æ</9;å/é rëwë\9ó rçê;9;ð õôå/é : æ r åf/õôèäíù9ó:äæ</ ÿå/é í9óë\å/æ<\åf9;æ<ä èãeë\ íôå/æ æå/é Të/ã\ðOè< #è%å/å/f9; ã)å/ ë ü æ<ê;æ<fë Eå/ å/ãf %äæ</ sèêóë % ål óýjó1w9ó:ãf -,ë/éæ%ìrë F ë/ãê;åfë æðšèä
195 ! #"%$'& )(#*,+-!(,$/.0&213$'465 $87'9;:<< \ >r¼³ \ˆ J«; ³ ª µa W 8 Ó«b'? Šd / / Ó J 8 ;³J " / 8«;¾ûÀ ËÓD Í~ DF@B@BCOGfEN@BA\[ Ë i ÂJÃJÂdP8DLZ'A'[ Í Ë;fÍ6` GQ#XEKG DF@B@BCOGfEN@BA Ë ÂJÂJÂ!P8DLZ'A'[ Í Ë;ZFÍ6` GQ#XEKG DF@O@HCOGfEN@BA Ë ÂJÂJÂ!PÓDLZ\A'[ Í GSEÉ É -A'[HY,[BGQ#XEKG b%z\df@bgij> A ÌDLQ#XEKAJÉJ ~YEA~[HGQ#XEKG NE[HA'U,G> ËÓfÍ)QRDL>%DLSJA'[šDLXXA\DLCBDL>EZ'A DF@B@BCOGfEN@BA\[\ Ë;ZFÍhUEIA'[3>EIL@\É )è rçê; dæð r ë/é ë/9; rçêó9 è%åf9;æ<ä èêó:æ</9;å/é së ó1w9;:<ãf R ü è<ý~ë/éæ%ìrëšåfé dæ</9ó:9óäèê r ë/é~ó(,é èê;:<æf9ªåfé ãë/ í 9Óä 139Ó:ã/ r ü eý sèäè: ë!èççe èlèä è%å/å/f9; ã)å/ ë)ì#é9óêó åfé aèêó:æ</9;å/é ãë/ íw9;ä 1W9;:<ãF ü ý í)æ ë!äæå ó aë/ - êó è/êóõr9;äwå/é -ê8èë\åœ :<ãf Rå/éeè%å!å/é - r ë/éyè<ë\ç å 98ë#é9Ó:éêÓõwí) å/ /9ÓæLè%åF íhó (,éãë æ</ æ< rçê; å/ }èêó:æ</9;å/é rë èf ä í) íçå/æò sèäè: ë\éùè%å/å/f9; ã)å/ ë íã\ñ 9Óä:rå/é ë\9ó rçêó9 e è%åf9;æ<ä ç/æ) ë/ë ó Ræ<çç = -ãë/ ë,åféf a ä F:õsð ãäe Jå/9Óæäeë,å/æsçF ë/ Fî aë/ã/ñ ðoè< -: æ r åf/õ<ëf èêóè!èå\åf/9ó ã)åf ë#èäeíyí)98ëf æäåf9;äã9;å'õ ãfî ëó$ äë\å/ èíyæðwãë\9óä:rèä F/æ< r è<ë\ã/ < æ<é ä * 4A/ 1W XŽ çfæç æ<ë/ 0è : æ r åf/98 æäë\å/fã JåF9;æ<ä~) èê;êó íyë\9ó rçê;9 e è%å/9óæäy ä)ñ î< êóæç ë åfæw r9;ä9; r9óï å/é rë\ã\ðoè< í) î9óèå/9óæä~óhþ-èfêóèäí * 4 / 1W3XDX Xy ãë/ èyø<ãeèí)f9ó F/æ< r åf/98 eèë/ í æä åfé r æ rçãåfè%åf9;æ<ä}æðtî< /å/ ñhå/æñhçê8èä -í9óë\åfèä ëó- Ræççe X z X ~ éè<ër9ó ñ çfæ%î ísåfé aêóè<ë'å,åf Léä98øã -ð æ# r ë\é ë!ð ærèççe èlèä 0èå\åF/9Ó ã)åf ë ó (3æã 9;ä * 4 /1W3Xi X ƒ éèeî yçf ë/ äå/ íçè å/éæ)íçð æsèäeèêóõë/98ë èäíúë/9ó çê;9 e èå/9óæäúæð äã r F98 èê) ræ)í) êóët æ r9óä:-ð /æ< lf èêeë/ ä ë ì#9ªåfé ë\ î Lèê)èççe èlèä #è%å\åf/9ó ã)åf ë ü å/ ñ ç Lè%åFã/ <dêóã r9;äeèä! åf ó ý ó! äèêóõ)ë\98ë æðaå/é ë\ ræí ê8ë 98ëyí)æ<ä ÿì#9;å/éå/é Òø<ã9;ä ãä{ ì,èeî ê; årå/lèäë\ð æf ó (,é9óë å/ Léä98øã èê;êóæ%ìrë#åfé å/lè å/9óæäÿæðd: æ r åf/98 èäíÿèççe è/ñ èä díè%åfè# æäë/98í) F í-èë69; rç æ/åfèä<å39;ä)ð æ</ sèå/9óæä~ó(,éãë~å/é æf9;:<9;äeèê% ræ)í) ê<9óëwë\9ó rçêó9 í 9Óä æ<fí ~åfæa æäeë\ /î< Ñå/é ë\,íèåfèó% Rð?å/ Ñì#éeè%å éèeî e ä í î ê;æ<çe í õ (3æã 9Óä~Eì! éèeî< êóææbf ísð æ<,èäw /Fæ! r å/f98 åfæ è<ë/ë/ ëfëdå/é a æ<äë/ FîEèå/9Óæäyæð~åFé -9; rç æ/åfèäå#9óä)ð æf sè%å/9óæä6ó ãff äå/êóõ å/é / 9Óë0äæwå/ææêWåFæ è<ë/ë/ ëfëë/9; rçêó9 e èå/9óæä /Fæ 9;äåF/æ)í)ã í æä èçç èlèäe èå\å/f9ó ã)å/ ëó éèeî çf î9óæãë/ê;õçç/ ë\ äå/ íùè ë/9ó çê;9 e èå/9óæä øãèêó9;å'õúèëfë/ ëfë\ r äårð æ èççe èlèä 0èå\åF/9Ó ã)åf X Xi ó I~ÚbI~Ú ugjn]xu#hob[id uobojno 9Ó:äæ<ä97 ë * 4U/ 1Wq ÿ å/fæ-å/ææ<ê gx,èêóêóæ%ìrëwå/é R r èë/ã/ r äåñæðš ë\é ë/9ó çê;9 e èå/9óæäsèêó:æñ F9ªåFé øãèê;9;å'õyè<ë#èr: æ r åf/98 0 F/æ<! å'ì! ä å/é æ</9ó:9óäèêšèäíyå/é ë\9ó rçê;9 íy r ë\é ëó
196 ! #"%$'& )(#*,+-!(,$/.0&213$'465 $87'9;:<< Ä ;¾ / < \ Ó )½ <½ ½«' F± /«;¾"!#, ~¼%$ &!&! (,é9óë- /Fæ-98ë-/ çeæ<\åf í í)9;f å/êóõÿæä å/é s ë\é6~ì#é98 LéÒèê;êÓæ%ìRë å/é rî9óë/ãèê;9óï èå/9óæä æð åfé ê;æ) èê /Fæó(,é 0ë\æð?å'ì!è/ èêóë/æaf å/ã/äë äã r F9Ó èêeîeèê;ã ëdë/ã Léwè<ëÑåFé r èä FFæó(,é ø<ãeèêó9ªå'õ r èë/ã/ r äå#9óë, è<ë\ íwæ<ä å/é -ç æ9óä<å/ñbåfæñ ë\ã\ðoè< -í)9óë\åfèä <ó þ09;î< äyè çeæ<9;äå èäí è ë/ã\ðoè< š,å/é -ç æ9óä<å/ñbåfæñ ë\ã\ðoè< í)98ë\åfèäe œ# žšuÿt98ë,í) eä í èë œ% 3 ;ždšuÿul H 3 ;žc -ªbŸ ü ý ì#é F 3 ž> ª Ÿ,98ë#å/é 5Tã ê;98í)98èä í9óë\åfèä a å'ì! ä å'ì æ ç æ9óäåfë9;äz«z ó (,é } åf/æråfææ<ê 9Óë0 æ< ræ<äê;õyãë/ íhóq Ræ%ì! î< #9;å0 èä}æäêóõ èë/ãf aå/é : æ r åf/98 - F/æ<èäeí}í)æ ëräæå rèäè:< r ë\é ë#ì#9;å/é}èçç èfèä -è%å/å/f9; ã)å/ ëó IhÚb ~Ú9 \ub -hi ogustqub %[if-h[ijnk þ0 æ r å/f9ó íèåfèùë\9ó rçêó9 e è%åf9;æ<ä 9Óäå/Fæíã ë èô ræ)í)9 e èå/9óæä æð åf å/ã/ ö ææ<fí)9óäèå/ ë ó (,éãeë3å/é wå/ åfãf 9Óë èççê;9ó íöí9 š F äå/êóõ æäöåfé yë/9ó çê;9 í ë\é åféèäçæäöåfé wæ</9ó:ñ 9;äèê#æä <Ñì#é98 Léú:< ä Fèå/ ërèò ræ)í)9 è%åf9;æ<äúæðåfé å/ åfãf è<ë\ç åsæäúå/é ÿë/9; rçêó9 í ë\ã/ðoè ów(,é9óë èê;å/ Fèå/9ÓæäöæðRè<ë\ç å 9Óë èê;êó í~ 4*0±47²{.0*O³* ǵ2c/ 472C:, ód æé ä * 4/ 1 W yiž çfæñ çeæë\ íyèr r è<ë\ã/ äå!æð3åfé9óëí) î98è%å/9óæäyå/ær:<ã9óí åfé ë/9; rçêó9 è%åf9;æ<ä ç/æ) ëfëó æé ä í) eä ë-èäòèççê;98 èå/9óæäsµ\ D 3 -Ÿ C¹;ž0º%Ÿå/éeè%å-:9Óî ëå/é åf å/ã/ r æælí)9óäè%åf ë ¹\žiº{Ÿdè<ë/ë/æ) 98è%å/ írå/æ å/é -ç æ9óäå\ yæä åfé -ë\ã/ðoè "š ó)(,é98ë èççêó9ó è%å/9óæäyèêóê;æ%ìrë æä å/æ :æ ð /æ< û: æ r åf/98 ë/çè åfæ çèlè r åf/98 ë/çè< ó~(,é 9Óäî Lë/ èççêó9ó è%å/9óæä»µh¼ X ¹\žiº{Ÿ ½ å/éèå :9Óî ë,å/é ç æ9óä<åa ÿæä åfé ë/ã/ðoè š ì#9;å/éÿå/é å/ åfã/ æælí)9óäè%åf ë C¹;ž0º%ŸR9Óë èê8ë\æ í) ä íhóšþ09;î< ä å'ì æs r ë\é ë ¾À èäíw¾àáåfé 9ÓRF ë/çe JåF9;î< -ë/ã/ðoè ë šâ èäeíãš Áeèäí è çeæ<9;äåu aä š )åfé -å/ å/ãf aí) î98è%å/9óæä_åe žš Á Ÿ! e å'ì äh èäí_š Á 9Óë#í ä í èë Åe 3 žš Á ŸŒ 3 ž0µ Á ¼ X >µ ŸiŸ0Ÿ ü ý (,é rå/ åfãf rí î9óèå/9óæäò9óë0åfé í)98ë'ålèä r e å'ì ä èy:<9;î< äòçeæ<9;äåaæäxš èäí å/é sçeæ<9;äå æäwšâá!ì#9ªåféwåfé ëfè r åf å/ã/ a ææ<fí)9óäèå/ ë ó(,é - èë/ãf r äå,æð6åf å/ã/ aí) î98è%åf9;æ<äw98ë ë\ã9;åfè êó rå/æ :ã98í) sè}ë/9; rçêó9 è%åf9;æ<ä ç/æ) ë/ë š ã)å F ë/ãê;åfëaë/éæ%ì2åféè%å 9;å 9Óë äæå ë/ã9ªålè êó ð ærèëfë/ ëfë\9óä:rë\9ó rçê;9 e è%å/9óæä øãèêó9;å'õ ü ë/ JåF9;æ<ä <ýjó ~Ú jæj%çgè o Þ-ÉxÊaQ)Ý%âCÇÞeÛ 9 / äå ë\éèçe r sè%ål Lé9Óä: å/éæ)íë éèeî r ä çfæç æ<ë/ í 9;äÒåFé sê;9;å/ Fèå/ãF y X y0y y z y ~ ó (,é s ræ<ë\å0ðoè ræãëa r ë\é æ< çeèf9óë/æä å/f9ó r98ë0å/é Ë èãeë/í)æ<i Çí9Óë\åFèä <~ì#é98 Lé :<9;î< ë è :êóæ eèê6 æ rçèf98ë\æ<ä å'ì! ä}å'ì!æ r ë/é ë ó (,é9óë å/éæ)í 9Óëäæå-ë\ã9;åFè êó 9Óäÿæã0 è<ë\ e èãeë\ aì! aí) ë/9;f -å/æsé9;:<éê;9ó:éå# r ë/é / :9Óæäë#ë/ äë/9;å/9óî 0å/æråFé ë\9ó rçêó9 e è%åf9;æ<ä ç/æ) ë/ë ó (,éãeë)ì! aä í åfæ í) î< êóæç è ê;æ) èê~ æ< çeèf9óë/æäwè<ë/ë/ ëfë/ äå ó!å\å/f9ó ã)å/ ëè/ a æ<äë/9óí) / í èë,î JåFæLë,9;ä}5Tãe êó9óí)98èäÿë/çè< í) ä í æ<ä}èêóê6ç æ9óä<ålë#æð å/é y ë\é6ówæ è ç æ9óäå 98ë F çf ë/ äåf í èë èä èffèeõ æ rç æ<ë/ íòæðvì è%å/å/f9; ã)å/ yî å/æ<fë CÍnÎ ž Ï=Ï Ï ždí П ì#9ªåfé»íñdèäòè%å/å/f9; ãå/ rî Jå/æ< ó Ò rí ä rèä èççê;98 èå/9óæäóòôñ -Ÿ"ÕÍÑå/éeè%å :9Óî ëå/é rèå\åf/9ó ã)åf î< JåFæ Í Ñ æð!è%å/å/f9; ã)å/ HÖRèëFë\æ) 9Óèå/ í ì#9;å/é å/é ç æ9óäåa 3óh(,é r ë\é æ rçè/98ë/æäò å/éæ)í çfæç æ<ë/ íò9óä å/é98ë çeèç 98ëa è<ë\ í æ<ä å/é yí)9 š F äe èëfë/ ëfë\ r äå e å'ì ä r ë/é èå\å/f9ó ã)å/ ëó
197 Ø! #"%$'& )(#*,+-!(,$/.0&213$'465 $87'9;:<< \ >r¼³ \ˆ J«; ³ ª µa W 8 Ó«b'? Šd / / Ó J 8 ;³J " / 8«;¾ûà ÚqÛ0Ü ØVÝ Þ ØaÙ GSEÉLÁÉ/ h@b@bcbgfn@ha~uea ~YEA UEA GÈDF@BGIJ>Aß àá â%ã7äåg[@hyea UEG[B@HDL>EZ'AšILP%@BYEAhDF@O@HCOGfEN@BA'[-æfA'@?ÆšA\A'> D!XIJG>@nâ-DL>U-D![BNECOPÓDLZ'AŒähÉ ~YEAÑXIJG>@-â P8DLZ'AŒäšÉ 6ÚOÙ ÚÃèKhihioB[0éB ;hduztqub %[if-h[ijnkê] u#hiob[id þ09óî ä è ë\ã\ðoè< ëš èäeíyè çeæ<9;äå wìã«\zeå/é -í î9óèå/9óæä 0 3 ;ždšuÿ å'ì! äyå/é -èå\åf/9ó ã)åf ÖTæð3åFé aç æ9óä<åu }èäí åfé ë/ã\ðoè< šç9óërí ä í èë D 3 ;ždšuÿuîívï i -Ÿaðxï i >ñ 3 qÿiÿ+í ü òý ì#9;å/é ñ 3 -Ÿ"ò ª å/é ä èf ë\å ç æ9óä<å-åfæ Òæä}åFé së\ã\ðoè< Hš#óš(,é èå\å/f9ó ã)å/ sí) î9óèå/9óæä žšuÿ!9óë#å/é í9óë\åfèä -ð Fæ å/é èå\å/f9ó ã)å/ ëö æð å/é açeæ<9;äåu }åfærå/é èå\å/f9ó ã)å/ eötæð å/é ä èf ë\åç æ9óä<å å/æ æä}åfé ë/ã/ðoè š,ó$ äÿå/é èë/ æðdë\ î Lèê6çeæ<9;äåFë æä åfé ë/ã/ðoè š éèeî9óä: å/é ëfè r sí)98ë'ålèä rå/æ å/é sçeæ<9;äå+ 6~å/é èå\å/f9ó ã)å/ í î9óèå/9óæäò9óëaå/é s r9óä9; ã í)98ë\åfèäe å'ì! ä}å/é è%å\åf/9ó ã)åf eö!æðâ }åfæså/é è%å/å/f9; ã)å/ ë+ö,æð å/é ä èf ë\årçeæ<9;äåfëå/æe æ<äãš,óe(,é aè%å\åf/9ó ã)åf í) î98è%åf9;æ<äy r åf/98 -ë/ Lé r a9óë,ç/ ë\ ä<åf íy9;ä}1w9ó:ãf )ó 6ÚbI~ÚwóÃu %[if-h[ijnkêfnr rbur r ]xubkh þ09óî äyå'ì!ær r ë/é ë+¾à èäeí_¾àá)åfé 9ÓRF ë/çe Jå/9Óî aë/ã/ðoè ë+šâ èäíãšâáèäí èrë/ å ô æð ç æ9óäåfëœõ0 öë ö Ä š èäí ø ÆùBž=Ï Ï=Ï žiúsû< å/é #í) î9óèå/9óæäeü 7¾ ývžd¾ Á Ÿ6æðåFé!èå\åF/9Ó ã)åf ÖT å'ì! äz¾à { ý èäeí_¾àá#9óë#í) ä í è<ë üh 0 >¾À { ý žd¾ Á0Ÿlõ 0 ö žšâá0ÿv ø ÆùBž Ï=Ï Ï ž0úóû ü Gý (,é!í) î98è%åf9;æ<äa e å'ì äaå'ì!ær r ë/é ë6ãë/ ë6å/é!è%å\åf/9ó ã)åf í) î9óèå/9óæäa r åf/98 ü 5dø óòýjó } ë/é ¾À 98ëd èêóê; í å/é.0*cþ *.0*,-<*"ÿ* E èäís98ëtf ë\å/f98 Jå/ í å/æ è çeæ<9;äå ë/ åtålèf< äsæäs9;åfë!ë/ã\ðoè< <ó (,é ë\ çeæ<9;äålë æäë\å/9;å/ã)åf åfé r èë/ã/ r äå ç æ9óäåfëdð ætåfé -è%å\åf/9ó ã)åf í) î9óèå/9óæä r åf/98 ó 6Ú 6ÚwóO[rBd ;r r [ijk!å/å/f9; ãå/ í) î9óèå/9óæä èëfë\ ë/ë/ r äåfërèê;êóæ%ì æ<ä å/æ é9;:<éê;9ó:éåsêóæ èêí9 š F ä ës å'ì! ä å'ì!æa r ë/é ë ó<&æå/ Rå/éèåTå/é98ë!èëFë\ ë/ë/ r äåñ9óëd:ã98í) ír õ å/é : æ r åf/98 èê æff ë/çeæ<äí) äe å'ì! ä åfé # r ë/é ë ü å/é #ä è/ ë'åñç æ9óä<åtæ<äsèaë\ã/ðoè!å/æ è0çeæ<9;äåtæ<ä åfé #æåfé ë\ã/ðoè ý ó
198 í í í í! #"%$'& )(#*,+-!(,$/.0&213$'465 $87'9;:<< ;¾ / < \ Ó )½ <½ ½«' F± /«;¾"!#, ~¼%$ &!&! Rê8ë\æöäæå/ åféè%åyèå\åf/9ó ã)åf í) î98è%åf9;æ<äôè<ë/ë/ ëfë\ r ä<ås98ë äæåwë\õ r r åf/98 ót$ åy9óë æ rçã)åf í ð /æ< è çeæ<9;äå ë/ åí ä í æä å/é af ð / ä - r ë/é}ë\ã\ðoè< ó)$ ð åfé a r ë/é ërè/ -9Óäî /å/ íh / ë\ãê;åfër rèeõw e í)9 š F äå ó$ ä çlè å/98 <èä èeî Fè: æðw æåféÿí) î98è%åf9;æ<äëvü i >¾ { ý žd¾àádÿ èäíãü 7¾ Á ý gž¾ Ÿ!98ë# æäeë\98í) F í~ó*# ë/ãê;åfë#èf -æð?åf ä}í)9 / ä<å# ãår/ êóèå/9óî êóõw ê;æë\ <ó ë3çè/å6æð r ë\é ë/9; rçêó9 e èå/9óæä èê;:<æf9ªåfé øãèê;9;å'õaèëfë\ ë/ë/ r äå :< æ< å/f9ó dí) î98è%å/9óæä èëfë\ ë/ë/ r äåw98ëwå/é # rè9;ä r è<ë\ãf r ä<åe e èãeë\, r ë/é ë/9ó çê;9 e èå/9óæä 9Óë ë/ë/ äåf9óèê;êóõa: æñ å/f9ó ó< î98è%å/9óæä è<ë/ë/ ëfë/ äåtæðšå/é æå/é èå\åf/9ó ã)åf ëd èäs Rãë/ í åfæ øãèäå/9;ð õrèë/çe Jå æ)í)9 e è%å/9óæäeëaí)ã rå/æ åfé ë\9ó rçêó9 e è%åf9;æ<ä çfæ) ë/ë óh #ð?å/ èäò9ó ç æ/åfèäåaë/9ó çê;9 e èå/9óæä ü 2æ<T ræf #/ í)ã í ðoè ëlýj<ì Rãeë\ãèê;êÓõ äæåf R9; rç æ/åfèä<åtêóæ) èêeí) î98è%åf9;æ<äëñæðhèçç è/ñ èä -èå\åf/9ó ã)åf ë ó &RæåF å/éèå 5dø ógòf øã9óf ë å'ì æ r ë/é ërì#é F æä 98ësë/è çê; íçì#9;å/é èòçeæ<9;äå ë/ å åfèf< ä æä 9ªåLëÑë\ã/ðOè óæ-ì! sèeõaålèf!ç æ9óä<ålë æäêóõa9óä F :<9;æ<äëWæðe9Óäå/ / ë'åó ÿ èë/ãf r äå çeæ<9;äåfë sèeõy î< /å/98 ëræð å/é / ð F ä a r ë/é}æç æ9óäåfëråfèf< ä}æ<ä å/é ë\éÿë/ã/ðoè ó (,é r èë/ã/ r äå0f ë/æêóã)åf9;æ<ä èäÿ e r9óä F è<ë\ í}ãë/9;ä: èyë\ã/ðoè ëfè rçêó9óä:yèê;:<æf9ªåfé ü ð æ# è rçêó -å/æs æ< çã)å/ í) î9óèå/9óæä 9;äë/98í) 0ðOè ëfý ó 6Ú ukpeþeý%â ÜgÈ;É m6à\éàéàq)ý. ã, ë\é æ< rçèf9óë/æäw å/éæ)íy9óë, eèë/ í æ<ä åfé aè%å\åf/9ó ã)åf aí) î98è%å/9óæäy r å/f98 ó1æ<, è Lé çeæ<9;äå æä å/é Fë\å ë\ã\ðoè< šåfé rä è/ ë'åaä 9;:<é eæ<fë0æä å/é ë\ æäeí ë/ã/ðoè rèf ð æãäeíh èäí í) î98è%å/9óæäeë å'ì! ä åfé ûè/ èë/ãf íhóš /ð æf sèä ëræðtå/é9óë- r åféæ)í í) çe äí æä èêó:æ</9;å/é rë 9; rçêó9; í 9Óäùå/é Òí)9 / ä<å æç Lè%åF9;æ<äë ü ä èf ë\åwä 9;:<é eæ<wë\ èl Lé~ÑðOè< ë/è çê;9óä:) åf ó ý ó 1æ!è :<9;î< ä ç æ9óäå <å/é 0ä è/ ë'å çeæ<9;äå,9óë! æ< çã)å/ ís 9Ó äåfê;õs õr î%èêóãèå/9óä: ç æ9óä<å/ñ å/æñ ë/ã\ðoè< í9óë\åfèä ëóh / :ãê8è :F9Óí}æðdë/øãè/ ê;ê8ë98ë0 ã9óêªåh æ%î /9Óä:såFé eæ<ãäí)9óä: eæ æð3 æå/é r ë/é ë yd y ƒó)5dè< Lé êóêh æäålè9óäë,è êó98ë'å#æðwèêóêhî /å/98 ë!9;ä ê;ãeí) íy9;äyå/é - êóê èäíôèêóê!ðoè ër9;äåf Lë\ Jå/9Óä: å/é } êóêbót(,é98ë å/ Léä98øã èê;êóæ%ìrë æä yå/æöøã98 Fê;õ äeíçåfé ä è/ ë'åç æ9óäå æ<ä è ë/ã\ðoè< að æ<0è :9Óî ä}ç æ9óäå óš&ræå/ åféè%å0å/é ä èf ë\åçeæ<9;äå- æãêóí} è î< /å/ wærè ç æ9óä<å#æ<ä èäy í): -æ<rè ç æ9óäåræä è ðoè <ó éèeî í î ê;æ<çe í è-ðoè<ë'å#èêó:æ</9;å/é _å/æ ë/è çê; 0èaå/F98èä:<ãêÓèÑðOè ó(,é98ë èê;:<æf9ªåfé 9Óë èë/ íÿæä å/é ëf èäÿ æäî< Lë\9Óæä}èêÓ:æ</9;å/é y y0 óš(,é ðoè ë/è rçê;9óä: 98ë çe \ð æ</ r íÿ9;ä ò ë\çè< <óe$ äÿæ<fí RåFæw sè9óäåfè9;ä}åfé e ë'å-è ãlè õ<åfé F 98ëäæ çfæ7' Jå/9Óæä6óe(,é98ë èêó:æf9;å/é èêóêóæ%ìrëñå/é :< ä Fèå/9Óæäsæð~ãä9ªð æ</ rêóõ í)98ë'åf/9ó ã)åf í ç æ9óäåfë æäwè å/f98èä:<ê; R9Óäyò< ë\çè< ü ë/ a1w9ó:ãf aò<ýjó þ09;î< ä è ðoè< eï_æ ž KžëŸ ì! -í ä è êóæ) èêhf ð / ä ¹\ž º{Ÿ,èë ðbð ð ¹O ð ð Ï ºH ð Ï ü ý _í ì#é F 98ëRåFé ëfè rçêó9óä:wë\å/ ç6óš(,é F ð F äe K ¹;ž º%Ÿ9Óë0í) ä íÿæä}åfé çê8èä ð æf r í õ å/é #ðoè ïwóò R: ä Lè%åF #éæf9óïæäålèêëf èäsêó9óä ëdçèlèêóê; êå/æ ¹ èäírî< /å/98 èêë/ èärêó9;ä ë çèlèêóê; ê å/æ º óe) èäyêó9óä aäã Lë#èF aí) ä í èë Ì"! ð ð# Oí Ì"$" í ð Kí ü% ý
199 /2 1/! #"%$'& )(#*,+-!(,$/.0&213$'465 $87'9;:<< ()()()( +)+)+)+)+ *)*)*,),),), 0/ \ >r¼³ \ˆ J«; ³ ª µa W 8 Ó«b'? Šd / / Ó J 8 ;³J " / 8«;¾'& GSEÉ%ÀÉE DLZ'AT[ DLQ#XKG>ES [BZ YEA'Q#AJÉ (,é,äã e Wæð ç æ9óäåfëwç Ñéæ</9Óïæ<ä<åLèê)ëF èä ê;9óä R èä Rí) å/ F r9;ä í õ 9;ä / r äåfèê æ rçã)ålè%å/9óæä ãë/9óä: å/é wë/êóæç æð! í): 8 ó~ 9;å/é å/é9óë ëfè rçêó9óä:} r å/éæí~6è%å/å/f9; ãå/ ë èäç èë/9óê;õö æ< rçã)å/ í ð æ< èê;ê#ëfè rçêó ë ãë/9;ä:òtéæ<ä:ò9;äå/ /ç æê8è%åf9;æ<ä y %ó $ äçælí) åfæ æ< )åfè9;ä î98ë/ãèêw/ ë\ãêªålë æðd r è<ë\ãf í í) î98è%å/9óæäeëæ<äÿå/é ë/ ç æ9óäåfë šè í) î98è%åf9;æ<ä 9Ó sè: 9Óë / è%å/ í ð æ<ñ î< FõaðOè ó î9óèå/9óæä î%èêóã ëtè/, æ)í) írè ælí)9óä:åfæ è- æêóæñëf èê; <ó%$ rè: ë ã9;ê;åð æ< î< FõwðOè< è/ çè F< í 9;ä è ë'ålèäíèlíhf :<ãêóè,å/ åfãf ó ãë\ å/é çè F9Óä: èê;:<æf9ªåfé çfæç æ<ë/ íy õ 9;:<äæä9 y åfæs ã9óêóíyåfé9óë#å/ åfã/ <ó 9~Ú k: ÊJÝ%âCÉ JÛšÜgQ PdvOJ%Ç à\p ÜgÇ Ò éeèeî í) î ê;æ<çe íÿè r ë/é æ rçèf98ë\æ<äÿë\æð?å'ì!è/ èêóê; íz } ë/é î} è<ë\ í}æäÿå/é è%å\ñ åf/9ó ã)åf í) î98è%åf9;æ<ä} r å/f98 açf ë/ äå/ í}è æ%î óe(,é9óë ë\æð?å'ì!è/ a98ë#ð F ê;õ èeî%è9óêóè êó aæäêó9;ä <;ó $ å-/ øã9;f ërå'ì æy r ë/é ë-èë 9Óäçã)åšèäíÿF åfãfäëäã r /98 èê3èäeíÿî9óë/ãèêw æ rçèf98ë\æ<ä}/ ñ ë/ãê;åfë ó&ã r F9Ó èê / ë\ãêªålë! æäåfè9;äy LéèLè å/ F98ë'åF9Ó ëñæð6 æåféw r ë/é ë!èäí ë\åfèå/98ë'åf9ó ë æð~å/é è<ë/ë/ ëfë\ ísí) î98è%åf9;æ<ä~)èäísî98ë\ãeèê / ë\ãê;åfë,èê;êóæ%ìùæä å/æ é9;:<éêó9;:<é<å,é9ó:éwí î9óèå/9óæä F :<9;æ<äë ó ÿ ë/éw¾ ÿ ë/éw¾ Á =Ñ \åf9ó ë G %?>@ > % 1eè ë % G RF è <we G }9Óä9Ó ã è )9; ã } èä =TèF9Óèä î98è%åf9;æ<ä ó ò ó G òò ó ò > ó > DLfEKA É% ÌEDLQ#XKA i0 -A'[BY%ŸWA [HILPª@?Æ~DLCBAJÉ (Wè êó s ë/éæ%ìrërèä )è rçê; aæðñäã /98 èêh/ ë\ãêªålërf å/ã/ä í õ_ } ë/é î ë\æð?å'ì!è/ <ó (,é ê; ð?å0 æ }ë\éæ%ìrë r ë/é LéèLè å/ /98ë'åF9Ó ëóe(,é F9;:<éå æ ë/éæ%ìrëë\åfèå/98ë'åf9ó ëf ê8è%åf í åfæ A Y@O@BX BCBFQ#A'[HYEUEA É [HIJNECOZ'A PÓIJCOSJAJÉ
200 ! #"%$'& )(#*,+-!(,$/.0&213$'465 $87'9;:<< ;¾ / < \ Ó )½ <½ ½«' F± /«;¾"!#, ~¼%$ &!&! å/é r èë/ãf íöí) î9óèå/9óæä~ó\ }æf wæå/é ë\åfè%åf9óë\å/98 èê F ë/ãê;åfë èäç e :9Óî äö õx } ë\ée î ë\æð?å'ì!è/ <ó GSEÉEÄEÉ%gšIJKIJC6[BZ\DLKAÑNE[HA'U P;IJCh ILPQ#A\DL[HNECOA'U0UEA GÈDF@HGIJ><É =98ë\ãèê3F ë/ãê;åfë0èf æäë\å/fã JåF í} õ} æ<ê;æ</9óä:såfé / ð F ä r ë/é è æ<fí)9óä:såfæwåfé èë/ãf íwí î9óèå/9óæä~ó)1w9ó:ãf G ë/éæ%ìrë å/é a æêóæ#ë/ èêó ãeë\ íh) êóã -/ ç/ ë\ äåfë 9Óä9Ó ã í) î98è%å/9óæä6):f ä F çf ë/ äåfë! r í9;ã í) î98è%åf9;æ<ä èäíwf í ë/éæ%ìrë! sè )9; ã í) î9óèå/9óæä~ó 139Ó:ã/ ë/éæ%ìrëaî9óë/ãèêñ/ ë\ãê;åfë æð,: æ< r å/f98 sèäí è%å/å/f9; ã)å/ í) î9óèå/9óæäë æ rçã)åf í ãë\9óä:k ÿ ë/é î}ë\æð?å'ì!è/ <ó$ ä å/é98ë :ãf ì! æ< rçèf aå/é è%å/å/f9; ãå/ í î9óèå/9óæä} r åf/98 å/æ æé äâ ëdå/ å/ãf 0í î9óèå/9óæä r èë/ã/ r äå ü ë\ 0 Jå/9Óæä )ó ò<ý ó1w9ó:ãf - ü èýtë/éæ%ìrëtåfé æf9;:<9;äèê ë\é ü ðoè ëfý ó~1w9;:<ã/ s ü eý0f çf ë/ äåfëå/é ë\9ó rçê;9 í r ë\é ü % ðoè< ëlý ì#9ªåféçêóæ%ì åf å/ã/ í)9óë\å/æ<\åf9;æ<ä~ó31w9ó:ãf y ü ý / çf ë/ äåfë å/é ë\9ó rçê;9 íö r ë/é æä ì#é9ó Lé ì éèeî èççêó9; ísé9ó:ésåf å/ã/ 0í)9Óë\å/æ<\åF9;æ<ä~ó139Ó:ã/ ü íý ë/éæ%ìrëñåfé :< æ< å/f9ó í) î98è%å/9óæä èë/ãf í- å'ì! ä å/é æf9;:<9;äèêèäeí-å/é!ë\9ó rçêó9 ía r ë/é~ó 9ªåFé êóæ%ì åf å/ã/!í)9óë\å/æ<\åf9;æ<ä~ æé äâ ë r èë/ãf r äå:<9;î< ë,åfé ëfè r î98ë\ãeèê6f ë/ãê;å èërå/é : æ r åf/98 aí) î98è%åf9;æ<ä ü ë/ 139Ó:ã/ ër ü íýrèäíù ü Eý\ý ót&r î< /å/é ê; ë/ë eæå/éù r è<ë\ãf r ä<ålër èääæås äã r /98 èê;êóõ æ rçè/ íhó(,é èå\å/f9ó ã)å/ í) î98è%å/9óæä r åf/98 -/ å/ãfäë#æ<äêóõså/é š JåF9;î< -å/ åfãf í) î98è%ñ å/9óæä ü ë\ 1W9Ó:ãF ë ü ý3èäí ü ðfý/ýjó% 9;å/é é9;:<é åf å/ãf í9óë\å/æ<\åf9;æ<ä~% æ<é ä ë3 r èë/ãf r äå / å/ãfäë-í) î98è%åf9;æ<ä î%èêóã ë 9Óä / :9Óæäë ì#é / å/é / r98ë-äæ}í)98ë'åfæ/å/9óæä ü ë\ s139ó:ã/ s ü :ý\ý ó!å\å/f9ó ã)å/ í) î98è%åf9;æ<äö r å/f98 :9Óî ëa ræf çf 9Óë/ F ë/ãêªålë åféèäù æé äâ ë r èë/ãf r äå ü ë/ 1W9;:<ãF a ü éeý/ýjó$ ð åfé F -9Óë#äæ åf å/ã/ í)98ë\å/æ/å/9óæä6e æé äâ ë, r èë/ã/ r äå#9;äí9ó è%å/ ë è í î9óèå/9óæä æ< 9Óä: ð Fæ ë\å/f9ó ê;õw: æ< r å/f98 èêhí)98ë\å/æ/å/9óæä6ó $ äyæ<ã# )ç F9; r äålë)ì! aãë/ íwå/éf aë/9; rçêó9 è%åf9;æ<ä}ë\æð?å'ì!è/ 0çFæ:Lè së 'EDGFn1 25ÿH 0ë\æð?å'ì!è/ í î ê;æ<çe í õê }98 Léè ê þ-è/ê8èäeí eèë/ í æälèø<ãeèí)lè%åf9ó /Fæ r è<ë\ã/ äå XDX Xiy ó 'JI{/B³*LK ë/æð?å'ì,èf í) î ê;æ<çe í õnm 4/ 132C/,JO 2bE ²/1QP:ÿ+@q²{4>25,RZ(}.0:²g@ èë/ íwæäyè :êóæ eèê /Fæ, r è<ë\ãf r ä<åz Ž ó 'TSA.D: RVUÓ* E W ë\æð?å'ì!è/!í) î< êóæç í õ SV/.0/1* 1: è<ë\ í æä å/é!ç/æ<:f ëfë\9óî T r ë\é ë3ð /æ< ã:é ëv Ræ<ççe g ó 139Ó:ã/ ë % ë\éæ%ìôî98ë\ãeèê / ë\ãê;åfë æ åfè9óä ísì#9ªåféo } ë\ée î ë\æð?å'ì!è/ Ræ<äwè r ë\é ë\9ó rçê;9 íw õrå/é ë/ åfé/ 0ë/9Ó çê;9 e èå/9óæä ë\æð?å'ì!è/ Rç/æ<:Lè sëó(,é -í) î98è%å/9óæäy/ çf ë/ ä)ñ åfè%åf9;æ<äs9óëtäæf sèêó9;ï í ð æt è Lér r ë/é~<ë/æaî9óë/ãèêe æ rçè/98ë/æäë èf #äæåtçeæë/ë/9; ê; <ó éèeî X Y@O@BX BCBFSJCHDLXYEGZ'[/É Z'[/É NEGNZ É A'UENYBCZWS DLCBKÈDL>EU [ BCB/ Z'SEÉ GA'G8É Z\>C\É Y@BQ#K ] Y@O@BX BCB/Æ~Æ6ÆTÉ X%DLCBDLKA'KIEÉ Z'IJQ-É fec
201 ! #"%$'& )(#*,+-!(,$/.0&213$'465 $87'9;:<< \ >r¼³ \ˆ J«; ³ ª µa W 8 Ó«b'? Šd / / Ó J 8 ;³J " / 8«;¾_^ ËÓD Í6 WCBGSJG>%DLK Q#A\[BY ËÓfÍ6` GQ#XEKG bea\u ËÓKI\Æ}UEA GÈDF@HGIJ>Í ËÓZ/Í~` GQ#XEKG bea\u Ë;YEGSJYdUEA GÈDF@BGIJ>Í UEA GÈDF@HGIJ> ËÓA/Í6ghIJYA\> ` [ UEA GÈDF@BGIJ>ÑPÓIJCeËÓfÍ Ë;P Íš UEA GÈDF@HGIJ>!P;IJChËÓf%Í Ë;SÍ~ghIJYA\> ` [ UA' GÈDF@BGIJ>P;IJCWË;ZFÍ Ë;YÍš h@b@bcbgfn@ha UEA GÈDF@HGIJ>,P;IJC3Ë;Z/Í ` UEA GÈDF@BGIJ> ˪P Í~DL>U Ë;YÍÑ˪@BYEATZ\IJ>[HGUEA'COA\U-DF@B@BCBGfN@HAdG[h@HYAT@BA Z'IIJCBUG>%DF@HA/Í É Léæë\ ärå/é äæf sèêó9;ï í F çf ë/ äåfèå/9óæäræð~í) î9óèå/9óæäëtå/æ é9ó:éê;9ó:éå!èê;êe r èë/ãf í î%èêóã ë ð æ< è Léwë/9; rçêó9 e èå/9óæäwèê;:<æf9ªåfé ó<1w9;:<ãf % ë/éæ%ìrë / ë\ãêªålëdæðhå/é 0: æ r åf/98 í) î9óèå/9óæä èäí ë\éæ%ìrë-f ë/ãê;åfë0æð!å/é è%å\åf/9ó ã)åf sí) î98è%å/9óæäò9óäòì#é9ó Lé å/é èå\åf/9ó ã)åf æäñ ë/9óí F í 98ë åfé yë/ã/ðoè wäæf sèê ü î \åf äæf sèê8ë èf ë\å/9ó sè%åf íö õ ë\9ó rçê;õöèeî< Lè:9Óä: ðoè< aäæ</ sèê8ë!9;ä åfé aî \åf wä 9;:<é eæ</éææ)íý ó DaF-1325ÿ :< ä Fèå/ ë!èrêóæ%ì í î9óèå/9óæä æä å/é ä<åf9;f! ë\é ã)åñì! äeí åféè%å å/é F!è/!ë\æ<!F :9Óæäeë6ì#9;å/é é9ó:é í î9óèå/9óæä ü ë/,139ó:ã/ ë %eü è<ý è<ý\ý ó I%/³B* :< ä Fèå/ ër r í)9óã ûí) î9óèå/9óæäÿæ<äÿå/é ä<åf9;f r ë\é ü ë/ r139ó:ã/ ë %eü eý/ýjów(,é9óëaèê;:<æf9ªåfé ûë/9; rçêó9 e ë-åfé s r ë/éò õÿ æãäí)9óä: å/é r:<ê;æ< èêñ /Fæó SA.D: RVUÓ* E :< ä Fèå/ ë3êóæ%ìúèäí í)9óã í) î9óèå/9óæä æä å/é # ä<åf9;f, r ë/é ü ë\,1w9ó:ãf ë %eü ý ý\ýjó 1W9Ó:ãF > F çf ë/ äåfëñå/é :LèçéëTæðhäã r F9Ó èêf ë/ãê;åfëdæ )ålè9óä í ð Fæ å/é 0ë\9Ó rçêó9 í ð æ</ së æðaå/é çf î9;æ<ãë r ë\é~ó#9ó rçê;9 í r ë/é ë èf ÿ sèí) ãë\9óä:çå/é å/éf è eæ%î< 9ªåF íöë/æð?å'ì,èf çè< F%è: ëó~1w9ó:ãf >ü è<ý-ë/éæ%ìrë0å/é r èä :< æ r å/f9ó rí) î98è%åf9;æ<ä~ó61w9ó:ãf >eü eýdå/é 0 r èä è%å\åf/9ó ã)åf aí) î98è%å/9óæäyì#é F - æäeë\98í) F íyè%å/å/f9; ãå/ -9Óë åfé aäæf sèêhó(,é ë/ :<Fèçéës æ<ä{ F pf sè0f)ër sèí) ÿè eæ%î< ó DGF-1325ÿ ë/æð?å'ì,èf æ )ålè9óä íúåfé ÿêóæ%ì ë'å r èä í) î9óèå/9óæä 9Óä èê;ê) è<ë\ ëóe(,é98ë3ë/æð?å'ì,èf Tç /ð å/êóõa rèäè:< ëwèçç èfèä è%å\åf/9ó ã)åf ëwí)ãf9;ä: åfé ë\9ó rçêó9 e è%åf9;æ<äyçfæ) ë/ë#èäíw:< ä Fèå/ ë êóæ%ì í î9óèå/9óæä~ó
202 ! #"%$'& )(#*,+-!(,$/.0&213$'465 $87'9;:<<  Ӿ \ B -< D\ 8 ½ <½ ½«' F± /«;¾"!#, ~¼%$ &!&! ËÓD ÍcbÑ`KGQ Ë;fÍhM DLUEA Ë;Z/Í6cCBIJS -A'[HY GSEÉ GÈDF@HGIJ>-DL[H[HA'[B[HQ#A'>@hP;IJCh@HYCBA'ATUEG b%z\df@hgij> Ë8D ÍcbÑ` KGQ Ë;fÍ~MDLUA Ë;Z/Í6cCBIJS -A'[BY GSEÉ& É h@b@bcogfen@bawuea É
203 ! #"%$'& )(#*,+-!(,$/.0&213$'465 $87'9;:<< \ > ¼e³ ;ˆ J«ª ³J H ; µ} W 8 Ó«b'? ašd / / Ó J 8 ;³J " / Ó«Ó¾ QSlim Jade ProgMesh 0.25 QSlim Jade ProgMesh Mean Deviation Mean Deviation Face Simplification (%) Ë8D GÈDF@BGIJ> Face Simplification (%) Ë;fÍhÅ3IJCOQRDLKUA' GÈDF@BGIJ> GSEÉ ÉgšIJQ#X%DLCOG[HIJ> fa'@?æša\a'>0@byecoa'adq#a'[by [BGQ#XEKG b%z\df@hgij> d6ú ö Þ ÛWáBPOà\ÇâOÞ Û9QÛWß N à3ü à3ýjzm ÞÝT Ò déèeî< ç/ ë\ äå/ í0åfé dèå\å/f9ó ã)å/!í) î98è%åf9;æ<ä0 r å/f9ó ð æ<3èççfæ9ó sè%åf9;ä:,êóæ) èê<í)9 š F äe ë å'ì! äÿå'ì!æy r ë/é ëóh(,é98ë- r å/f98 ì,èë0ãë/ íÿå/æ ã9óêóíòèy ë\éò æ< çeèf9óë/æäÿç/æ<:lè ó (,é êóæ èê r è<ë\ãf r ä<å-èêóê;æ%ìrë æä å/æ çf 9Óë/ êóõ}î9; ìl/ :9Óæäëì#9ªåFé é9;:<é í) î98è%åf9;æ<äë ó (,é98ë~98ë6èr:f è%å6è<í)î%èäåfè: Ñ æ< rçèf í å/ææå/é 6 r å/éæ)íë~å/éèå6/ å/ãfäa:êóæ eèê æ rçèf98ë\æ<ä~ó þ0 æ r åf/98 í î9óèå/9óæä 9Óë0ãë/ ð ãê åfæ è<ë/ë/ ëfë0ë\éèçe sí)9 š F ä ë óš î98è%åf9;æ<ä èëfë/ ëfë\ r äå0æð æå/é Rè%å\åF/9Ó ã)åf ë,98ë# 9; ä<å#åfæsèëfë\ ë/ë,èççe èlèä ræ)í)9 e èå/9óæäë ó 9Óä #å/é 0è%å/å/F9; ãå/ ë!èf R æ<äë/9óí) / ísèëdî å/æ<fë 9Óä 5Tã ê;98í)98èäwë/çè< < r èë/ãf r äålë 9Óäså/é F èêeè%å/å/f9; ã)å/ -ë\çeè ü ë/ã Léwèë *#þfeôë/çè< Rð æ< æêóælëfý ì!æãêóís ræ</ 0èççFæç/9;ñ èå/ óš.å/é R r å/f98 ër èä e è<íí) íwåfærå/é è%å\åf/9ó ã)åf í) î98è%åf9;æ<ä r å/f9ó ü ó :ó)åf ëfë\ êóèå/9óæä øãèê;9;å'õýd9óä ælí)!åfæs: årè ræf -: ä Lèêš r ë/é æ rçè/98ë\æ<äså/ææ<êbó urágt~û3þ%mp>jßg-j#é JÛšÜgÇ (,é98ëñì!ædf ì,èëñ sèí #9;ä æêóêóè eæ<fèå/9óæä ì#9;å/éråfé R$'*#$\ 43è ih ü +Rä9;î< Lë\9;å'õ æðš(3 ää ëfë\ ýjó (,é èãå/éæ<fë è Fäæ%ì#êÓ í):< 0èEî98í Ñè: jjgk 9Óõæ<ä:ô)ãäil# Räí)F è<ëo æ<ëf Léèä~A ÿæä:<9 9Óí96èäí (Wèí) ãë/ïa)ê;9óì!èm ð æ<,å/é 9;#é êóç~ó voj#nôjý JÛ3áJ#Ç no?pqoqrgsutv wv syx"rao{zawy } suv syxq~<v z oƒ w s#t v w o"rgw ˆ ~ LsuŠ wvœw Ž ˆ Š } Š s# ˆ #s ~< Ls#w v ~< #t w Ls L} ˆŠ o" c a Vš œž Ÿ? Žœ V ªLx ««\n ±C²³ xµn Vo «Yo¹ ºo» oq } LwY Cxƒ» o ¼oq½ ~ Lt xƒ~v N ºo ¾Qoµ w L v Š v{o Àž su )~ Ls#w vœw< Ž Lsu~v t # ˆ ˆ Š } Š o Áv  œ C L ßVĪ \ÅžÆVÇ< ž ÉÈÊ ÂcË x ~t ŠaÌ ³C²V±Íx» Î v fnc «Vo Ï Y@O@HX< BCBFGQRDLSJG>ESEÉ N@BÐÉ A'UEN Ð XEDLSJADWGCOG[B@BI/Æ6>É A'>ESJC'É N@BÐÉ A'UEN Ñ ig i IJ>S WGCBG[O@HI\Æ3><É A\>SJC\É N@BÐÉ A\UN [HKG Æ~D N Ê?fIJNECBSJIJSJ>A É P;C
204 ! #"%$'& )(#*,+-!(,$/.0&213$'465 $87'9;:<< Á Ó¾ \ B -< D\ 8 ½ <½ ½«' F± /«;¾"!#, ~¼%$ &!&! oóôoƒz C ÕYo{ LwYw t µpq L LÎ~< # #ÕV Ls#Ö vô w #Õtw v L CÎ Ls#wv{o c G Vš œ Žœ\ V y ªØƒ Ù œ V x{nc³ yý #n n ²V«Í x"nc Ìo oúzo<ûü # s#v{x Ýo {s# Þ s# } x ~<vü ºo V ~< Co Ó Š } L CÎ Ls#wvßÊs L}à Lw< " w vy Lw oááv  œ C L L < ßVĪ \ÅaÇ âéâcâäã êL å uæc šy Ÿ x ~t ŠG Vn n ²V n x çg Lw Þ nc ÌVo ³VoÚzozawv y~ ¹~<v)» ovz w Š Š s#t v ~ o è Î # # ~<v t G~ LwCésu )~ Ls#w v)w Lsu~v tî u~< L Ú w #Õ} C ~VoVÁáv  œ\ C êÿväª \Åaâfë È ìž cè ÂcË Ç< µæ x ~t ŠGÌ ±C²V±ÌxƒnC Ìo Ìo¹¼oÝGÎ í s# o VÎ y~< Š su ˆ #s# C~< Ls#wv¹s#v Š su ž~ž Lw # ~<v aöw #Î ˆ oyááv Æi L Ÿ Ÿ Ÿ å Ç Ÿ š œù Ÿ šy y Ÿ åæ î a ªL à V ï Ÿ ð L åèq ñl šy ªg Ÿ c G Vš œ" Y aæ VœyÄY œ î<x ~<t ŠcnC «²n x ò wö Þ žn ³Yo ±Vo¹» o<zawš Š s#t v~< oýg w ˆ Ls# ÉŠ su ˆ #s# C~< Ls#wvà~<v w ˆ L Š Š s#w v{o<áv)ævç< ž ÉÈÊ ÂÉË c < œ ª ŽóÜ š ª ôvõx nc ±Vo o¹pqog s#v Š\ Lw ö~<výog {Î Lø ocè~š\ Ú~<vù ˆ ˆw Õ úˆ s# vy ) w #Õtw v~< aš s# ˆ us C~< Ls#w v ocááv  œ\ C êÿväª \ÅaÇ âéâcâäã êL å uæc šy Ÿ x ~t Ša«± C²«< Ìx{çG Lw Þ nc Vo oúûoiûaw o p" Lwt Š Š s#ö f ˆ Š } Š oiáv  œ C L ßYĪ) \ÅÆVÇ< ž ÉÈÊ ÂcË xi ~t Š C²n Í xq¼aî t Î Š\ nc Ìo n Ío» oirgw} v x ¼ o üé~< LŠ } v ÕYxÀào Ó?~v wy }~VxiÝo ƒî Lø x ûo Œ Þ Cx pqo ¼ t~< ߎ~ yxiègoýgwyw øvš x ~<v ºo Ls#t}V Co{ Vs# ˆ #s C~ LsuwvÔ vö #w Š o Ááv  œ C L ßVÄâ \ÅÆÇ< G ÉÈÊ ÂcË x ~t Šfn nc C²nC«x ¼aÎ t Î Š\ Ün Ìo nn o?óôo"ýž~ L þ~<v ~<vœpqo{ûg øvþ Coµ VÎ Ã~ ˆŠ s# ˆ #s ~< Ls#w v Î Š suv t8ÿyî~ V Ls# f Lw ˆ Ls# Š oƒááv  œ\ C êÿväª \ÅžÆÇ< ž cè ÂcË x ~<t ŠG«Í ²«YnCÌVxi¼aÎ t Î Š\ Ün ±Vo nc«vo?óôoýž~< L u~v ~v pqocûa øvþ Co s# ˆ #s êõs#v tqš Î y~ ŠqßÊs L} w #w "~<vž L év LÎ L "Î Š suv t ÿvî ~ V Lsu Lw ˆ Ls# Š o Ááv  œ\ C êÿväª \ÅaÇ âéâcâäã êL å uæc šy Ÿ x ~t Ša«Ì C²«±Íxµn o n o¹ûoûgw o ò ß ÿyî~ Ls# G ˆ Ls# Ãw Š s# ˆ #s êõs#v t ˆ Š } ŠgßÊs L}?~< C~ ~v ~< Ls#Þ Î L Š oááv  œ\ C êÿväª \ÅaÇ âéâcâäã êL å uæc šy Ÿ x ~t Ša³ ²YÌ ÌVx çg Lw Þ n o n o¹ûo ûaw ~<vn ioió?~< L } } v Coi¾"úf s# vy ž ˆs#v s# ˆs#íC~< Ls#wv w Év ߺÿVÎ ~ V Lsu ˆ Ls# Ü Ãw< ÜŠ s# f #s êõs#v tf ˆ Š } ŠgßÊs L}~ ~< ~v ~< Ls#Þ Î L Š o ƒ } v s# C~ za w aó zê Žz á«<í Í Í Ì xós Lw Š w< ê aza Š C~< L }{x» Î v «ÍÍ Ío nc³vo?óôoü ƒwî Þ suv xüçož ƒ~< us#t ~vy Cxܼ ožàžs#w Î xžègož { LÎ } L Cxž¾Qožüc L } sþ~vx raogàžî ˆwvV Cx ~<v ÓÔoµ¼ Þ su syoµ¼ àî Ls Š C~ # )~<v~ ÕŠ s#š êw L} ˆ }~< ~< L Ls#íC~ Lsuwvw< ŒwÞ LŠ oµáv  œ\ C ٠ßVÄªÚ áå)æ Â Ç âïç Ÿ š åãå uäy Ÿ š ÈÊ ñl š <Ÿ c < G Vš œùã{ êª y Ÿ xµö w #Î ˆ ) ³ ««Yx" ~<t Š n ²Y «x ò wö Þ žn Vo n Ìo?ÓÔoY ƒwî Þ suv x ÀoYpµ~t xvrao ÀžÎ ˆwvY Cx ègo { LÎ } L Cx~<vˆÓÔo¼aÞ sþsyoyóî # Ls L Š w #Î Ls#w vfßž~ö # ~v ~ ÕŠ sušê Ãw< GŠ s# ˆ us C~< Ls#w v8~<vövs#š Î~< #suí ~< Ls#w v w< É Î Ls L év LÎ L Cˆ ˆ Š } Š o Áv  œ C L L < ßVĪ \ÅžÆ Â Ç â âžåu L šyœ\ Ÿ y Ç ˆ CÄ êÿväx Öw #Î ˆ G Ì Íx ~t ŠÜn³³C²n Ì Vx»~vVÎ~ Õ«Í ÍÍo nc±vo?óôo z wcõyx ègo ò su w #s# Cxi oè wî êw Î{x ègo { LÎ } L Cx ¼ o Ûaw Š }~<v{x ~vóôo¼ Þ su syo ¼aŠ Š Š Š ˆ vv w " ˆ Š }Š su ˆ #s# C~< Ls#wv8~ #t w< Ls# L} ÿyî ~ #s áõyo Ááv  œ C L ßVĪ \ÅÜÆ Â Ç â âžåu L šyœ\ Ÿ y Ç ˆ CÄ ÃŸYÄx Öw #Î ˆ ž ÌÌn x ~<t ŠÜn«< ² nc ±Yx»~vVÎ ~< Õ?«Í Í «Vo n o?óôovzawcõyx ovè wî ÃwÎ{x~<v)ègoV { LÎ } L CoÝG v Ls# ž~ LsuÞ Î L a ÖVsu~< Ls#wv¹ ˆ Ls# Ê Ãw< Ê~Š Š Š Š s#v t ˆ Š } Š s# ˆ #s C~ Ls#w vn~ #t w< Ls L} ÿyî ~ #s áõyo Ááv  œ C L L < ßVĪf \ÅÜÇ âcâéâ Ç Ÿ š œ Ÿ šy Ÿ åž c ŸCÅ œù Ÿ à ŸÇ f CÄY  œ C ªLªL ßVÄx ~t Š nc±c²v «ÍVx{ L àþ Ê«Í Í «Vo n opqoêrgs#t v w v syxaraoqz wy } s#v syxž~v z oê V w s#t v wo Ó Lw ÊÓ ~Š Î Ls#v t Lw< wv Š su ˆ #s# C Š Î Ã~ Š oé c G š œ) Žœ\ V y ªa؃ œ x{nc± «ūn ̱ ²n± x{» Î v fnc Vo «<Ío» orgw } v{x ÓÔo çg u~<v w x ~<v¹àoó?~<v wy }~Vo¼ C~ ~v L Š LÖVs#v tš s# ˆ #s C~ Ls#w v{o Ááv  œ Ù êÿväª \ÅžÆÇ< G ÉÈÊ ÂcË x ~<t Š n nc³c² n««yxi¼aî t Î Š\ ÜnC o «Yn o¹zoüc Lø~ ˆ ~v àóôo<ûg~t wyw Lv oy Y ~< L w< ê L} ~ qs#vàš } ~ g )~ L } s#v t o< { } v s# C~< z w< \rq Y LnC < ᫱yx L }V v s#ö LŠ s ÕYx nc o ««Vo¹zoüÉ Lø~ ˆ oy V}~ )~< L } s#v t Vsu ˆs# u~< Ls Õˆ ˆ C~Š Î L ŠŽ~<v)~ #tw Ls L} ˆŠ o ƒ } v s# C~ z w< \rq Y á«í ÍVn Í Vx L }V v s#ö LŠ s ÕYx «Í ÍVn o «< o¼oƒ» w } v Š wv{ogæ ß ÙyÇ f CÄY ª g ÈÊ œ ª Ÿ š šy Ÿ Å œ Ù Æ VœÃÅ fðô š Y ßVÄoqpc} À L} Š s#š x zawþ w Ls# ŠÊÁáv Š\ Ls LÎ L xrž~< Lv t s# Ó # #w v v s#ö LŠ s áõyxp"s LŠ Þ Î Lt}{x pi¼x ¼aÎ t Î Š\ Ün ±Vo
205 ! #"%$'& )(#*,+-!(,$/.0&213$'465 $87'9;:<< \ > ¼e³ ;ˆ J«ª ³J H ; µ} W 8 Ó«b'? ašd / / Ó J 8 ;³J " / Ó«Ó¾ À «< o?¼ oqýgî í s# oµó Š } Š\ßg Ú {ÀGÕv~ ˆs# w s#vy Lw< w Õt w v ~ ˆ Š }Ô s#š\ ~v )~v ~ #s# C~< Ls#w v Š oiç âcâcâäã{ êª å #æ <šy ŸÔ Ÿ c a Vš œú gœ Y ªLxi± \nc ݱC²YÌnx{«Í ÍVn o «³Yo¹ ºo z oqè ~<v øv #s#v ~vüoq¼ øv )~v{oé¼ê ~< ~ LsuÖ t Lsu Ãw w Õ} CV ~ aös#š s#þ s# #s áõ suv wþ Š ~ oc c a Vš œv < œ Ÿ å x n \n ³ÌC²VÌÍx è Þ LÎ~ ÕNn o «ÌVo¹ ºo z o{è ~v ø #s#v{xƒóôo{û ~v ø ~<v }~< # usyxƒ~v Œrao ò ~< ~ ÕV~<v~<Š\ßQ~ ˆsyoqÝG w ˆ Lsu à w ˆ Î Ls#v t¹~v Î v s Ãw< L Et Lsu¹ L } v sþÿyî o" c G Vš œž Y ªL uäÿ xi«yn ± ncí²ý«<íx"nc ±Vo «±Yo?» o è w # ÕYx ¼oüg~<vNÀž~?x o è s#v Cx ~<v8» oiûaî t } Š oq c a Vš œ Žœ\ V ª  œ êÿ åu f <Ÿ  œ šy y o¼ê s#š wv Œ Š # ÕYxŠ w v Ü C s Ls#w v x{n Ío «Vo?pqoûa øþ CoVÝG v Ls# w vvö é w Õt wvúš ~vˆ wvö LŠ s#w vú~v à #s# s#v t oyávœ Žœ V ª àª Ç x ~<t Ša ²V Ìoi¼Q C~ ˆs# Üpµ L Š Š x nc Ío «Vo?pqo rgs#t v wv syxraoówvy ~v syx rao<zawy } suv syxz o w s#t v w x~v àóôo q~ Ls#v syopµ L Š LÖVs#v tg~< Ls#Þ Î L Ö~ #Î ŠÚwv Š s# ˆ #s ˆ Š } ŠˆÞYÕ L ŠL~< ˆ #s#v t ~<su L év LÎ L Š o{ ã êL å c < G Vš œ x nc³ \ncí ³VnC C²³< x"n Vo ÍVo?¼ o rgsþ~< ˆ ~< us#v s x pqo rgs#t v wv syxraoówvy ~v syx ~v Úz o w s#tv w o ÓÎ # Ls L Š w #Î Ls#w v s# )~< Ls#wv Þ ~Š C8w v8t #wþ~ " Lw< Co{ ã{ êª åž c < G Vš œžæ œ ßYÄY œç Ÿ š œ Ÿ šy y Ÿ å x"n ³ ««²V«< Ìx n ±Yo
206 MULTIRESOLUTION ANALYSIS FOR MESHES WITH APPEARANCE ATTRIBUTES Michaël Roy 1, Sebti Foufou 1, Andreas Koschan 2, Frédéric Truchetet 1, and Mongi Abidi 2 1 Le2i - CNRS - Université de Bourgogne - 12 rue de la fonderie Le Creusot - France 2 IRIS Lab - University of Tennessee - Knoxville, TN USA [email protected] ABSTRACT We present a new multiresolution analysis framework for irregular meshes with attributes based on the lifting scheme. We introduce a surface prediction operator to compute the detail coefficients for the geometry and the attributes of the model. Attribute analysis gives appearance information to complete the geometrical analysis of the model. A set of experimental results are given to show the efficiency of our framework. We present two applications to adaptive visualization and denoising. 1. INTRODUCTION 3D scanners usually produce huge data sets containing geometrical and appearance attributes. Geometrical attributes describe shape and dimensions of the object and include data relative to a point set on the object surface. Appearance attributes describe object surface properties such as colors, texture coordinates, etc. Multiresolution analysis is an efficient framework to represent a data set at different levels of detail, and give frequency information. Many papers present the multiresolution analysis and the wavelet transform in computer graphics domain. Here we refer to [1] as an introduction. Multiresolution analysis gives rise to many applications such as filtering, denoising, compression, editing, etc. The goal of this work is to build a multiresolution mesh analysis managing both geometric and appearance attributes. Attribute management is very important especially for terrain models where the attributes are linked to the nature of the terrain. In some cases, attributes are more important than the terrain itself. The main contribution of this work is the use of the lifting scheme for the multiresolution analysis of irregular meshes with attributes, and the application of the proposed multiresolution framework to detail coefficient dependent visualization of meshes. In section 2, we review multiresolution mesh analysis schemes proposed in the literature. In section 3, we detail the multiresolution analysis framework. Section 4 presents some experimental results. Conclusion and ideas for future extensions are given in section RELATED WORK Lounsbery [2] made the connection between wavelets and subdivision to define different levels of resolution. This technique makes use of the theory of multiresolution analysis and of the subdivision rules to construct a multiresolution surface representation for surfaces with subdivision connectivity. Zorin et al. [3] proposed a combination of subdivision and smoothing algorithms to construct a set of algorithms for interactive multiresolution editing of complex meshes with arbitrary topology. Bonneau [4] introduced the concept of multiresolution analysis over non-nested spaces, which are generated by the so-called BLaC-wavelets. This concept was then used to contruct a multiresolution analysis over irregular meshes. Kobbelt et al. [5] proposed a multiresolution editing tool for irregular meshes using the discrete fairing method and the progressive mesh algorithm [6] to build the coarse resolution mesh, and a smoothing operator to estimate the high resolution mesh. Guskov et al. [7] presented a series of non-uniform signal processing algorithms designed for irregular triangulation using a smoothing algorithm combined with existing hierarchical methods. Valette et al. [8] presented a new wavelet-based multiresolution analysis of irregular surface meshes based on Lounsbery decomposition and a new irregular subdivision scheme. The method uses a complex simplification algorithm in order to define surface patches suitable for the irregular subdivision. The proposed methods in the literature do not handle irregular meshes or appearance attributes while the multiresolution framework proposed in this paper handles both irregular meshes and appearance attributes. 3. MULTIRESOLUTION ANALYSIS Multiresolution analysis provides a framework that rigorously defines various approximations and fast analysis algorithms. This framework contructs iteratively approximation and detail parts forming successive levels of resolution of the original data set. The details capture the local frequency content of the data set, and are used to exactly reconstruct the original data set.
207 Classical multiresolution analysis frameworks (such as wavelet transform) cannot be applied to irregular meshes. Sweldens [9] proposed the lifting scheme that allows the multiresolution analysis of irregularly sampled data. We propose a multiresolution analysis framework suitable for triangular irregular meshes with appearance attributes. This framework decomposes a mesh in a series of levels of detail, and computes detail coefficients at each level. M k even k 1 M k 1 Split Predict Predict Merge odd k 1 D k 1 even k 1 odd k 1 Fig. 1. Multiresolution mesh analysis framework. The multiresolution mesh analysis framework is presented in Fig. 1. The decomposition is represented on the left part of the figure. Starting from a fine mesh M k, two groups of vertices (odds and evens) are defined by the split operator. The odd vertices are designated to be removed, and the even vertices remain to create the coarse mesh M k 1 that approximates the inital mesh. The odd vertices are predicted using the predict operator, and then substracted to the original odd vertices to give the detail coefficients D k 1. The last step is the removal of the odd vertices from the initial mesh using a downsampling operator. The reconstruction is shown on the right part of the figure and is simply the inverse scheme. Starting from a coarse mesh M k 1, the odd vertices are re-inserted using a upsampling operator. The odd vertices are predicted using the predict operator, and then exactly reconstructed by adding the detail coefficients D k 1. In the following paragraphs, we detail the different steps required to build the multiresolution mesh analysis framework Downsampling and Upsampling We employ the Progressive Mesh (PM) framework [6] to build downsampling and upsampling operators. In the PM setting an edge collapse provides the atomic downsampling step, and a vertex split becomes the atomic upsampling step. For the downsampling, we use the half-edge collapse operation, which does not introduce a new vertex position but rather subsamples the original mesh. Thus, it enables the contruction of nested hierarchies on unstructured meshes that can facilitate further applications. The downsampling operator removes about 33% of the vertices per level Split and Merge The split operator takes a given mesh and selects the even and the odd vertices. The later are designated to be removed M k using half-edge collapse operations. In order to do global downsampling and upsampling, the odd vertices are defined as a set of independent vertices (not directly connected by an edge). Different methods can be used to select the odd vertices, and thus the half-edge collapses to perform. Our algorithm performs an incremental selection by selecting one odd vertex and locking all adjacent vertices (even vertices). The selection ends when no more vertices can be selected. By selecting an odd vertex in order to remove it, we also select the even vertex it will merge with. In other words, we directly select a half-edge collapse. The Quadric Error Metric from Garland et al. [10] is used as a criterion for the selection of the odd vertices because it minimizes the length of the details and retains the visual appearance of the simplified mesh. Since the upsampling is completly done with vertex split operations, the merge operator is not required Predict The predict operator estimates the odd vertices using the even vertices. We propose a prediction operator using the local surface geometry. Meshes coming from real world scenes usually contain appearance attributes such as colors, texture coordinates, temperature, radiation, etc. Also, we consider the vertex position and the normal vector as geometric attributes. Attributes, including geometry, color, texture, are considered as vectors in Euclidian space defined on each vertex of the mesh. So a vertex is represented as an array composed of m attribute vectors (a 1,..., a m ) where each a n is an attribute vector. We define an application f n (v) = a n that gives the attribute vector a n of the attribute n associated with the vertex v. Our predicition operator estimates each odd vertex vi k from the mesh M k as a set of attributes f n (vi k ) given by : f n (vi k ) = wi,j k.f n(vj k ). (1) j V1 k(i) V1 k (i) represents the one-ring neighborhood of the vertex vi k. The w i,j are weights of the relaxation operator minimizing the curvature energy of an edge e i,j [11] : w k i,j = cot α i,j + cot β i,j l V k1 (i) cot α i,l + cot β i,l, (2) where α i,j and β i,j are the angles opposite to the edge e i,j. Predicted attributes are relaxed in terms of curvature energy of the analysed surface. This relaxation operator guaranties smooth variation of the attributes. This method also assumes that the attributes are linked to the surface. The w i,j coefficients are computed during the decomposition, and need to be stored to be re-used for the prediction step in the reconstruction.
208 4. EXPERIMENTAL RESULTS Figure 2(a) shows the model "Swirl" containing color attributes. Pseudo-colored results of geometric (Fig. 2(b)), normal vector (Fig. 2(c)) and color (Fig. 2(d)) analyses are shown. In these figures, the color labels represent the detail magnitude (blue corresponds to the minimum magnitude, green to the medium magnitude and red to the maximum magnitude). We see that the color details are non zero only around color borders of the original model. The color analysis highlights important color features while the geometric analysis gives information about the geometrical features. Our method uses the PM framework, which has proved its efficiency for view-dependent visualization of meshes using visiblity criteria. We improve this selection using the detail coefficients of the analysis. If the detail coefficient length of a vertex is below a given threshold, the vertex is declared as irrelevant and thus is removed from the mesh. Figure 3(a) shows a model of the earth with color attributes from the ETOPO5 data set. Figure 3(b) shows the same model simplified using our method, and the viewport in Fig. 3(c). The detail coefficients of the color attributes are thresholded to remove irrelevant vertices. Detail dependent simplification insures the preservation of attribute features (e.g. the coastlines). The advantage of our method is that it allows more advanced visualization by computing the relevance of the vertices using the detail coefficients. Combinations of several attributes can be performed to improve the result of the visualization. We present a second application of the proposed multiresolution framework to surface denoising using the soft thresholding method [12]. The multiresolution detail coefficients are shrinked according to a given threshold, and the model is reconstructed using the modified coefficients. Figure 4 shows results of denoising the head model acquired with a laser range scanner. This model was denoised using the soft thresholding on the four finest levels of details (Figure 4(b)). Notice that the model is nicely smoothed while keeping important geometrical features such as sharp edges. Fig. 4(c) shows the original model with colors, and Fig. 4(d) shows the model after the geometric and color denoising using our method. We see that color denoising is efficient and remove some speckles created by the acquisition noise. The soft thresholding is a fast, efficient denoising method and gives good results. Moreover, our method is a non-iterative method, and so it requires only one pass over the model. 5. CONCLUSION AND FUTURE WORK We have presented a new multiresolution analysis for irregular meshes based on the lifting scheme. Our framework manages attributes such as color, normals, etc. Our method is easy to implement and results show the efficiency of the analysis over the attributes, which allows more complete multiresolution analysis. Geometric attribute analysis gives information allowing more efficient surface processing. The next step in this work will focus on feature detection using detail orientation in order to build an anisotropic denoising algorithms for scanned models. 6. ACKNOWLEDGEMENTS This work was supported by the University Research Program in Robotics under grant DOE-DE-FG02-86NE37968, by the DOD/RDECOM/NAC/ARC Program, R , and by FAA/NSSA Program, R / REFERENCES [1] E. J. Stollnitz, T. D. DeRose, and D. H. Salesin, Wavelets for Computer Graphics: Theory and Applications, Morgan Kaufmann, [2] M. Lounsbery, T. DeRose, and J. Warren, Multiresolution analysis for surfaces of arbitrary topological type, ACM Transactions on Graphics, vol. 16, no. 1, pp , [3] D. Zorin, P. Schröder, and W. Sweldens, Interactive multiresolution mesh editing, in Proceedings of ACM SIG- GRAPH, 1997, pp [4] G.-P. Bonneau, Multiresolution analysis on irregular surface meshes, IEEE Transactions on Visualization and Computer Graphics, vol. 4, no. 4, pp , [5] L. Kobbelt, S. Campagna, J. Vorsatz, and H.-P. Seidel, Interactive multi-resolution modeling on arbitrary meshes, in Proceedings of ACM SIGGRAPH, 1998, pp [6] H. Hoppe, Progressive meshes, in Proceedings of ACM SIGGRAPH, 1996, pp [7] I. Guskov, W. Sweldens, and P. Schröder, Multiresolution signal processing for meshes, in Proceedings of ACM SIG- GRAPH, 1999, pp [8] S. Valette and R. Prost, Wavelet-based multiresolution analysis of irregular surface meshes, IEEE Transactions on Visualization and Computer Graphics, vol. 10, no. 2, pp , [9] W. Sweldens, The lifting scheme: A construction of second generation wavelets, SIAM Journal on Mathematical Analysis, vol. 29, no. 2, pp , [10] M. Garland and P. Heckbert, Surface simplification using quadric error metrics, in Proceedings of ACM SIGGRAPH, 1997, pp [11] M. Meyer, M. Desbrun, P. Schröder, and A.H. Barr, Discrete differential-geometry operators for triangulated 2- manifolds, in Proceedings of Visualization and Mathematics, [12] D. Donoho, De-noising by soft-thresholding, IEEE Transactions on Information Theory, vol. 41, no. 3, pp , 1995.
209 (a) Initial model (b) Geometric analysis (c) Normal vector analysis (d) Color analysis Fig. 2. Model "Swirl" (18,000 faces). Geometric and normal vector analysis (b)-(c) give information about the geometry of the surface. Color analysis (d) gives information about the appearance of the model. Note that detail coefficients are computed for odd and even vertices to show the efficiency of the predict operator. (a) Original model (327,680 faces) (b) Simplified model (62,632 faces) (c) Global view Fig. 3. Adaptive visualization according to the color detail coefficients. Original model is shown in (a), and simplified model in (b). The viewport used in the previous figures is shown in (c). Relevant vertices are selected by thresholding the color detail coefficients. The model is a sphere with color representing the elevation of the earth from the ETOPO5 data set. (a) (b) (c) (d) Fig. 4. Denoising of the head model. (a) Original model. (b) Geometric denoising. (c) Original model with colors. (d) Geometric and color denoising. Denoising is achieved by shrinking the detail coefficients according to a given threshold. Note that this denoising method can be applied to any attributes of the mesh.
210 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. X, NO. X, XXX Boolean Operations with Implicit and Parametric Representation of Primitives using R-Functions Yohan Fougerolle 1,2, Andrei Gribok 1, Sebti Foufou 2, Frédéric Truchetet 2, and Mongi A. Abidi 1 Abstract We present a new and efficient algorithm to accurately polygonize an implicit surface generated by multiple Boolean operations with globally deformed primitives. Our algorithm is special in the sense that it can be applied to objects with both an implicit and a parametric representation, such as superquadrics, supershapes, and Dupin cyclides. The input is a Constructive Solid Geometry tree (CSG tree) that contains the Boolean operations, the parameters of the primitives, and the global deformations. At each node of the CSG tree, the implicit formulations of the subtrees are used to quickly determine the parts to be transmitted to the parent node while the primitives parametric definition are used to refine an intermediary mesh around the intersection curves. The output is both an implicit equation and a mesh representing its solution. For the resulting object, an implicit equation with guaranteed differential properties is obtained by simple combinations of the primitives implicit equations using R-functions. Depending on the chosen R-function, this equation is continuous and can be differentiable everywhere. The primitives parametric representations are used to directly polygonize the resulting surface by generating vertices that belong exactly to the zero-set of the resulting implicit equation. The proposed approach has many potential applications ranging from mechanical engineering to shape recognition and data compression. Examples of complex objects are presented and commented to show the potential of our approach for shape modeling. Index Terms Computational Geometry and Object Modeling, Constructive solid geometry, Object representation, Volume visualization, R-functions, Superquadrics, Supershapes, Dupin cyclides. I. INTRODUCTION SOLID modeling deals with the representation, analysis, and combination of various shapes to increase the ease of use and the accuracy of algorithms needed for the representation of complex objects. Developments in these representations have become necessary for technological improvements and are widely used in many applications including the automotive and airplane industries, 1 IRIS Lab.,University of Tennessee, 334 Ferris Hall, Knoxville, TN, USA 2 Le2i - CNRS, Université de Bourgogne, 12 rue de la fonderie, Le Creusot, FRANCE [email protected], [email protected] architecture, medicine, and even the advertising sector. In solid modeling, two complementary approaches can be considered, the first dealing with the primitives and their properties, and the second studying the methods to efficiently combine them. This paper addresses both approaches by considering primitives with both parametric and implicit representations and their combination through Boolean operations using R-functions. The contributions of this paper are An extension of the literature in solid modeling by the combination of recent and versatile primitives such as supershapes using R-functions. An algorithm to polygonize an implicit surface generated by multiple Boolean operations with globally deformed primitives characterized by its low time complexity and its accuracy. Related Work Two methods for surface representation can be distinguished, namely implicit and parametric representations. The most widely used parametric surfaces are based on Bernstein polynomials and B-spline basis functions [1]. Parametric surfaces also include subdivision surfaces, in which an initial coarse mesh is refined to converge to a limit surface that can be represented by set of eigenbasis functions everywhere [2]. One of the most useful characteristics of the parametric representations is the direct computation of vertices, normals, and higher order derivatives. Due to the useful geometrical relation between the surface and its control mesh, shape design using parametric surfaces is easy, natural, and has become a quasi standard modeling set in CAD systems. Unfortunately, parametric representations lack a characteristic function to evaluate if a point is inside or outside an object. Boolean operations on NURBS [3] or subdivision surfaces [4] are therefore slower and more complicated to perform due to "face-to-face" intersection algorithms and additional pre-processing steps. Wellsuited for solid modeling, the implicit representation uses a single-valued function of multiple variables, where the surface is the locus of points for which the function is constant. There exist many types of implicit representations ranging from skeletal based approaches, distance
211 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. X, NO. X, XXX functions, and algebraic surfaces to partial differential equations. Implicit methods provide simple solutions for Boolean operations and blending [5] [7]. Unfortunately, the resulting surface may be difficult to compute exactly and, most of the time, only an approximation of the surface is available when using algorithms such as Marching cubes [8], [9]. The two major approaches used in solid modeling are constructive solid geometry (CSG) and boundary representation (B-Rep). In CSG, solids are represented as a Boolean expression of solid objects of a simpler structure. Both the surface and the interior of an object are implicitly defined. A B-Rep only describes the oriented surface of a solid as a data structure composed of vertices, edges, and faces. Strengths and weaknesses of both methods have been presented and discussed in [10] [15]. Recently, Rappoport et al. proposed a method for interactive display of CSG models using widely available graphics hardware [16]. Wyvill et al. proposed the BlobTree, a structure to combine Boolean operations, deformations, and skeletal implicit surface system (Blinn Objects) [5]. Biermann et al. proposed a method to model free-form solids using subdivision surfaces [4]. Recent methods, known as hybrid methods, try to combine different solid modeling representations or consider one representation applied to different types of primitives. For example, Adzhiev et al. [17] combine volume representation by voxels and real continuous functions, whereas Allegre et al. [18] apply the CSG framework to skeletal implicit functions and polygonal meshes. Outline The rest of the paper is organized as follows. The second section is dedicated to R-functions and their properties. The third section deals with the primitives considered in this paper. Our algorithm is presented in the fourth section. The fifth section presents some experimental results and a discussion about our assumptions and hypothesis. The last section presents our conclusions and future work. II. R-FUNCTIONS AND THEIR PROPERTIES The theory of R-functions was developed by V. L. Rvachev in the 60 s [19], a concise tutorial in English has been written by Shapiro [20]. An R-function is a realvalued function characterized by some property that is completely determined by the corresponding property of its arguments (such as sign, membership in [0,1], etc). As a special case, some real-valued functions of real variables have the property that their sign is completely determined by the signs of their arguments. For example, the sign of the function f(x) = xy is completely determined by the sign of its arguments, as opposed to the function f(x) = sin(xy), where not only the sign but also the magnitude of the arguments influences the sign of the function. We are specifically interested in applications of R- functions theory to the inverse problem of analytical geometry. By solving the problem, we mean that an arbitrary closed shape can be described by a single analytical equation f = 0 or inequality f 0, which would be satisfied only on the borders or in the interior of the object, respectively. Additionally, the resulting function would be differentiable a given number of times. In [21], [22], Rvachev showed that combining Boolean algebra and more generally n-values algebra with a set of functions which is slightly richer than polynomials, the inverse problem of analytic geometry can be solved in general. To introduce R-functions let us start with a Venn diagram presented in Fig. 1(a). (a) Fig. 1. An example of object and Boolean quadrants. a) Venn diagram. b) Boolean quadrants. The shaded area D can be represented by the following Boolean function performed for each point of disks C O, C A, and C B centered, respectively, at O, A, and B. (b) D = C O (C A C B ). (1) We can introduce the following predicate to map a real variable x into a Boolean variable depending on its sign. S (x) = 1 (1 + sign (x)), x 0 (2) 2 Since we are considering two-valued logic, zero belongs exclusively to one or the other interval. We refer the reader to section 1.6 in [20] for discussions about the zero case and the potential partitions of the real axis. Let the inequalities ω O (x, y) 0, ω A (x, y) 0, and ω B (x, y) 0 define the unit disks centered at O, A, and B, respectively. Substituting these inequalities into equation (1) using predicate (2), we obtain the predicate equation F (S(ω O (x, y)), S(ω A (x, y)), S(ω B (x, y))) = 1, (3a)
212 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. X, NO. X, XXX or, on our example, S(ω O (x, y)) (S(ω A (x, y)) S(ω B (x, y))) = 1, (3b) where F and S are Boolean functions. This predicate equation defines the same area as (1). Using predicate (2) we can now introduce R-functions. Every nondegenerative point on a plane having coordinates (x, y) can be mapped into a set of Boolean variables {X, Y } by X = S(x), Y = S(y) Notice that there are four different combinations of two Boolean variables (for couples (0,0), (0,1), (1,0), and (1,1)) as shown in Fig. 1(b). It means that each real valued point on the plane can be mapped into one of these combinations of Boolean variables. A function f(x, y) which has a constant sign in each of the quadrants is called an R-function. That is, for an R-function S(f(x, y)) = F = const, where F is a Boolean variable. Fig. 1(b) represents the different cases defining a Boolean variable F over the real plane, and illustrates the sign of the R-function is defined by the sign of its arguments. So we can write S(f(x, y)) = F (S(x), S(y)). The link with solid modeling appears more clearly when considering that every solid can be represented by a realvalued function. The zero-set of this function usually represents the surface of the object and positive values describe its interior (or its exterior, depending on the conventions). In other words, a function f may be used as a characteristic function for a point set to distinguish if a point P belongs to the set or not, simply by considering the sign of f(p ). As a binary variable, the sign can be treated as a Boolean variable. The theory of R-functions [22] provides an algorithmic method for constructing functions that exactly represent virtually any geometric shape in engineering. Just as any logical function can be written using only the three operations,, and, every R-function may be written as a composition of the three corresponding elementary R- functions. Differential properties of the three most common branches of functions R α, R 0 m and R p are studied in [23]. For conciseness, in the following paragraphs we will denote R-conjunction and R-disjunction with the same notation (symbol ±), with R-conjunction obtained by considering and R-disjunction by considering +. R-negation is simply the opposite sign function x x. A. Properties of R α R α : 1 ( x + y ± ) x 1 + α 2 + y 2 2αxy where α(f 1, f 2 ) is an arbitrary symmetric function such that 1 < α(f 1, f 2 ) 1. Setting α to 1 leads to the simplest and more popular R-functions: R-conjunction min(x, y) and R-disjunction max(x, y). Unfortunately, these functions are not differentiable along the line x = y. (4) B. R m 0 and R p : an improvement for R α differential drawbacks To solve the loss of differentiability along the line x = y, two other functions R m 0 and R p are proposed. R m 0 : (x + y ± x 2 + y 2 ) (x 2 + y 2) m 2 (5) where m is any even positive integer. Shapiro shows in [23] that R0 m is m times differentiable everywhere, including the corner point x = y = 0, where partial derivatives are identically zero. Unfortunately, R0 m is not normalized. Normalization is achieved by the R p - function. R p -function is differentiable everywhere except at the corner point and is defined as R p : x + y ± (x p + y p ) 1 p (6) for any even positive integer p. An illustration of implicit function representing multiple Boolean operations using R p -function is shown in Fig. 2. The color coding corresponds to the interior of the objects, and the gray scale to the outside. Fig. 2. Boolean operations using R p-functions, p = 2
213 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. X, NO. X, XXX C. N-ary R-functions R α, R m 0, and R p functions are defined to handle two arguments. Rvachev proposed the N-ary R-conjunction and R-disjunction to handle more than two arguments. We refer to these functions as "chain" functions. m is an integer and corresponds to the parameter used for R m functions. i=n (m) i=1 i=n (m) i=1 x i x i n n ( 1) m x m i (x i x i ) + x m i (x i + x i ). i=1 n i=1 x m i (x i + x i ) i=1 (7a) n x m i ( 1) m ( x i x i ). i=1 III. PRIMITIVES AND GLOBAL DEFORMATIONS (7b) The earliest primitives used by solid modelers (cube, cylinder, sphere, etc) can be represented by superquadrics, introduced by H. Barr [24], [25]. Superquadrics have both a parametric and an implicit representation that are respectively defined by x(θ, φ) a 1 cos ε2 θcos ε1 φ y(θ, φ) = a 2 sin ε2 θcos ε1 φ, and (8) z(θ, φ) a 3 sin ε1 φ F (x, y, z) ( ( x a 1 ) 2 ( ) 2 ) ε 2 ε ε 2 y ε 1 ( ) 2 2 z ε = 1. a 2 a 3 (9) Superquadrics have been used as a quantitative model for various applications, both in computer graphics and in computer vision [26] [28]. Much effort has been put into increasing the degrees of freedom of superquadrics: Löffelmann et al. deal with parameterization [29], De- Carlo et al. blend multiple models [30], and free form deformations are considered by Bardinet et al. [31], [32]. Superquadrics are a special case of supershapes, recently presented by Gielis [33], [34]. Compared to the superquadrics formulation, a term mφ 4, m R+, is introduced to allow a rational or irrational number of symmetry. Three shape coefficients n 1, n 2, and n 3 are considered. By setting n 2 n 3, asymmetrical shapes can be generated. In polar coordinates, the radius r of a superpolygon is defined by r (φ) = 1 ( ) n 1 1 a cos mφ n ( ), (10) 1 b sin mφ n 3 with a, b, and n i R +, and m R +. Parameters a and b control the scale, m represents the number of symmetry axis and can also be seen as the number of 4 sectors in which the plane is folded. Coefficients n 1, n 2, and n 3 control the shape. Since we consider nonself-intersecting surfaces, m is considered as a natural number. Regular polygons can be generated by setting the shape coefficients to specific values as shown in [34]. For m = 4 and n 2 = n 3, the original superellipses are obtained. Extension to 3D is performed by the spherical product of two superpolygons as done for superquadrics in [25]. We note r 1 and r 2 the radii of the first and second superpolygons respectively. Parameters of the second superpolygon are noted in capital letters (M for the number of symmetry, and N 1, N 2, N 3 for the shape coefficients). To simplify the notation and stay close to the superquadric representation, we consider unit supershapes (a = b = 1) that are scaled among the 3 axis (x, y, z). A parametric version can be written as x(θ, φ) r 1 (θ)r 2 (φ) cos θ cos φ y(θ, φ) = r 1 (θ)r 2 (φ) sin θ cos φ, (11) z(θ, φ) r 2 (φ) sin φ with π θ < π and π 2 φ π 2. In [34], two distance functions are proposed as an implicit function for supershapes. An equivalent implicit function can be deduced from equation (11). F (x, y, z) = 1 x2 +y 2 +r 2 1 (θ)z2 r 2 1 (θ)r2 2 (φ). (12) Notice that angles θ and φ are not the common spherical angles the scale factor on the z coordinate should be r 1 r 2 instead of r 2 for both formulations to be equivalent. Let us consider P i (X, Y, Z) R 3 and p i (x, y, z) = tp i, with t > 0, that is the intersection between the half line ]O, P i ) and the surface of the supershape. It can be seen from (11), that Y X = y x = tan θ, which leads to θ. Once θ is known, radius r 1 can be computed, then the angle φ can be deduced using (11) and the coordinates of P i. Fig. 3(b) shows the intensity of the scalar field for a plane z = const. Positive values define the inside of the object and range from blue (F = 0 + ) to red (F is maximum). The outside of the object is defined by negative values and is represented in grey scale (white = 0, black = minimum). Examples of supershapes are shown in Fig. 4. To increase the range of shapes that can be modelled, we also consider hierarchical deformations as proposed by Wyvill in [5]. Additionnaly, other primitives can be used if they have both a parametric and an implicit representation, such as supertoroids or Dupin cyclides as illustrated in Fig. 6.
214 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. X, NO. X, XXX intersection curves before merging the frontiers to build the resulting closed mesh within an ε-accuracy. The complete process applied to each node of the tree can be represented by the flowchart in Fig. 5. (a) (b) Fig. 3. Supershapes. a) Geometric interpretation. b) Intensity of the scalar field generated for a planar section z=const. Fig. 5. Node evaluation flowchart (a) (b) (c) Fig. 4. Example of 3D supershapes with m a natural number. a) m = M = 4. b) m = 5, M = 4. c) m = M = 8. IV. ALGORITHM The key idea of our algorithm is to combine simple and fast Boolean operations with direct and exact evaluation of the surface of the resulting object. This is the reason why we consider primitives with both implicit and parametric representations and Boolean operations using R-functions. Instead of using a single complex parametric surface, we consider multiple Boolean operations between globally deformed primitives to represent solids of arbitrary complexity. The input of the algorithm is a CSG tree of supershapes. Each node is defined by a Boolean operation and a negation flag to invert the orientation of the surface. Each node also contains the parameters of the deformations, the position, and the orientation of the primitive. The leaves of the tree contain the primitives parameters. At the beginning of the process, the vertices and faces of the primitives are stored in the leaves of the CSG tree. At the end of the process, the resulting 3D mesh, which is a subset of the union of all the oriented primitive surfaces, is stored at the root. Applied at each intermediate node, the algorithm is composed of two main operations, described in the following subsections. In the first subsection, a fast direct solution is proposed to evaluate the intersection between two or more subtrees to determine the parts of the subtrees to be kept. In the second subsection, we present our solution to split intersecting faces along A. Intersection evaluation Since we are dealing with parametric objects, we can directly generate vertices lying exactly on the surface and faces to efficiently polygonize the surface of every primitive. Instead of considering a polygon/polygon intersection approach, we use the R-function associated with every subtree to flag the vertices: for each vertex of each subtree, the sign of the implicit function (implicit function if the subtree is a supershape or resulting R- function if the subtree is not a single primitive) determines if a vertex is lying in, on, or outside the other subobjects. Therefore, the time complexity of this operation becomes linear in the number of vertices to be evaluated because a single function is called for each vertex. A simple example is shown with two Dupin cyclides in Fig. 6(a). In deep blue and deep red are the 3D points that are detected "inside" the other subtree. Faces where the sign of the implicit function is constant are completely inside or outside the object and are kept depending on the Boolean operation performed. For example, Fig. 6(b) shows the faces that are kept for the Boolean union between two Dupin cyclides. (a) Fig. 6. Union of two Dupin Cyclides. Flagged vertices and faces kept depend on the Boolean operation a) Detection of vertices belonging to the intersection. b) Faces belonging to the union, missing faces are the intersecting faces. (b)
215 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. X, NO. X, XXX The only assumption made to isolate the intersecting faces is that an edge is crossed only once by one intersection curve. If this hypothesis is not verified, the parametric space of the primitive is locally subdivided to refine the mesh as much as desired, as shown in [4]. In theory, the only way to know if such a condition is verified is to solve the equation T ree left = T ree right, which is not the purpose. We can afford additional vertex evaluations because the time complexity for a vertex inside/outside test is constant. At the end of this operation, the faces and vertices of the resulting object are known except the faces crossed by intersection curves that are treated next. B. Splitting and Merging In this section we discuss the last operations needed to construct the mesh representing the surface created by a Boolean operation between two subtrees. The first step is to split faces that are crossed by the intersection curves. The second operation consists in merging the split faces from the two subtrees to close the final mesh. As mentioned before, we consider that an intersecting face is crossed only once by one intersection curve as illustrated in Fig. 7(a). This means that if we consider an arbitrary edge crossed by an intersection curve, the signs of the implicit function at its extremities are opposite. In this case, the implicit R-function applied to an edge is continuous and monotonous, and therefore provides a zero-set point as shown in Fig. 7(b). A dichotomy approach is used on the parametric domain of the primitive to approximate this 3D point. As a vertex generated by a parametric primitive, the implicit function F 1 (P ) associated will be zero. This vertex is therefore lying exactly on the resulting surface but is only an approximation of the theoretical intersection point. In practice, we consider F 2 (P ) < ε = 10 6 sufficiently small to quickly obtain accurate intersection points. It is also possible to consider a minimum distance along the gradient because the resulting implicit function can be differentiable everywhere, if R 0 m or R p -functions are used. This last technique is completely independent of the scale of the objects, and makes use of normalization properties of R p -function. For a higher accuracy, intersecting faces can be split by introducing an additional parameter δ that controls the maximum distance between two consecutive vertices along the approximation of the intersection curve. Its role is to fill the gaps in term of sampling or scale that may arise when evaluating important CSG trees with numerous primitives from various scales. Parameter δ is automatically adjusted in function of the smallest edge length of the two objects that are combined to avoid cracks and holes when combining primitives with very different scales or different samplings. Parameter δ is therefore transparent for the user during the execution. In the case of large disparity of scale or sampling, it behaves like a security to preserve a minimum sample density along intersection curves. Fig. 8 presents two results for the difference between two spheres without merging. Fig. 8(a) shows the result with common values used in our experiments, i.e, a minimum sampling for the primitive surfaces of 100x100 faces, ɛ = 10 6, and δ = These values increase the number of faces generated, and therefore the number of faces to be split, but avoid the introduction of degenerated triangles. Fig. 8(b) shows the result using a coarser surface sampling and a larger ɛ = 10 3 without merging. Notice the hole between the two parts due to the larger ɛ and the effect of parameter δ to avoid coarse sampling around the intersection curve on Fig. 8(c). After merging and triangulation update, the final vertices will be within an ε-stripe along the frontier. (a) Fig. 7. Splitting process. a) Sequence of faces crossed by an intersection curve. b) On a parametric segment, the approximating intersection point I + or I depends on the Boolean operation. (b) (a) (b) (c) Fig. 8. Intermediate results of Boolean difference between two spheres. a) Common values. b) If the sampling of the primitive is not fine enough, higher point density around the intersection curve can be obtained by using smaller δ values. c) Hole created by the gap between the primitive frontiers (in black), generated with larger ε. The last operation performed is the merging of the frontiers of the subtrees: vertices along both object
216 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. X, NO. X, XXX frontiers, representing an approximation of intersection curves on each object, are merged to close the resulting mesh. We refer to [4] for a possible technique. In our case, we fuse vertices belonging to the same ε-ball into their center of gravity as shown in the results section. An additional fusion and replacement of identical or close vertices is also performed to reduce the number of faces used and to avoid degenerate triangles or identical points. As a remark, computing directly the R-function at the root of the CSG tree and apply it to the vertices is also possible and has been tested. We apply our algorithm node by node for the following reasons: The simpler is the R-function, the smaller is the computational error. This becomes crucial during intersection curve approximation. It is easier and faster to merge the frontiers of two objects than many frontiers from many objects, especially if these curves are very close: by considering binary trees and working node by node, we avoid other problems about the topology of the object near the merged frontiers. C. Discussion Our main concern for discussion is the definition of the resulting surface. It is commonly considered that the surface represents an iso-value of the implicit function, the zero-set in most of cases. Unfortunately, in some cases, zero values of the resulting R-Function are inside the object. This situation happens when the union of tangent objects is performed as shown in Fig. 9(a). This issue leads to the concept of regularized Boolean operations, introduced in the very beginning of the research on CSG by Voelcker and Requicha. [15]. Therefore, considering the surface only as the zero-set of the function is not sufficient to describe all the cases, and some additional assumptions on the model must be made to avoid ambiguities. Actually, the problem of tangency comes from applying a 2-valued logic when 3-valued logic is required [19], [21], [22]. If there is no technique to solve the equation F = G, where F and G represent the implicit equation of the two considered CSG trees, which represents most of the cases, authors are obliged to use heuristics. We present in this section some concepts used in the literature to avoid this problem and discuss their major advantages and drawbacks. An immediate solution is not only to consider the surface as the function zero-set, but also to assert its sign changes in a given neighborhood. Related to the algorithm, one final step is added to evaluate the R- function on a neighborhood of points. But in practice, evaluating sampled values on small balls enclosing zero (a) Fig. 9. Example of zero values inside the object. a) R-function created by two tangent squares. b) Circular patch added to overlap the zero-set within the object. value points does not guarantee a correct result or solve the problem of zeros inside. Another solution is to consider a blending function as mentioned by Wyvill in [5]. Intuitively, this corresponds to add a quantity of material depending on the distance between the two primitives. This approach is well known, widely used, and is especially useful to generate smooth links between objects. But if this solution solves the problem of zero values inside the object, its drawback is the loss of the parametric domain to generate the solutions for the resulting R-function. Using this approach, the resulting mesh is no longer defined by a subset of the primitive surfaces. In other words, the method to generate the resulting surface must use classical implicit surface meshing techniques such as the marching cubes [8], [9]. This implies that we lose the ability to generate efficiently and exactly points on the surface using the parametric form of the primitives. Nevertheless, in order to provide a more natural and convenient modeling tool and if the theoretical solution of the R-function is not needed, a small intensity blending function can be used during unions to model objects with tangent primitives. The last two solutions come from Rvachev, who considers patches enclosing the zero value domain and therefore performs unions with additional objects. In other words, he eliminates object tangency by using overlapping patches as shown in Fig. 9(b). This solution also solves the inside zero value problem but is not applicable in practice. First, these tangent parts must be defined, which implies to directly solve the equation Object a = Object b, and leads to complicated if not unsolvable equation systems. Then, even if the inside zero values could be efficiently determined, the definition of the patch itself is critical and also leads to complex equation solving problems. The second solution proposed by Rvachev uses a three-valued logic instead of two-valued logic. If f 0 defines a closed area P and f is a continuous function, generally speaking it does (b)
217 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. X, NO. X, XXX not automatically mean that f = 0 defines the boundary of the area P. As shown in [22], this property can only be guaranteed for arbitrary primitives if one uses threevalued logic but this leads to other practical problems and is not as comfortable and natural as Boolean logic. So, in practice and in the context of solid modeling, a slight blending can be used to perform unions of tangent objects if the user is aware of the tangency, but if the zero-set of the function and the definition domain of the solutions are the primary goals, it is to up the user to model properly his CSG tree and to assert that there is no tangency between primitives. In practice, we detect when zero value points are inside the resulting object because the sign of the function must change in a small neighborhood. Fig. 10. FINAL MESH Union 2 Union 1 Object D Union 0 Object C Object A Object B Bend Twist Taper A CSG tree for the propeller model V. RESULTS We present in this section three objects modelled with our algorithm. We first present detailed results for a propeller model, including the main intermediary steps and the values for every parameter. The resulting mesh and the implicit function intensity are presented in Fig. 13. The bolt presented in Fig. 14 is obtained by the composition of five supershapes without deformation. The bolt could also be represented by superquadrics, except that its head that has a hexagonal section would require more superquadrics to be represented. The piston head in Fig. 15 is a more complex object composed by nine supershapes. For each object, we show a possible binary CSG tree, the resulting surface, one or many examples of planar sections to show the intensity of the resulting implicit function, and details on the areas where the frontiers of the primitives have been merged. The CSG tree of the propeller model is composed of 4 supershapes and 3 Boolean operations as shown in Fig. 10. Parameters for supershapes A, B, and C are identical except for the position and orientation in space. The supershape coefficients are presented in table I and parameters of deformations and transformations in table II. Parameters k x, k y are the tapering parameters, k and α correspond to the bending as in [27]. For the twisting, O x and O y are the coordinates of a rotation axis parallel to the z-axis, and ψ the total angle rotation. In the following results, we use R p -functions with p = 2 to obtain an implicit equation for the whole object. We note Ω i intermediate objects and ω i their respective implicit equations. First, we perform Ω 1 the union of supershapes A and B. Ω 1 implicit equation is then defined by ω 1 = A + B + A 2 + B 2 0. The next intermediate object Ω 2 is defined by the union of Ω 1 and supershape C, and its implicit equation ω 2 is ω 2 = C + ω 1 + C 2 + ω Notice that there is no intersection between the 3 supershapes A, B, and C, which avoid split and merge operations during the first two unions. The last union between supershape D and intermediate object Ω 2 is then performed. The equation ω 3, corresponding to the final object Ω 3, is therefore defined by ω 3 = D + ω 2 + D 2 + ω The expanded equation is then ( ω 3 = A + B + C + D + A 2 + B 2 + A + B + A 2 + B 2) 2 + C 2 + ( A + B + C + ( A 2 + B 2 + A + B + 2 A 2 + B 2) 2 + C 2) + D 2 0. The intensity of the scalar field generated by this function can be seen for different planar sections on Figs. 13(b) and 13(c). The color coding represents the intensity of the function over the considered section (from blue for f = 0 + to red for f max ). During the last union, intersections between Ω 3 and D are detected; therefore, intersecting faces must be split and merged to obtain the final result as shown in Fig. 11(a). We point out that in order to build the resulting mesh, R-functions are used simply as characteristic functions which means, in the case of multiple unions, setting m = 0 in Eq.(7) can also be used for simpler computations. As mentionned before, we use an implicit function to evaluate the parts of the primitives to be kept. For each vertex of each primitive, this operation is constant in time and depends on the number of primitives of the CSG tree. For classical methods, at each node, each vertex (13)
218 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. X, NO. X, XXX Propeller Bolt Piston Execution time (s) (a) (b) Fig. 11. Propeller example. a) Intersecting faces detected. b) Zoom on merged frontiers of the final result Face number (thousands) TABLE I SUPERSHAPE PARAMETERS FOR THE PROPELLER MODEL 2D-Supershape 1 2D-Supershape 2 Label m n 1 n 2 n 3 M N 1 N 2 N 3 Object A Object B Object C Object D Execution time (s) (a) Using R-functions Propeller Piston Bolt 500 of each subtree must be evaluated regarding each face of the other subree [35]. The complexity for a Boolean operation between two objects is therefore O(n + m) for all the implicit methods whereas it is O(nm) for classical methods, with n and m represent the number of faces of the object. As an illustration, we measured the time execution to compute the final mesh for three objects. Processing time for splitting and merging is not taken in account in this comparison because it is the same in both cases. Fig.12 shows the results for both methods. The number of faces in absciss represents the sum of all the faces of all the primives. The naive approach we implemented for comparison has no optimization using k-trees or bounding boxes. Notice on Fig. 12(b) that the propeller, that is only composed of four primitives, is the first model to become extremely slow to be computed. There are two main explanations: the propeller is composed of less primitives, so the number of faces and vertices per node is higher than for the other objects. Moreover the number of faces kept at each operation is higher than other models. There is no intersection between supershapes A, B, and C which implies no face is removed during these operations. So, as the total number of faces increases, the number of faces per intermediate node increases faster than for the bolt and the piston models. As we can see from Fig. 12(b), our method based on R-function has a lower time complexity than the naive approach. The Face number (thousands) (b) Naive approach Fig. 12. Execution time in function of the total number of faces for classical and implicit methods. time complexity of our method is linear in the number of faces considered, and the slope depends on the number of Boolean operations performed. Since objects can be described by an implicit equation, their volume can be computed using a Monte Carlo integration by taking a large number of uniformly random points within the bounding box of the object and count the ones that are within the object using its implicit function as a chacteristic. The volume of the object is defined by V obj n N V bb, where n corresponds to the number of points within the object O, N is the total number of points used, and V bb is the volume of the bounding box. The same technique can also be applied for arbitrary section area. Instead of considering the bounding box, we can generate points lying on any arbitrary surface to get a section of the object. Planar sections are the easiest and most common but parametric surfaces can be considered to slice the object. As long as the area of the complete
219 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. X, NO. X, XXX TABLE II DEFORMATIONS AND POSITIONING PARAMETERS Scaling Tapering Twisting Bending Rotation Translation Label S x S y S z k x k y ψ O x O y k α R x R y R z T x T y T z Object A Object B Object C Object D (a) (b) (c) Fig. 13. Propeller model. a) Final mesh. b) Horizontal sections and intensity of the resulting R-function. c) Transversal section and intensity of the resulting R-function. Difference Union Union Union (a) (b) (c) Fig. 14. Bolt model. a) A binary CSG tree. b) Final mesh and scalar field generated by the resulting R-Function. c) Zoom on merged frontiers of two supershapes. Difference Union Difference Union Union Union Union Union (a) (b) (c) (d) Fig. 15. Piston head model. a) A binary CSG tree. b) Final mesh. c) Scalar field generated by the resulting R-Function. d) Zoom on merged frontiers of two supershapes.
220 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. X, NO. X, XXX surface patch can be evaluated, the area of the section of the object can be obtained by the same technique. The implicit equation can be used as a characteristic function to determine if randomly generated points on the surface patch are within the object or not. The area of the section of the object is then given by the product of the area of the surface patch by the ratio of points in the object over the total number of points computed. VI. CONCLUSIONS AND FUTURE WORK In this paper, we have proposed a new and efficient algorithm based on R-functions theory to compute multiple Boolean operations between primitives with both an implicit and a parametric representation. The resulting object is described by an implicit equation and the vertices composing the resulting mesh are lying exactly on its zero-set. The time complexity for node evaluation stays linear in the number of faces, and the polygonization of the surface is kept simple due to the parametric form of the primitives. The theory of R- functions is used to obtain an implicit function with guaranteed differential properties, and the parametric forms of the primitives are used to generate the solutions, i.e, polygonizing the surface. In input, we consider a CSG tree that contains the parameters of the supershapes, the Boolean operations, and the global deformations. The output includes two components: an implicit equation whose zero-set represents the surface, and a 3D mesh whose points are lying exactly on the resulting surface. The only approximation made is on the borders of the parametric domain for the solutions. As a subset of the union of all the primitive parametric intervals, the parametric interval considered as a solution is a subset of the theoretical parametric solution. These two intervals tend to be equal when ε tends to zero. This approximation is due to the dichotomy process used to split the faces and the parametric interval: we are not able to explicitly solve the equation representing the intersection of objects, so we approximate the parametric solutions within a ε-precision. Moreover, our algorithm can handle any primitive with both a parametric and an implicit, which allows us to consider objects such as supertoroids or Dupin cyclides. Being now able to represent complex shapes with a CSG tree of primitives and a single implicit equation, we are going to study possible solutions to recover the CSG tree and the parameters of the primitives from a cloud of points or a 3D mesh to apply our method to reverse engineering and computer vision. Future work will also be dedicated to the chain functions and their potential applications to mesh comparison or shape recognition. ACKNOWLEDGEMENTS Authors would like to thank David Page, Sharon Foy, and Brad Grinstead for their valuable comments, and Mickaël Roy for his implementation advices. Dr. Gribok is thankful to Anton Bougaev for introducing him to the theory of R-functions. Inspiring CAD models have been found at This work is supported by the University Research Program in Robotics under grant DOE-DE-FG02-86NE37968, by the DOD/ RDECOM/ NAC/ARC Program, R , by the US Army under grant Army- W56HC2V-04-C-0044, and by FAA/NSSA Program, R /130 and R REFERENCES [1] L. Piegl and W. Tiller, The NURBS Book, 2nd ed. Springer, [2] J. Stam, Exact evaluation of catmull-clark subdivision surfaces at arbitrary parameter values, in Proc. of SIGGRAPH 98, Annual Conference Series, 1998, pp [3] S. Krishnan, D. Manocha, M. Gopi, T. Culver, and J.Keyser, Boole: A boundary evaluation system for boolean combinations of sculptured solids, International Journal of Computationnal Geometry & Applications, no. 1, pp , [4] H. Biermann, D. Kristjansson, and D. Zorin, Approximate boolean operations on free-form solids, in Proc. of SIG- GRAPH 01, 2001, pp [5] B. Wyvill, A. Guy, and E. Galin, Extending the CSG tree - warping, blending and boolean operations in an implicit surface modeling system, Computer Graphics Forum, vol. 18, no. 2, pp , [6] J. F. Blinn, A generalization of algebraic surface drawing, ACM Transactions on Graphics, vol. 1, no. 3, pp , [7] A. Pasko, V. Adzhiev, A. Sourin, and V. Savchenko, Function representation in geometric modeling: concepts, implementation and applications, The Visual Computer, vol. 11, no. 8, pp , [8] W. E. Lorensen and H. E. Cline, Marching cubes: A high resolution 3d surface construction algorithm, Computer Graphics, vol. 21, no. 4, pp , [9] J. Bloomenthal, Polygonization of implicit surfaces, Computer Aided Geometric Design, vol. 5, no. 4, [10] C. M. Hoffmann, Geometric and Solid Modeling: An Introduction. Morgan Kaufmann Publishers Inc., [11] J. R. Rossignac, Constraints in constructive solid geometry, in Proc. of the 1986 workshop on Interactive 3D graphics, [12] J. R. Rossignac and H. B. Voelcker, Active zones in CSG for accelerating boundary evaluation, redundancy elimination, interference detection, and shading algorithms, ACM Transactions on Graphics, vol. 8, no. 1, [13] J. R. Rossignac and A. A. G. Requicha, Constructive nonregularized geometry, Computer-Aided Design, vol. 23, no. 1, pp , [14] J. R. Rossignac, Blist: A boolean list formulation of CSG trees, GVU Tech., Tech. Rep. GIT-GVU-99-04, [15] H. B. Voelcker and A. A. G. Requicha, Research in solid modeling at the University of Rochester: , In L. Piegl, editor, Fundamental Developments in Computer-Aided Modeling, Academic Press, London, 1993.
221 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. X, NO. X, XXX [16] A. Rappoport and S. Spitz, Interactive boolean operations for conceptual design of 3-d solids, in Proc. of SIGGRAPH 97, Annual Conference Series, 1997, pp [17] V. Adzhiev, M. Kazakov, A. Pasko, and V. Savchenko, Hybrid system architecture for volume modeling, Computers & Graphics, vol. 24, no. 1, pp , [18] R. Allègre, A. Barbier, E. Galin, and S. Akkouche, A hybrid shape representation for free-form modeling, in Proc of Shape Modeling International, [19] V. L. Rvachev, Geometric Applications of Logic Algebra. Naukova Dumka, 1967, in Russian. [20] V. Shapiro, Theory of R-functions and applications: A primer, Computer Science Department, Cornell University, Ithaca, NY, Tech. Rep. TR , [21] V. L. Rvachev, Methods of Logic Algebra in Mathematical Physics. Naukova Dumka, 1974, in Russian. [22] V. L. Rvachev, Theory of R-functions and some applications. Naukova Dumka, 1982, in Russian. [23] V. Shapiro and I. Tsukanov, Implicit functions with guaranteed differential properties, in Symposium on Solid Modeling and Applications, 1999, pp [24] A. H. Barr, Superquadrics and angle-preserving transformations, IEEE Computer Graphics and Applications, vol. 1, no. 1, pp , [25] A. H. Barr, Global and local deformation of solid primitives, Computer Graphics, vol. 18, no. 3, pp , [26] M. E. Montiel, A. S. Aguado, and E. Zaluska, Surface subdivision for generating superquadrics, The Visual Computer, vol. 14, no. 1, pp. 1 17, [27] A. Jakli c, A. Leonardis, and F. Solina, Segmentation and recovery of superquadrics. Dordrecht: Kluwer Academic Publisher, [28] A. Jakli c and F. Solina, Moments of superellipsoids and their application to range image registration, IEEE Transactions on Systems, Man, and Cybernetics, vol. 33, no. 4, pp , [29] H. Löffelmann and E. Gröller, Parameterizing superquadrics, in Proc. of WSCG 95, 1995, pp [30] D. DeCarlo and D. Metaxas, Shape evolution with structural and topological changes using blending, IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 20, pp , [31] E. Bardinet, L. D. Cohen, and N. Ayache, Fitting of isosurfaces using superquadrics and free-form deformations, in Proc. of International Conference on Pattern Recognition (ICPR), 1994, pp [32] E. Bardinet, L. D. Cohen, and N. Ayache, Superquadrics and free-form deformations: A global model to fit and track 3D medical data, in Proc. of CVRMed, 1995, pp [33] J.Gielis, A generic geometric transformation that unifies a wide range of natural and abstract shapes, American Journal of Botany, vol. 90, pp , [34] J. Gielis, B. Beirinckx, and E. Bastiaens, Superquadrics with rational and irrational symmetry, pp , 2003, symposium on Solid Modeling and Applications. [35] J. O Rourke, Computational Geometry in C (2nd Ed.). Cambridge University Press, 1998.
222 A CORE PRODUCT MODEL FOR PLM WITH AN ILLUSTRATIVE XML IMPLEMENTATION Sebti Foufou 1, Steven J. Fenves, Conrad Bock, Sudarsan Rachuri and Ram D. Sriram National Institute of Standards and Technology Mail Stop 8263, 100 Bureau Drive, Gaithersburg, MD 20899, U.S.A. {sfoufou, sfenves, conrad.bock, sudarsan, Abstract We propose a Core Product Model (CPM) for modeling product information suitable for supporting the information needs of Product Lifecycle Management (PLM) systems over the lifecycle of the product from the earliest ideation to manufacturing, operation and disposal. We make this claim because in CPM a product is modeled as a triad of its function (what it is intended to do), its form (what is its shape and material) and its behavior (how it implements its function). Early pre-design activities can thus deal with the function without having a geometric model of the form, and activities subsequent to design can extend the behavior by the evaluation of multiple causal models (e.g., what is the product s market share). The components of the conceptual model of CPM are presented in terms of the product s function, form and behavior, as well as the decompositions, associations and various kinds of relationships among these concepts. The model is represented in UML so as to provide interoperability with other models. An implementation model in XML and an example are presented to illustrate the principal elements of the proposed CPM model. Keywords: Product Lifecycle Management (PLM) systems, information models, product models, conceptual models, function, form, behavior, XML, XML Schema. 1.INTRODUCTION Current computer-aided design and engineering (CAD/CAE) tools serve only a very narrow range in the product s lifecycle: from the stage where the specification for the product has been defined to the stage where the design for the product can be turned over to manufacturing. Product Development Management (PDM) systems intended to support these tools cover the same range, with possibly some assistance for requirements development, on one hand, and information transfer to manufacturing, on the other. Furthermore, the information being managed is typically opaque to the PDM systems as they tend to depend on the underlying CAD tool to manage the information about the product s form, which is largely geometric in contents. 1 Corresponding author. Sebti Foufou is with LE2i Laboratory, University of Burgundy, B.P , Dijon France. He is currently guest researcher at the MSID Division, NIST, Gaithersburg, MD [email protected] 1
223 Interest in industry is increasingly being focused on Product Lifecycle Management (PLM) systems, intended to support the full spectrum of product development activities from the initial ideation to eventual disposal. Scaling up PDM systems to support this full spectrum of product development activities will not work, for the reasons given above: they are only geared to support geometric information for a limited range of design processes and even for this limited information exchange they depend on subsidiary systems [1; 2]. The wide scale adoption of PLM requires a product information model that allows all information used or generated in all the various product development activities to be transmitted to other activities by way of direct electronic interchange [3]. Furthermore, product development across companies, and even within a single company, will almost invariably take place within heterogeneous software environments, requiring a conceptual product information model that can be implemented in a variety of environments and that allows seamless interoperation between environments and applications [4]. A number of recent studies have shown the role that XML can play in a semantics-based product data representation for data portability (transfer of information and knowledge) when used as the information transfer medium. Rezayat presents the bases of a knowledge based product development system and explains why XML must be the support on which the system relies [5]. Mervyn et al. present an approach for developing distributed product and process design applications, where compressed model information embedded in a product data XML schema is used to ensure data portability [6]. The Product Data Markup Language (PDML) is a set of XML vocabularies for deploying product data on the Internet [7]. 2.OVERVIEW OF CPM2 The core product model (CPM) was initially conceived as a basis of future systems that respond to the demands of the next generation of computer-aided design systems and provide for improved interoperability among software tools in the future [8]. It subsequently became clear that the CPM has the functionality to provide support for the full range of PLM activities [9]. CPM is a generic, abstract model with generic semantics, with meaningful semantics about a particular domain to be embedded within an implementation model and the policy of use of that model. The key concept that makes CPM a candidate for supporting the full range of PLM activities is that a product is described by a triad: Function models what the artifact is supposed to do; the term function is often used synonymously with the term intended behavior. Form models the proposed design solution for the design problem specified by the function; in CPM, the artifact s physical characteristics are modeled in terms of its geometry (the traditional domain of CAD models) and material properties. Behavior models how the artifact implements its function in terms of the engineering principles incorporated into a behavioral or causal model; application of the behavioral model to the artifact describes or simulates the artifact s observed behavior based on its form. 2
224 Figure 1 shows a UML diagram of the Core Product Model (CPM). The descriptions below are condensed from the report on the second version of CPM, called CPM2 [9]. There are four categories of classes in CPM: classes that provide supporting information for the objects (abstract classes): classes of physical or conceptual objects; classes that describe associations (relationships) among the objects; and classes that are commonly used by other classes. In the rest of this paper, the following naming conventions are used: names of CPM classes are written in boldface and capitalized (e.g., CoreProductModel, EntityAssociation, Artifact). Names of attributes are in boldface (e.g., information) and lower case. Names of XML elements are also in boldface but in a different font and they start with lower case (e.g., artifact, hasfeature). Literals (e.g., attribute values and content of XML elements) and names of instances are in italics (e.g., cylindricalform). There are five supporting classes for storing common information: CoreProductModel represents the highest level of generalization. The common attributes type 2, name and information for all CPM classes are defined for this class CommonCoreObject is the base class for all the object classes. CommonCoreRelationship and its specializations may be applied to instances of classes derived from this class. CommonCoreRelationship is the base class from which all association classes are specialized. CoreEntity is the base class from which the classes Artifact and Feature are specialized. EntityAssociation relationships may be applied to entities in this class. CoreProperty is an abstract class from which the classes Function, Flow, Form, Geometry and Material are specialized. Constraint relationships may be applied to instances of this class. The following constitute the object classes: Artifact is the key object class in the model; it represents a distinct entity in a product, whether that entity is a component, part, subassembly or assembly. All the latter entities can be represented and interrelated through the subartifacts/subartifactof containment hierarchy. Feature is a portion of the artifact s form that has some specific function assigned to it. Thus, an artifact may have design features, analysis features, manufacturing features, etc. Feature has its own containment hierarchy, so that compound features can be created out 2 The value of the type attribute corresponds to one of the terms within a distinct hierarchical taxonomy of terms associated with the class and provides the taxonomy for the given class. 3
225 of other features. A Feature has attributes of Function and Form, but does not have a separate Behavior. Port is a specific kind of feature, sometimes referred to as an interface feature. CoreProductModel CommonCoreRelationship +ccrelationship CommonCoreObject 0..* associatedcco Usage Trace 0..* +hasrequirement +requiredproperty 0..* +constraint CoreProperty 0..* CoreEntity Behav ior Requirement +decomposedinto 1 Specif ication 0..* 1..* +containedin Constraint 1 +entity Association 0..* 1 1..* +hasbehav ior +satisf ies +constrainedproperty +associatedentity +Behav iorof artif act 1 1..* +specif ies EntityAssociation Feature 0..* +hasfeature 1 Artif act +subartif actof +f eatureof Artif act f unctionof Feature 0..* f ormof Artif act Port +subartif acts +f ormof Feature +issourceof +functionof Artif act +isdestinationof Geometry Material +f eaturehasform +hasform {or} 0..* 0..* Form +f eaturehasfunction +hasoutputflow +hasfunction {or} +hasinputflow 0..* 0..* 0..* 0..* Function Flow 1..* +hasgeometry 1..* +hasmaterial 1 +materialof Form +geometry Of Form 1 0..* 0..* +inputflow +ouputflow Transf erfunction 1 +sourceof 1 +destinationof Figure 1 : Class Diagram of the Core Product Model Specification is the collection of information relevant to an Artifact deriving from customer needs and/or engineering requirements; it is a container for the specific Requirements that the artifact must satisfy. Requirement is a specific element of the Specification of an artifact that governs some aspect of its function, form, geometry or material. Requirements cannot apply to behavior, which is strictly determined by a behavioral model. Function represents what the artifact or feature is supposed to do. The artifact satisfies customer needs and/or engineering requirements largely through its function. 4
226 TransferFunction is a specialized form of Function involving the transfer of an input flow into an output flow. Flow is the medium that serves as the output of one or more transfer function(s) and the input of one or more other transfer function(s). Behavior describes how the artifact implements its function; it is governed by physical, chemical or other engineering principles that are incorporated into a behavioral or causal model. Form of the artifact or feature is the design solution for the problem specified by the function. In the CPM, the artifact s or feature s physical characteristics are represented by two distinct classes: Geometry is the spatial description of an artifact or feature. Material is the material composition of an artifact or feature. The following constitutes the association (relationship) classes derived from the CommonCoreRelationship class: Constraint is a specific shared property of a set of entities that must hold in all cases. At the level of the CPM, only the entity instances that constitute the constrained set are identified. EntityAssociation is a simple set membership relationship among artifacts and features. Usage is a mapping from CommonCoreObject to CommonCoreObject, useful when constraints apply to multiple target entities but not to the generic source entity. Trace is structurally identical to Usage, useful when the target entity in the current product description depends on a source entity in another product description. The following three utility classes, not shown on Figure 1, provide additional detail: Information, an attribute of CoreProductModel and all its specializations, is a container consisting of three attributes: (i) a textual description; (ii) a textual documentation; and (iii) properties, a set of attribute-value pairs representing all domain- or object-specific attributes. ProcessInformation, an attribute of Artifact, contains product development process parameters that may be used in a Product Lifecycle Management (PLM) environment. Rationale, an attribute of CoreProperty, documents decision in the product development process. 5
227 The classes described are linked by three kinds of associations. First, all object classes have their own separate, independent decomposition hierarchies 3 by attributes such as subartifacts/subartifactof for the Artifact class. Second, there are associations between: a Specification and the Artifact that results from it a Flow and its source and destination Artifacts and its input and output Functions an Artifact and its Features. Third, and most importantly, four aggregations are fundamental to the CPM: Function, Form and Behavior aggregate into Artifact Function and Form aggregate into Feature Geometry and Material aggregate into Form Requirement aggregates into Specification. The conceptual model of CPM may be used in actual applications, albeit at a high overhead cost: specific instances of entities must be located by means of their type and their attributes stored in and retrieved from the properties slot of the associated Information instance. These same two constructs, type and properties, may be used by a model compiler to create subclasses of Artifact from the specifications in the type slot, and define attributes on the subclasses from the properies list [8]. 3. AN XML IMPLEMENTATION OF THE CPM In order to illustrate the implementation and use of the CPM, we have generated the Core Product XML Schema (CPXS) equivalent to the CPM and a set of Java classes. We have also developed a Java graphical user interface to input product data and generate valid XML documents according to the CPXS schema. The full XML implementation of CPXS is presented in [8]. Here we present only one illustrative example of the consequences of the fact that the XML schema language is not an object-oriented language. The XML schema resulting from the conversion of an UML class diagram needs to be constrained to ensure the consistency of the XML instance document The XML Artifact complextype Figure 2 shows the XML complextype representing an artifact. Inherited attributes are not shown in this figure; the listofxxx type represents a set of strings referring to the name subelement of elements of type xxx (e.g., within an artifact, the hasfeature element contains a set of subelements, each of which refers to the name of a feature of that artifact). As an example of the added constraints needed for XML document consistency, consider the element satisfies within the artifact element. This tag references the name or code of 3 For clarity, only the subartifacts/subartifactof containment hierarchy of Artifact is labeled in Figure 1. 6
228 the specification element that the artifact satisfies; the referenced specification element must be an element of the XML document; otherwise the document is not consistent. <xsd:complextype name="artifact"> <xsd:complexcontent> <xsd:extension base="coreentity"> <xsd:sequence> <xsd:element name="hasbehavior" type="listofbehaviors" minoccurs="0"/> <xsd:element name="hasfunction" type="listoffunctions" minoccurs="0"/> <xsd:element name="hasform" type="listofforms" minoccurs="0"/> <xsd:element name="satisfies" type="xsd:string" minoccurs="1"/> <xsd:element name="hasfeature" type="listoffeatures" minoccurs="0"/> <xsd:element name="subartifacts" type="listofartifacts" minoccurs="0"/> <xsd:element name="subartifactof" type="xsd:string" minoccurs="0"/> <xsd:element name="hasinputflow" type="listofflows" minoccurs="0"/> <xsd:element name="hasoutputflow" type="listofflows" minoccurs="0"/> </xsd:sequence> </xsd:extension> </xsd:complexcontent> </xsd:complextype> Figure 2: The XML Artifact complextype To ensure this consistency, we define the name element to be the key of the specification element (Figure 3) and indicate that the element satisfies within the artifact element is a reference to this key. The figure also shows that the element containedin in the requirement element must reference a valid and unique specification name (i.e., a key). <xsd:key name="pkspec"> <xsd:selector xpath="cpm:specification"/> <xsd:field xpath="cpm:name"/> </xsd:key> <!-- Elements that shall reference a specification name --> <xsd:keyref name="specref" refer="pkspec"> <xsd:selector xpath="cpm:artifact"/> <xsd:field xpath="cpm:satisfies"/> </xsd:keyref> <xsd:keyref name="spec1fref" refer="pkspec"> <xsd:selector xpath="cpm:requirement"/> <xsd:field xpath="cpm:containedin"/> </xsd:keyref> Figure 3: Example of a Consistency Constraint in the XML Artifact Schema 3.2. Example: XML representation of a planetary gear The planetary gear system (PGS) example considered in this section was presented in detail in [10], where it was used to illustrate the representation of both the Artifact containment hierarchy and the assembly associations comprising the Open Assembly Model, an extension of CPM. Our interest in the example here is to show how CPM captures design 7
229 information about a product; thus, only data important from the design point of view are modeled. Figure 4 shows the components of the PGS: the main artifact is the planetary gear; it is composed of 13 subartifacts: 8 screws, the output housing, the input housing, the ring gear, the sun gear, and the planet gear carrier. Information pertaining to the function, form, behavior and specification related to these subartifacts is not presented here. Planetary Gear 8 Screws Output housing Input Housing Ring Gear Sun Gear Planet Gear Carrier Figure 4: The Planetary Gear System Figure 5 shows an XML artifact element describing the PGS. The figure shows that this element includes the following set of subelements: information: a description and brief documentation of the PGS artifact 4 behaviors: a list of names of elements that describe the behavior of the PGS artifact. functions, forms, features: three lists, the elements of which give the names of the function changespeedofrotation, the form cylindricalform, and the features fasteningholes and outputshafthole of the PGS, respectively. satisfies: name of the XML element that gives the specification that the PGS shall satisfy. In the full example presented in [8], this specification is decomposed into a set of requirements that include form, input speed, output speed, input torque and output torque requirements. subartifacts: a list of the names of the subartifacts of the PGS artifact: planetgearcarrier, sungear, ringgear, inputhousing, outputhousing and eight screws. 4 Since XML is not an object-oriented language, the Information entity and its attributes description, documentation and properties have been inserted in the parent entity. 8
230 <artifact> <name>planetarygearsystem</name> <information> <description> The PlanetaryGearSystem for changing speed rotation </description> <documentation> This is an assembly of 13 different subartifacts and subassemblies </documentation> </information> <behaviors> <thebehavior name="pgsbehavior"/> </behaviors> <functions> <thefunction name="changespeedofrotation"/> </functions> <forms> <theform name="cylindricalform"/> </forms> <satisfies>pgsspecification</satisfies> <features> <thefeature name="fasteningholes"/> <thefeature name="outputshafthole"/> </features> <subartifacts> <theartifact name = "planetgearcarrier"/> <theartifact name = "sungear"/> <theartifact name = "ringgear"/> <theartifact name = "inputhousing"/> <theartifact name = "outputhousing"/> <theartifact name = "screw1"/> <theartifact name = "screw8"/> </subartifacts> </artifact> Figure 5: Artifact Element of the Planetary Gear System Figure 6 and Figure 7 show the definitions of the behavior and the function of the above artifact, respectively, by means of the pgsbehavior and pgsfunction elements. One can see how the properties slot of the information element is used to capture important information such as speed ratio and output torque. <behavior> <name>pgsbehavior</name> <information> <description>the behavior of the planetary gear system after assembly analysis and validation </description> <properties> <property name="speedratio">3.0:1</property> <property name="torqueout">6.78 N.m</property> </properties> </information> <artifact>planetarygearsystem</artifact> </behavior> Figure 6: Behavior Element of the Planetary Gear System 9
231 The content of the artifact element, within the behavior, and the content of functionofartifact element, within the function, are the names of the artifact to which these two elements pertain. As the content is the same for both elements, we understand that they pertain to the same artifact, which is the main artifact of the planetary gear system. <function> <name>changespeedofrotation</name> <information> <description>the main function of theplanetarygearsystem. It provides adequate and variable speed for all possible operations </description> <properties> <property name="input">rotational energy</property> <property name="output">rotational energy</property> <property name="speedin">1800rpm</property> <property name="speedout">tbd</property> <property name="torquein">2.26 N.m</property> <property name="torqueout">tbd</property> </properties> </information> <functionofartifact>planetarygearsystem</functionofartifact> </function> Figure 7: Function Element of the Planetary Gear System The XML standard has been used for data representation to overcome a number of interoperability problems in various domain of application (e.g. MathML, CML). By separating the content (data) from the presentation, XML documents are excellent supports to capture product data, for later diffusion (in various formats) and/or any further automatic treatments. The CPM implementation given in this section is far from being complete or final. It is provided to show how CPM and XML can be combined and used as a basis for future product data management systems. 4.CONCLUSION The Core Product Model presented in this paper can be seen as a first step toward the definition of a product model suitable for supporting the information needs of Product Lifecycle Management (PLM) systems over the lifecycle of the product from the earliest ideation to manufacturing, operation and disposal. The CPM captures a wide range of common product information (specification, requirements, function, form, behavior, material, constraints, etc.). Domain-specific models have been defined as extensions of this conceptual model [10]. Implementation models can be generated using the contents of the conceptual model to semi-automatically create domain-specific subclasses with their attributes. The XML implementation and the planetary gear system example show how the CMP can be used with semantic web standards technologies to model product data in an interoperable manner. 10
232 This work is part of the Interoperability Program in the Manufacturing Systems Integration Division of the Manufacturing Engineering Laboratory at NIST. As part of this program, future work will involve the collection and correlation of product information throughout the Virtual Manufacturing Enterprise (VME) under development, leading towards extensions of the CPM to serve as the basic organizing principle for the information in the VME. REFERENCES 1. Burkett, M., O'Marah, K., and Carrillo, L., "CAD Versus ERP Versus PDM: How Best To Anchor a PLM Strategy?," AMR Research, Sept Philpotts and M, "An introduction to the concepts, benefits and terminology of product data management," Industrial Management & Data Systems, Vol. 96, No. 4, 1996, pp Sudarsan, R., Fenves, S., Sriram, R. D., and Wang, F., "A Product Information Modeling Framework for Product Lifecycle Management," Computer-Aided Design, O'Marah, K., and Myer, B., "The Product Lifecycle Management Applications Report, ," AMR Research, Rezayat, M.. Knowledge-based product development using XML and KCs. Computer-Aided Design 32, Mervyn, F., Senthil Kumar, A., Bok, S. H., and Nee, A. Y. C., "Developing distributed applications for integrated product and process design," Computer-Aided Design, Vol. 36, No. 8, 2004, pp Burkett, W. C., "Product data markup language: a new paradigm for product data exchange and integration," Computer-Aided Design, Vol. 33, No. 7, 2001, pp Fenves, S. J., "A Core Product Model For Representing Design Information," National Institute of Standards and Technology, NISTIR6736, Gaithersburg, MD 20899, USA, Fenves, S., Foufou, S., Bock, C., Bouillon, N., and Sriram, R. D., "CPM2: A Revised Core Product Model for Representing Design Information," National Institute of Standards and Technology, NISTIR 7185, Gaithersburg, MD 20899, USA, Sudarsan, R., Young-Hyun H, Feng, S. C., Roy, U., Fujun W., Sriram, R. D., and Lyons, K. W., "Object-oriented Representation of Electro-Mechanical Assemblies Using UML," National Institute of Standards and Technology, NISTIR 7057, Gaithersburg, MD 20899, USA,
233 Product Lifecycle Management Support: A Challenge in Supporting Product Design and Manufacturing in a Networked Economy Eswaran Subrahmanian 1, Sudarsan Rachuri 2, Steven J. Fenves 3, Sebti Foufou 4, Ram D. Sriram 5 Manufacturing Systems Integration Division, National Institute of Standards and Technology Gaithersburg, MD Abstract In this paper, we provide an overview of the changing design and manufacturing landscape in the 21 st century that has come about because of IT and the changing global conditions. Based on this overview and a review of the current state of IT for PLM support in the design and manufacturing sector, we identify the areas of need for standards. A review of areas covered by standards leads us to the development of an initial typology of standards and a potential path for bringing convergence of these standards in support of PLM. We make a case throughout the paper that given the nature of the task we need to aspire to create open standards with wide participation. We conclude by arguing that there is an important role to be played in this context by institutions such as NIST as a neutral party in the standards debates and implementations. Keywords: Product lifecycle, PLM systems, interoperability, data exchange, standards, product design. Biographical notes: Eswaran Subrahmanian is a Research Professor at the Institute for Complex Engineered systems at the Carnegie Mellon University. Currently he is also a Guest researcher at the National Institute for Standards and Technology. He has been involved in the design and use of information systems in engineering, government and education for over 25 years. He is the head of the n-dim project on information management for engineering design for the last 15 years. His interests and experience are in the integration of technology with social and organizational processes. His research areas include collaborative engineering, design of traffic systems and markets using distributed agents, innovation, decision supports systems, design theory and philosophy. He has published more than 60 papers and he recently co-edited a book on Knowledge Management exploring the organizational and technological dimensions. He is in the editorial board of several journals. Sudarsan Rachuri is a research professor with the Department of Engineering Management and Systems Engineering, George Washington University, USA. He is a guest researcher in the Manufacturing Systems Integration Division, National Institute of Science and Technology (NIST), USA. Presently, his work at NIST includes development of information models for product lifecycle management, assembly level 1 Eswaran Subrahmanian is with Carnegie Mellon University, Pittsburgh, He is currently a guest researcher at MSID, NIST, Gaithersburg, MD 20899, [email protected]. 2 Corresponding author. Sudarsan Rachuri is with George Washington University, DC. He is currently a guest researcher at MSID, NIST, Gaithersburg, MD 20899, [email protected]. 3 Steven J. Fenves is Emeritus University Professor at Carnegie Mellon University, Pittsburgh; He is currently a guest researcher at MSID, NIST, Gaithersburg, MD 20899, [email protected]. 4 Sebti Foufou is with LE2i Laboratory, University of Burgundy, B.P , Dijon France. He is currently a guest researcher at MSID, NIST, Gaithersburg, MD 20899, [email protected]. 5 Ram Sriram is leading the Design and Process Group at NIST, [email protected]. 1
234 tolerancing, product ontology and transfer of knowledge and technology to industry. Sudarsan has published over 50 papers and technical reports. He is the regional editor (North America) for the International Journal of Product Development, and associate editor for International Journal of Product Lifecycle Management. He received the BS (Mathematics, Madras University), MSc (Applied Mathematics, College of Engineering Guindy), MS and PhD degrees from the Indian Institute of Science, Bangalore. Steven J. Fenves is University professor Emeritus of Civil and Environmental Engineering at Carnegie Mellon University and is a Guest Researcher at NIST. He received his degrees in Civil Engineering from the University of Illinois and has taught at the University of Illinois, Carnegie Mellon, MIT, National University of Mexico, Cornell and Stanford. His research deals with computer-aided engineering, design standards, engineering databases, and structural analysis and design environments. He is the author of six books and over 300 papers and is a member of the National Academy of Engineering and an Honorary Member of the American Society of Civil Engineers Sebti Foufou obtained a PhD in computer science in 1997 from the University of Claude Bernard Lyon I, France, for a dissertation on parametric surfaces intersections. Since then, he is working as associate professor in the computer science department at the University of Burgundy, France. His research interests include geometric modeling, CAD-CAM, surfaces blending using Dupin cyclides, subdivision surfaces, geometric constraints solving. Currently, he is working, as a guest researcher, at the National Institute of Standards and Technology, Gaithersburg, MD, USA, where he is contributing to product engineering related research: product modeling, smart machining systems, tolerances, assembly modeling and PLM. Ram D. Sriram, Senior Member IEEE is currently leading the Design and Process group in the Manufacturing Systems Integration Division at the National Institute of Standards and Technology, where he conducts research on standards for interoperability of computer-aided design systems and on healthcare informatics. Prior to that he was on the engineering faculty ( ) at the Massachusetts Institute of Technology (MIT) and was instrumental in setting up the Intelligent Engineering Systems Laboratory. At MIT, Sriram initiated the MIT-DICE project, which was one of the pioneering projects in collaborative engineering. Sriram has co-authored or authored more than 175 papers, books, and reports in computeraided engineering, including thirteen books. Sriram was a founding co-editor of the International Journal for AI in Engineering. In 1989, he was awarded a Presidential Young Investigators Award from the National Science Foundation; U.S.A. Sriram has a B.S. from IIT, Madras, India, and an M.S. and a Ph.D. from Carnegie Mellon University, Pittsburgh, USA. 1. Introduction There has been a significant shift in the design and manufacturing of products since the post-world War II industrial setting that created a large number of vertically integrated industries. The modern global economic structures that have evolved in the last two decades have changed several aspects of the product design and realization processes. Gone are the days of pure mass production, where economy of scale was the primary driving force in the creation and structuring of product design and manufacturing organizations. The aerospace and automobile industries now see themselves as system integrators; their role is not to manufacture all of the underlying parts and components but to purchase them from a global marketplace. In this new context, managing variety and providing mass customization have become the driving forces in organizing design and manufacturing organizations. The most visible form of this approach is the rise of the modular designs that are starting to dominate the strategies of product development [1]. Platform based designs, common architectures with substitutability, and plug and play capabilities are increasingly becoming the norm [2]. These are responses to the 2
235 changing economic and technological landscapes as well as to the variety demanded by a global customer base [3]. While the movement towards modularity has been successful in the electronic consumer product and micro-computer industries, there are significant limits to modularity in the domain of complex electro-mechanical systems [4]. In this larger context, what it means to create products and manage the intellectual property of networked firms are the questions underlying the movement towards Product Life Cycle Management (PLM). PLM is a strategic approach to creating and managing a company's product-related intellectual capital, from its initial conception to retirement. As information technology (IT) undertaking, supporting PLM entails the modeling, capturing, exchanging and using information and data in all PLM decision making processes. In this paper we explore trends in product design and manufacturing and their implications for the management of product development, the development of standards and the preservation of competitive advantage for the manufacturing sector in the US. The changing landscape of the design and manufacturing sector in the 21 st century is described in section 2. Section 3 reviews the current state of IT use in design and manufacturing. Section 4 provides an overview of IT support for PLM in the networked economy. Section 5 reviews the state of commercial tools supporting PLM. Section 6 provides results of a preliminary study of where standards are needed for supporting PLM and a brief comparison of US and overseas industries. Section 7 presents a typology of current standards and their convergence for PLM support. Finally, Section 8 concludes with a summary and recommendations. 2. Design and manufacturing in the 20 th and 21 st centuries Twentieth century manufacturing was heralded by Henry Ford and his introduction of mass production that moved from custom made expensive automobile for the few to the standardized automobile for all [5]. This model of the manufacturing enterprise dominated the last century with its ability to create mass produced objects affordable by a large number of customers. The underlying model of design and production was based on standardization within a firm, allowing for independent manufacturing of several components that merged on the assembly line to create the product. Variants of this model of design and production were exported and established in other countries, leading to the first models of globalization of firms [6]. This phase of globalization relied on a single-location based, vertically integrated production lines exploiting economies of scale. These models of globalization were often based on providing the same product irrespective of the needs and social preferences of the customer base. In the last two decades of the last century, there is a shift emerging in the manufacturing industry driven by the disruptive technology of computers and the emergence of a worldwide transportation and telecommunication infrastructure. The transportation infrastructure aided by innovations such as the commercial jet plane and the giant container ships led to the easy movement of people and goods, while the communication infrastructure led to the movement of information and knowledge in an unprecedented 3
236 manner. The authors of the book Death of Distance points out that we are in the third phase of the revolution in technology that in succession changed the transportation first of goods, then of people, and now of ideas and information [7]. The implications of the above changes have been profound. First, the location of production was distributed across the globe to leverage the competitive advantage of different countries as the costs of transportation, codification and distribution of knowledge and transactions decreased, aided by the diffusion of new technologies. The world moved from manufacturing everything needed to produce a product within a country, using raw material from all over the world; to the assembly of components and subsystems produced around the world, based on the competitive advantage of closeness to raw materials or low-cost labor. Meanwhile, as the non-industrialized world s aspirations started matching those of the industrialized world, the demands for products and services have expanded to these countries. The age of global demand for customized products had arrived. The response addressing these phenomena has often been termed mass customization. The increase in demand for technological products and mass customization worldwide has further accelerated the globalization of industries in the form of outsourcing and off-shoring. Before this socio-technical change took place, the social landscape that defined the vertically integrated economy of the US was one of lifetime employment and preservation of the intellectual capital of the firm in its people. Increasingly, the demographics of US and other industrialized countries and the slack in the engineering and science skill base in these countries are being compensated by the increasing skill base in erstwhile developing countries, available at lower costs. Thus, the emergent globalization has brought with it profound changes in the economies of both the industrialized and the developing world. This change did not happen overnight. It was triggered by critical innovations in computing and communications technology. While productivity improvements due to IT have been questioned by some economists, management scientists and others have argued that productivity in US has been fueled by technology [8]. It is clear that while there have been improvements, the actual impact of IT on productivity is not yet a major contributor in the manufacturing industry globally [9]. In this paper, we put forth the hypothesis that large improvements in productivity from IT will come only when the networked economy engendered by technology allows for the realization of positive network externalities 6 to their fullest extent. Part of the reason for not being able to exploit the positive network externalities comes from the lack of full interoperability and the difficulty of adoption of these technologies by small and medium enterprises (SMEs) [10], [11]. The SMEs (45 % of the US economy) form the bulk of the supplier base to the larger system integrators in the automobile and aerospace industries. The cost of interoperability barriers of the IT systems used in engineering and 6 Economists call failures in the behavior of an economic structure or a market negative externalities and the benefits positive externalities. The term positive network externalities is used when the benefits accrue due to the presence of the economic network. We will use the term positive network externalities to identify benefits due to a network structure. 4
237 manufacturing in the US auto industry, estimated to be on the order of $1 billion per year, is an indication of the industry s inability to exploit IT to realize its full benefits [12]. It is in this context that information exchange standards will be critical and will determine what role IT will play in the design and manufacturing area. 3. Current state of IT use in product design and manufacturing Computing in the design of products was first observed in the work of a Westinghouse engineer in the early 1960 s who wrote a program to design a motor analytically [13]. The initial use of computers for drafting has morphed into Computer Aided Design (CAD), centered on the spatial definition (geometry) of the product. CAD is frequently augmented by physical model-based functional analyses for kinematics, structural strength, fluid flow, etc., collectively designated Computer Aided Engineering (CAE) 7. The developments in CAD were paralleled by developments in Computer Aided Manufacturing (CAM), for planning and monitoring manufacturing operations and for creating programs for numerically controlled (NC) tools from the CAD geometry. In the last twenty years technological changes arising out of faster and cheaper computer hardware and better connectivity have created the possibilities of large scale interaction and real time collaboration in design and manufacturing, leading to applications in manufacturing resource planning (MRP), enterprise resource planning (ERP) and product data management (PDM). However, the dream of full seamless interoperation across and within organizations implied by the death of distance is yet to be realized. Debate will continue over what aspects of IT and how much of IT have helped the manufacturing industry. There is empirical evidence that IT has enhanced globalization, thus allowing the exploitation of global resources and globalized manufacturing, which in turn provided improvements in productivity at the level of the national economies [8]. A lesson from history As an industry moves from its birth through its early stages, it creates a surge of initial productivity and then plateaus before a second level of significant productivity improvement takes place [14]. This pattern has been observed in the evolution of the dynamo and the electric power network; parallels can be seen in the development of information and communications technologies. The second level of productivity takes place when the innovation becomes part of the fabric of the organizations and disappears into the background as a technology, accompanied by changes in work and organizational structures [14]. In a recent interview Professor Brian Arthur of the Santa Fe Institute claims that IT is profoundly changing industrial organizations [15]. Professor Arthur claims that technologies, especially information technologies, are the backbone of cognitive and communication processes of organizations and the economy, just as the railroads provided the backbone of physical transport and communication processes at the turn of the last century. If history is a guide, IT as a means for communication, along 7 In the electronics industry, functional and spatial design, analysis and simulation are collectively called CAD 5
238 with the ubiquity of computing power for use in mental skill automation similar to the dynamo for physical skill automation, will lead to the next boom in productivity. In the emerging model of product development and lifecycle management, the importance of information and IT enabling the provision of customer satisfaction and agility in the marketplace with new innovations is critical to the survival of today s firm. Innovations arise from a continuous improvement of processes in what has been termed operational innovations [16]. Further, the tendency to modularize products will increase the variety in products to satisfy different customer needs. This change implies that the economics of substitution will play a major role in the development of product platforms and product architectures [2]. In a networked enterprise, not all innovations are localized within a company; the nodes in the design and manufacturing network that are innovative are more directly involved and have a more direct impact on an automobile manufacturers (system integrators) product development activity [17]. PRODUCT USE: WARRANTY EXPERIENCE MAINTENANCE RECORD DISPOSAL: RECOVERY RECYCLING IDEATION: MARKET RESEARCH USER FEEDBACK INNOVATION CONCEPTUALIZATION MANUFACTURING: PLANNING SUPPLY CHAIN CREATION DISTRIBUTION DESIGN ORGANIZATION: PEOPLE INFORMATION INFRASTRUCTURE KNOWLEDGE DESIGN EVALUATION: ANALYSIS SIMULATION PERFORMANCE EVALUATION QUALITY EVALUATION CONCEPTUAL DESIGN: PRODUCT PROCESS DETAILED DESIGN: PRODUCT PROCESS Figure 1: Epicycles in product life cycle development 8. Interoperability Today s networked organizations are still only partially integrated islands of information and tend to have a static view of the use of information, rather than viewing PLM as a 8 This figure is adapted from [18]. 6
239 holistic real-time control system that is continually adjusting and improving the underlying business and operational processes [19]. The new view of product life cycle is best illustrated through the metaphor of epicycles in the product lifecycle, illustrated in Figure 1. The nodes on the periphery stand for the major stages in the lifecycle: conceptualization; organization of resources; design; analysis, simulation and verification; manufacturing and distribution; in-use performance and customer feedback; and eventually disposition. The wide clockwise links on the periphery stand for the normal information flows from stage to stage, while the links on the inside stand for the feedback information that creates the various epicycles or subloops of reappraisal, redesign and product improvement or evolution. The feedback loops shown in the figure are only suggestive to convey the idea of interdependence among the stages and are not comprehensive. A breakdown in any of the feedback links in the epicycles will lead to inefficient use of knowledge affecting both the efficiency of operation and the quality of the product. Stewart has made the claim that only 20% of a firm s knowledge is effectively used by today s organizations, providing further evidence that these epicycles are indeed broken [20]. Hence the conceptualization of product development presented in Figure 1 provides credence to the analogy of today s product life cycle management systems to a real-time control system. This recognition has resulted in proposals for maturity models for interoperability to asses and evaluate an organization s ability to provide an interoperable environment [21], [22]. The importance of interoperability for PLM has been recognized by a number of institutions including the US Department of Defense (DOD), the European Ministries of Defense and, more recently, by the vendor and end-user community [23], [24]. There are two further factors at work: first, globalization has spread the need for mass customization of products and services to different markets; and second, global environmental concerns have led to the heightened consideration of the servicing and disposal of products as integral parts of the product development life cycle. It has been observed that the cost of servicing and evolving a product is higher than the initial development cost. A further push for addressing interoperability arises from the importance that economics of substitution will play in the continuous upgrade of complex systems in response to changing technology. This can also be observed in the modular open systems approach advocated by the DOD Joint Task Force for future DOD acquisitions [25]. In all of these recommendations and efforts, the ability to integrate legacy systems as well future technological innovations to interoperate seamlessly is the primary objective. The cornerstone in achieving this objective requires near decomposability of system, as was observed by Herbert Simon in his essay on, The Architecture of Complexity [26]. We argue that open standards and clear specification of interfaces provide means for achieving full interoperability. Standards 7
240 In a recent interview in Business 2.0, Tony Scott, the CIO of GM, made a case for interoperability, by pointing out that the IT industry is at the same stage today as the automobile industry was at the beginning of the last century and that standardization allowed that industry to become mature and come to depend on the commoditization of parts and supplies. How standards emerge, how they are supported or opposed by different segments of industry, and how convergence occurs are often dependent on the context of industry and stakeholders interests [27]. Continuing the historical comparison, if the networks of railroads had not been connected through standardization, the positive network externalities on the economy could not have been achieved. IT in manufacturing is at the same threshold today in making reality out of the possibilities of globally distributed networked organizations that exchange information and knowledge. Crossing this threshold will be impeded by the lack of standards that would allow for the interconnection of parts in the networked system of the economy. We contend that creating this new reality based on information technologies for product life cycle knowledge requires the development of open standards. 4. Product life cycle management and the networked economy Product life cycle management (PLM) has come to signify what some call the 21 st century paradigm for product development. In this concept of PLM, the management of a product from inception to disposal is the strategic initiative that will define 21 st century product development [28]. These claims have been made primarily because of the emergence of the networked firm and the networked economy, in contrast to the marketor hierarchy-based model of organizations that used a transactions cost model as the cornerstone for the choice of organizational structure [29], [30]. In the world of networked organization, relationships between the different nodes in the network are not of the same quality or character. This is due to the inability to arrive at complete modularity or decomposability because of various physical and organizational limitations. For example, Kamath and Liker [31] in examining the supplier interaction in the Japanese automobile industry identify four levels of supplier interaction: a) Partner: A full service provider whose relationship to the customer is that of equal and who often design entire subsystems for the customer and participates from the earliest stages of the design. b) Mature: Full system supplier whose relationship with the customer is subordinate; the customer provides specifications and the supplier develops subsystems independently with some customer guidance in design and pricing. c) Child: Customer provides the design and manufacturing specifications and the supplier executes them. d) Contractual: The supplier is used as an extension of the customer s manufacturing capability. Often used for commodity items or standard parts. The customer provides specifications or orders from a catalog and the supplier builds. 8
241 This model of supplier relationship is also frequently found in the US and UK automotive industries [32]. The more standardized the parts are, the more applicable is the transaction cost market mechanism for procuring the parts. However, for higher levels of supplier interaction, traditional transaction cost models are not sufficient to explain the outsourcing of designs by the parent company. It appears that at these levels the technical capabilities of the supplier and the innovations internal to the supplier are the key factors in the interactions, rather than pure transaction costs [32]. The above characterization of performance and interaction in a networked industry shows that several levels of information and knowledge exchange among the participants in the network are needed and that all such levels need to be standardized. 5. Product life cycle management support architecture and the current status of commercial tools PLM entails the management of product design, manufacturing and service knowledge that goes beyond the interaction of suppliers with the system integrator. PLM reaches into the sales, customer service and product disposal activities that participate in the larger network. For example, a firm that is involved in the disposal of the product requires information on the material composition and assembly for optimizing its recovery of materials. Without a comprehensive information base providing the information required by the different partners in the entire life cycle, overall efficiencies that can in principle be achieved in the network cannot be realized. It is in this sense that the system integrator such as an automobile manufacturer will also serve as an information provider to the nodes in the product life cycle network. The IT industry that supplies product knowledge management and engineering support systems to the design and manufacturing industry is currently vertically integrated. The industry extensively uses proprietary standards. Vertically integrated support systems do not provide for opportunity of full diffusion of new innovations across the entire community of users. The IT industry, in particular the sector that supports PLM systems, must go through the same kinds of processes that were described above for design and manufacturing organizations in order to become mature and ubiquitous. Various architectures for PLM support have been suggested [33; 34]. In all these architectures, the two major support functions are: (1) the support of information exchange among the enterprise nodes introduced in Figure 1; and (2) the support for data, information and knowledge integration within the nodes. A study by AMR identifying the provision of PLM support by a representative set of major vendors, presented in Figure 2 shows that the availability is partial and incomplete [33]. The study covers several areas beyond that of collaborative design. Some vendors cover several areas, while there are areas that are poorly covered or not covered at all by any vendor. Relying on a single vendor to cover all areas of PLM support would not provide the kind of innovation needed by PLM customers. Without standards, it is infeasible for a new vendor to introduce an innovative technology for interoperability across functional needs. 9
242 The data reveals that there is a lack of facilities for interoperability across tools and that there are barriers to entry for software developers that could provide a plug and play approach to PLM support. Currently only a few IT companies with vertically integrated tool sets are able to provide facilities that are even partially integrated. This state of support makes it difficult for a number of small manufacturing enterprises (SMEs) to enter the information age. A project undertaken by the CMU Software Engineering Institute and NIST on the use of Advanced Engineering Environments (AEE) 9 by SMEs with commercial off the shelf (COTS) tools identified the benefits that SMEs could derive, as well as the potential barriers to their adoption, such as interoperability and training expenses [10]. Figure 2: Vendor support for Collaborative Product Design - Source:AMR The above studies and data on coverage and interoperability that is feasible with commercial tools point to the problem of not having appropriate standards. Without the right standards the SMEs may need several tools to service different customers or use services that are external to the organizations to be able to translate the information formats needed by the SMEs customers [35]. Today s standards, particularly in the area of CAD, have produced direct improvement in productivity, especially in the manufacturing arena, by reducing transaction costs and even more so by increasing the richness of interactions between supplier and customer [36], [37], [12]. The real cost of the lack of interoperability is difficult to measure and is often buried in day to day operations of individuals needing the information or needing to transmit the information. In a previous section, we made the case that the time has come for a systematic approach to exploit the positive externalities that are emerging with the rise of the network economy. These positive externalities cannot be achieved without providing interoperability within industrial sectors to address the costs of interactions that go beyond pure transaction costs. Any new regime of interoperability will have to 9 Advanced Engineering Environments is a concept similar to PLM support systems put forth by National Aeronautics and Space Administration. The report is based on the adoption of support systems for supporting the technical tasks of CAD, CAE and CAM. 10
243 accommodate meaningful and semantically rich interactions required to support the full range of levels of interaction that has been observed in networked industries. 6. Areas of need for standards To understand the needs of interoperability and gain a better insight into the current practices we got the data from Dr. Gahl Berkooz 10. The purpose of the study was to identify the use of tools and standards and the level of richness of the standards used by the five companies characterized in Table 1. Company no. Business and location 2003 revenues 1 US Auto OEM > $50B 2 European Auto OEM $10B - $50B range 3 US Tier One Supplier $10B - $50B range 4 US Aerospace OEM $10B - $50B range 5 Electronics Manufacturing Services $5B - $10B range Table 1: Characterization of companies studied The data showed that in all these companies, while the use of COTS is dominant for the geometry-based representation of products, the use custom spreadsheets or applications prevails in the representation of non-geometric information such as functional requirements. The findings support the earlier observations that: (a) clearly defined syntactic information exchange at the low end of the parts procurement process is well supported by off-the shelf systems (COTS); while (b) high complexity leading to large volume exchanges are not well supported. In terms of the supplier network interactions categorized earlier, the nodes that have been termed contractual and child relationships are supported but not the mature and partner level interactions. The second major observation of the study is that the companies reviewed often have informal and ad hoc information models for defining product requirements, functional decompositions and behaviors of the product components. Table 2 provides responses from the five companies studied on their perception of the financial impacts of standards in various aspects of the product life cycle. The industry participants did not indicate an insignificant impact in any of the aspects. Information aspect Product requirements, functions and behavior (non geometrical) Insignificant Impact Somewhat Significant Very significant significant 5 1,2 3,4 10 Dr. Berkooz was the director of the PLM program at D.H.Brown and Company prior to the engagement with NIST and was an independent consultant at the time of this engagement. 11
244 Geometrical representation 1,2,3,4,5 of product (CAD) Bill of material (BOM) 4 1,2,3,5 Manufacturing process 4 1,2,3 5 Build order information / 4 1,2,3,5 order management Change management 1,2,3,4,5 Table 2: Expected financial impact of new standards (numbers denote the companies considered for the study) Comparison of US industries with European and Japanese industries Beyond the issue of standards, our study also points out that the European and Japanese industries are proceeding with the incorporation of information models using internal representations for various aspects of the product life cycle to derive economic advantages. The comparison provides the following observations: Compared to European industry, US industry is behind in its ability to model product function and configure products at the level of modules. Compared to Japanese industry, US industry is behind in its ability to align product designs and product information structures with existing manufacturing capabilities. By closing the gap with European and Japanese industries in these areas, US manufacturers will see considerable cost savings and a marked increase in competitiveness across industries. In particular, improvements in information management capabilities that accelerate time to market for new technologies and reduce production costs will play to both the US industry s strengths (in terms of having a strong core of high technology companies that will benefit from earlier product releases) and weaknesses (in terms of the strong cost competition US manufacturers face from companies in low wage countries). The above observations are supported by the work on the development of product information models in Europe by the MOKA effort that exploits the STEP, KIF and other DARPA-related efforts to create an integrated virtual product model for knowledge based engineering [38]. In a separate effort, the Virtual Product Model development from Germany is a comprehensive effort at developing standards for different aspects of product modeling including functional decomposition, product data, design process information and other aspects of product development [22]. Similar large scale efforts in the area of process systems engineering can be found in the IMPROVE project at RWTH Aachen, where design work process information models are integrated with chemical process system design information models [39]. The closing of the gap between US and European and Japanese companies can only be achieved if the US takes an active role in the development of standards for product information model so as to allow the American high tech industry (hardware and 12
245 software) to become major providers of the infrastructural components for PLM support worldwide [40]. 7. Towards a typology of standards and their convergence for PLM To achieve a PLM support system we need to move from product data exchange to product information exchange and eventually to product knowledge exchange. In the near future e-marketplaces will exchange design product and process knowledge over the web, and to do this we need both syntactic and semantic interoperability of various systems. With this overall objective, we have identified the following typology of standards that are relevant to PLM support. Standards for architectural frameworks In order to achieve the PLM objective of full interoperability, it is imperative that the different types of standards described below are reconciled and made convergent. In terms of integrating the types of standards described below, we will have to take into consideration the architectural frameworks for creating integrated PLM support system perspectives. Several integration frameworks standards have been proposed, such as the Zachman Framework [41] and the Department of Defense Framework (DoDAF) [25]. Content standards Standards such as ISO 10303, informally known as the STandard for Exchange of Product model data (STEP) are directed toward a particular type of content [42]. In the case of STEP the content is the product structure, geometry and part-related information. Information models for function, assembly and behavior are critical in the conceptual development of a product and its evaluation. The NIST work on a core product model and its extension to an assembly model may serve as organizing principles for standards that may emerge in this area [43], [44], [45], [46], [47]. A similar effort is the European Union (EU) funded project MOKA (Methodology and tools Oriented to Knowledgebased engineering applications) [38]. The MOKA modeling language is based on Unified Modeling Language (UML) and is designed to represent engineering design knowledge at a user level for deployment in Knowledge Based Engineering (KBE) applications. A NIST focus area is the standardization of the representation of manufacturing processes, called the Process Specification Language (PSL) [48]. Like product data, process data is used throughout the lifecycle of a product. This effort uses first order logic and Ontology Web Language (OWL)-like representations for its modeling [49]. Systems engineering Modeling Language (SysML) is an effort directed towards the specific domain of Systems Engineering. SysML is derived from the basic UML to cover the requirements, structure, behavior, parametrics, and the relation of structure to behavior (allocation) [40]. SysML reuses a subset of UML 2.0 diagrams and augments 13
246 them with some new diagrams and modeling constructs appropriate for systems modeling. The ManTIS Task Force of the Object Management Group (OMG) addresses Product Design, Planning, and Manufacture as well as Industrial Systems used in Manufacturing and Process Control purposes [50], [51]. The purpose of the Smart Machining Systems (SMS) program at NIST (USA) is to lead the development of an infrastructural capability for realizing these SMS capabilities for a broad range of product and process complexities. SMS is intended to be a key component of LCE by improving the performance of production systems and reducing production cost [52]. Information modeling standards The prime examples of information modeling standards are Express, RDF, UML and OWL. Industry consortia, standard organizations, and software vendors have come out with various standards such as Electronic Business using extensible Markup Language (ebxml) [53], commerce XML (cxml) [54], Chemical markup language(cml) [55], Bioinformatics Sequence Markup Language (BSML) [56], Mathematical Markup Language (MathML) [57], Materials Markup Language (MatML) [58], B5.59 [59]. etc., which primarily define XML vocabularies in specific domains. Ontology standards Semantically rich modeling languages, based on different forms of logic, have been developed through the W3C consortium and other bodies. These include standards such as Knowledge Interchange Format (KIF), OWL and Resource Description Framework (RDF) that support reasoning over the information representing a content domain [49; 60; 61]. All of these efforts are directed towards building formal ontologies that are expected to aid the process of semantic interoperability. The term ontology has been used for a number of years by the AI and knowledge representation communities, but is now commonly used by a much wider community including the object modeling and XML communities. Gruber defines ontology as a specification of a conceptualization [62]. Sowa defines ontology as a catalog of the types of things that are assumed to exist in a domain of interest from the perspective of a person who uses a language for the purpose of talking about the domain [63]. Ontology can also be defined as the study of concepts and their relationships. The objectives of efforts to develop shared foundational ontologies are based on their potential to use them as the basis for interoperation among trading partners in electronic markets. An ontology based approach for achieving interoperability is expected to have potential of enabling interoperability at the level of technical and business semantics. To quote Berners-Lee, "The Semantic Web is an extension of the current web in which information is given well-defined meaning, better enabling computers and people to work in cooperation." [64]. DARPA has funded a program called the DARPA Agent Markup Language 14
247 (DAML) [65]. The goal of DAML effort is to develop a language and tools to facilitate the concept of the semantic web. Information exchange standards Examples of information exchange standards are Electronic Data Interchange (EDI), XML, Simple Object Access Protocol (SOAP) and other specialized standards for exchange of data and information. Specialized versions of these standards are: STEPml, a library of XML specifications based on the content models from the STEP standard [66]; the Product Data Markup Language (PDML) [67] being developed as part of the Product Data Interoperability (PDI) project under the sponsorship of the Joint Electronic Commerce Program Office (JEPCO) [68]; 11 PLM XML, a set of XML schemas serving as a transport protocol; and BPML (Business Process Modeling Language), a metalanguage for the modeling of business processes. Other extensions to XML have been in the area of electronic exchange to replace traditional EDI standards with ebxml (ebusiness XML) standards and schemas to support electronic business transactions. Visualization standards Designers have been creating 3D artifacts with CAD applications for more than 25 years, creating a large library of data with a vast potential for reuse. One estimate suggests that for every 3D CAD user in design, engineering, or manufacturing, there are thirty potential users of data in marketing, product documentation, sales, support, customer service, and beyond. Through the 3D Industry Forum (3DIF), Intel is working with other companies to develop a standard file format to support the efficient reuse of 3D data [69]. The Universal 3D (U3D) specification is intended to simplify the transformation of complex 3D data into a format that can be streamed, compressed and viewed on affordable, nonproprietary software/hardware platforms while providing a high quality 3D visualization. Similar efforts are: X3D, an Open Standards XML-enabled 3D file format to enable real-time communication of 3D data [70] X3D, a powerful and extensible open file format standard for 3D visual effects, behavioral modeling and interaction; and JT Open, a program supported by UGS and others, to help leverage the benefits of open collaboration across the extended enterprise through the adoption of the JT format 12 [71]. 11 JECPO [68] has been re-named the Defense Electronic Business Program Office 12 JT is Engineering Animation Inc s DirectModel (.jt) file format. EAI is now part of UGS. 15
248 Product Engineering CAD/CAE/CAM Users STEPml, PDML, Web Services Process Engineering CAPP/ MES PSL Interface Layer (XML/RDF/Java) ecommerce Internet Auctions Semantic Layer (OWL/RDF/XML) Content layer BizTalk,ebXML,BPML, DAM Enterprise operation ERP/SCM RosattaNet, Agents XrML, ORDL, DRM, JDBC/ODBC/XS Content Management Security Digital Rights Management Visualization JX3D, U3D, Design Database Database server Archival Design Repository Future MANUFACTURING PRODUCT USE DISPOSAL IDEATION DESIGN ORGANIZATION DESIGN EVALUATION PRODUCT USE DETAILED DESIGN DISPOSAL CONCEPTUAL DESIGN IDEATION Current DESIGN ORGANIZATION DESIGN EVALUATION CONCEPTUAL DESIGN DETAILED DESIGN Figure 3: The relationship between PLM and standards Access and exchange rights standards The earlier types of standards focused on what is to be represented, how it is to be represented and how it is to be exchanged. What is missing is how much of the information needs to be exchanged and with whom. This is important from the point of view of information overload, intellectual property rights, and security. DRM (Digital Rights Management) refers to technologies that have been specifically developed for managing digital rights. The XrML - extensible rights Markup Language - provides a universal method for specifying rights and issuing conditions associated with the use and protection of content [72]. Various organizations such as the NIST Information Technology Laboratory and the World Intellectual Property Organization (WIPO) are establishing international standards in this area [73]. How do they all fit together? While there has been a rich set of standardization activities deriving from different needs and perspectives in the creation of standards for information, it is not clear how all of these standards will play a role in the development of a PLM system support for a networked organization. Figure 3 provides a vision of how all of the above standards potentially fit together for PLM support, without any detailed architectural suggestions. The architectural framework standards and information modeling standards are not identifiable in this figure; the various contents standards for the business processes 16
249 illustrated in the top row of the figure address the contents layer shown; while the information exchange standards, visualization standards and access standards are identified in the figure. The picture is by no means complete; it only serves to illustrate the functional roles played by the different standards. However, their integration remains an open question. Clearly the task of integrating the entire set of standards is beyond the capabilities of a single vendor to any given industry. We believe we are at the threshold of exploiting the efforts of a large number of researchers, practitioners, users and students to continuously integrate their work into the larger vision of full PLM support for particular industries. However, the current disparate standards with differing assumptions and purposes are not easily reconciled; neither can they be solved by single entities. The extraction of positive network externalities in the networked manufacturing economy can only be achieved by the free flow of ideas and the exchange of knowledge in a public or semi-public space to create new innovations in the new knowledge economy [74]. We will be left with no choice but to develop a pragmatic mechanism for supporting the development of standards in an open environment where the participation of all parties concerned will become critical. The convergence of standards can only take place in an open environment given the complexity of the task ahead. This realization can be seen in the publications of information technology vendors such as IBM, end users such as DOD and engineering consultants making a case for open standards for the information base required to support the underlying IT infrastructure to accommodate legacy and changing technologies [24], [24], [21; 75], [28]. To encourage this process, the Manufacturing Interoperability Program of the Manufacturing Engineering Laboratory of NIST is focusing on achieving convergence among these types of standards. However, more open and wide industrial participation that include vendors, end-users and other interested parties including DOD and NIST will have to created to address this challenge. Beyond the convergence of the types of standards referred to in this paper, other aspects such as traceability, validation, verification and other audit functions will have to be considered in the support system for PLM [76]. 8. Conclusions and recommendations In this paper, we provided an overview of the changing design and manufacturing landscape in the 21 st century that has come about because of the arrival of IT and the changing global conditions. Based on this overview and a review of the current state of IT for PLM support in the design and manufacturing sector, assisted by a preliminary study of some industries, we identify the areas of need for standards, the development of an initial typology of standards and an initial sketch for bringing convergence of these standards in support of PLM. We make a case in this paper that given the nature of the task we need to aspire to create open standards with wide participation. It is always said that markets are the best determinants of standards and, if history is guide, even market forces lead to co-operation among competitors to work towards open standards. Publications in the popular press lead us to believe that IT vendors are ready for a move towards open standards. 17
250 As newly industrializing countries take over a substantial part of manufacturing from industrialized countries, the competitive advantage for countries such as the US will come from a superior infrastructure that expands the market for US manufacturers and their innovative capabilities, overcoming the labor arbitrage currently enjoyed by the newly industrializing countries. As those countries become more dominant in manufacturing and their market size increases, they could determine the standards in this area, thereby reducing further the ability to exploit competitive advantages of the innovative culture of US industry. The phenomenon of setting standards can already be observed in the telecommunication industry, with China developing its own 3G standards as well as other standards. These developments, instead of enlarging the market for US small and medium scale industries, will shrink their market, leading to a very expensive industrial base that is not sustainable and detrimental to national security. It is in this global context that we need to create open standards for exchange of information for different levels of intensity of interaction among the different nodes in the networked economy so as to allow it to reconfigure itself to changing economic and social conditions. Institutions such as NIST are playing an important role in this context, and acts as a neutral party in the standards debates and implementations. The growth of the US in the last century was aided by the significant role that the National Bureau of Standards (NBS), the precursor of NIST, has played. The critical role in the new century for NIST is to be the role of neutral body and enabler of standards compliance by vendors, similar to the one being played by NIST in the OASIS consortium for ebxml. This role is not new for a standards agency, as it has played this role in the world of physical metrology. This role will only grow beyond the manufacturing sector to the financial, health care and other sectors where information will play a dominant role. References 1. Garud, R., Kumuraswamy, A., and Langlois, R. N., Introduction, In Managing in the modular age: architectures, networks and organizations, Blackwell Publishers. 2. Garud, R. and Kumuraswamy, A., Technological and organizational designs to achieve economies of substitution, Strategic Management Journal, Vol. 16, 1995, pp Langlois, R. N. and Robertson, D., Networks and innovation in a modular system: lessons from microcomputer and stereo components industry, Research Policy, Vol. 21, No. 297, 1992, pp Whitney, D. E., Physical Limits to Modularity, Evans, H., They Made America, Little Brown and Company 2004, pp Westney, E., Anote on the sequential models of Internationalization, Cairnoss, F., and Cairncross, F. C., The Death of Distance: How the Communications Revolution Is Changing our Lives, Harvard Business School Press; Compl Rev edition Brynjolfsson, E., The IT Productivity Gap, Optimize [21] David, P., Understanding Digital Technology's Evolution and the Path of Measured Productivity Growth: Present and Future in the Mirror of the Past, MIT Press. Understanding the Digital Economy. 10. Fenves, S. J., Sriram, R. D., Choi, Y., and Robert, J. E., Advanced Engineering Environments for Small Manufacturing Enterprises: Volume I, NISTIR 7055, Fenves, S. J., Sriram, R. D., Choi, Y., Elm, J. P., and Robert, J. E., Advanced Engineering Environments for Small Manufacturing Enterprises: Volume II, NISTIR-7090,
251 12. Gregory, T., Interoperability Cost Analysis of the U.S. Automotive Supply Chain, National Institute of Standards and Technology, Deprtment of Commerce, USA, 99-1 Planning Report, Simon, H., Lecture on AI at CMU David, P. A., and Wright, G., General Purpose Technologies and Surges in Productivity: Historical Reflections on the Future of the ICT Revolution, University of Oxford Discussion Paper # Brian, A., IT Reloaded: Interview with Brian Arthur, CIO Magazine Hammer, M., Deep Change: How Operational Innovation Can Transform Your Company, Harvard Business Review, No. April, von Corswant, F., Wynstra, F., and Wetzels, M., In Chains? Automotive Suppliers and Their Product Development Activities, ERIM Report Series Reference No. ERS LIS, Lederberg, J., Introduction: Reflections on Scinetific Biography, [3], xvii-xxiv Annual Reviews Inc, CA, USA. The excitement and fascination of science: Reflections by eminent scientists- Part Westerberg, A., Subrahmanian, E., Konda, S. L., and Reich, Y., Designing the Design Process, Special Issue of Computers and Chemical Engineering 21, s1-s Stewart, T. A., Intellectual Capital: The New Wealth of Organizations, Currency C4ISR Architecture Working Group, Levels of Information Systems Interoperability (LISI): C4ISR Architecture Working Group Final Report, Ingward, B., Falk, M., Edwin, S., and Erik, M., Project ivip: Integrated Virtual Product Creation - Final Report Organisation responsible for production and manufacturing technologies (PFT), Research Centre Karlsruhe GmbH. 23. LISI, Levels of Information Systems Interoperability (LISI), C4ISR98, C4ISR Architecture Working group, 1998, Srinivasan, V., Open Up PLM Systems, Design News DoD, DoD Architecture Framework Working Group, DoD Architecture Framework Version 1.0, Volume I: Definitions and Guidelines, Simon, H., Architecture of complexity, Proceedings of the American Philosophical Society, Vol. 106, 1962, pp Shapiro, C. and Varian, H., The art of standard wars, California Management Review, Vol. 41, No. 2, 1999, pp Stark, J., Product Lifecycle Management: Paradigm for 21st century Product Realisation, Springerverlag Simon, H. A., Organization of markets, Journal of Economic Perspective, 5(2), 1999, pp Powell, W. W., Neither market nor hierarchy: network forms of organization, Greenwich, CT, JAI Press. Research in Organizational Behavior. 31. Kamath, R. R. and Liker, J. K., A Second Look at Japanese Product Development, Harvard Business Review, Liker, J. K., Wasti, N., and Liker, "Collaborating with Suppliers in Product Development: A U.S. and Japan Comparative Study, IEEE Transactions on Engineering Management, Vol. 46, No. 4, 1999, pp Burkett, M., Kemmeter, J., and O'Marah, K., Product Lifecycle Management: What's Real Now, AMR Resech, September 2002, Understanding Product Lifecycle Management, Datamation Limited, UK, PLM-11, CIMData, Enterprises of All Sizes Can Benefit from PLM, Robertson, D. and Allen, T. J., CAD system use and engineering performance, IEEE Transactions on Engineering Management, Vol. 40, No. 3, 1993, pp Liker, J. K., The Toyota Way: 14 Management Principles from the world's greatest manufacturer, Mc Graw Hill MOKA, MOKA: A Framework for structuring and representing engineering knowledge, Marquardt, W., and Nagl, M., Workflow and Information Centered Support of Design Processes, Elsevier. Process Systems Engineering. 40. Bock, C., Systems Engineering in the Product Lifecycle, International Journal of Product Development, Special Issue on Product Lifecycle Management, Sowa, J. F. and Zachman, J. A., Extending and Formalizing the Framework for Information Systems Architecture, IBM Systems Journal, Vol. 31, No. 3, 1992, pp
252 42. Kemmerer, S., STEP: The Grand Experience, (Editor), NIST Special Publication 939, National Institute of Standards and Technology, Gaithersburg, MD 20899, USA, Sudarsan, R., Baysal, M. M., Roy, U., Sebti Foufou, Bock, C., Steven J.Fenves, Subrahmanin, E., Kevin W.Lyons, and Ram D Sriram, Information Models for Product Representation: Core and Assembly Models, NISTIR 7173, NIST, Gaithersburg, MD 20899, Dec Sudarsan, R., Roy, U., Sriram, R. D., Lyons, K. W., and Duffey, M. R., Information Architecture for Design Tolerancing: from Conceptual to the Detail Design, Proc. of DETC'99, I999 ASME International Design Engineering Technical Conferences, Nevada, Las Vegas, USA, Sudarsan, R., Young-Hyun H, Feng, S. C., Roy, U., Fujun W., Sriram, R. D., and Lyons, K. W., Object-oriented Representation of Electro-Mechanical Assemblies Using UML, National Institute of Standards and Technology, NISTIR 7057, Gaithersburg, MD 20899, USA, Fenves, S. J., A Core Product Model For Representing Design Information, National Institute of Standards and Technology, NISTIR6736, Gaithersburg, MD 20899, USA, Fenves, S., Foufou, S., Bock, C., Bouillon, N., and Sriram, R. D., CPM2: A Revised Core Product Model for Representing Design Information, National Institute of Standards and Technology, NISTIR 7185, Gaithersburg, MD 20899, USA, Process Specification language (PSL), OWL, Ontology Web Language, Sriram, R. D., Standards for the Collaborative Design Enterprise, Response to Object Management Group's (OMG) Mfg DTG RFI #4, Manufacturing Technology and Industrial Systems Task Force Request for Information #1, Knowledge-Based Engineering (KBE) Product and Process Engineering Working Group (PPE WG), Deshayes, L., Welsch, L., Donmez, A., Ivester, R., Gilssin, D., Rhorer, R., Whitenton, E., and Potra, F., Smart Machining Systems: Issues and Research Trends, CIRP, Grenoble, France, ebxml, cxml, CML, BSML, Mathematical Markup Language, Materials Markup Language (MatML), ASME B5/TC56 Committee, Information Technology for Machine Tools - Parts 1 and 2: Data Sepecification for Machine Tool Performance Tests- Draft ASME. 60. RDF- Resource Desciption Framework, KIF-Knowledge Interchange Format, Gruber, T., What is an Ontology? Sowa, J. F., Knowledge representation, Logical, Philosophical, and Computational Foundations, Brooks/Cole Tim Berners-Lee, Hendler, J., and Lassila, O., The Semantic Web, A new form of Web content that is meaningful to computers will unleash a revolution of new possibilities, Scientific American, DARPA Agent Markup Language (DAML) Program, STEPml - STEP markup Language, Product Data Markup Language (PDML), Joint Electronic Commerce Program Office (JECPO) re-named as Defense Electronic Business Program Office, D Industry Forum (3DIF), Web3D: Open Standards for Real-Time 3D Communication, JTOpen, extensible rights Markup Language (XrML), The World Intellectual Property Organization (WIPO), David, P. A. and Foray, D., Economic Fundamentals of the Knowledge Society,Policy Futures In Education, An e-journal : Special Issue:.Education and the Knowledge Economy, Vol. 1(1), Mick, R., Defining and Measuring Interoperability, ARC Insights, Insight Denno, P. and Thurman, T., Requirements on Information Technology for Product Lifecycle Management, International Journal of Product Development - Special Issue on PLM, Vol. 5, No. 1,
Curriculum Vitae. Qualifié aux fonctions de Professeurs des universités en sections 27 et 61.
Curriculum Vitae Sebti FOUFOU Maître de conférences, section 27, depuis sept. 98 Laboratoire LE2i, UFR Sciences et Techniques, Université de Bourgogne, BP 47870, 21078 Dijon, France 40 ans, Marié, 3 enfants,
Analyse de la vidéo. Chapitre 4.1 - La modélisation pour le suivi d objet. 10 mars 2015. Chapitre 4.1 - La modélisation d objet 1 / 57
Analyse de la vidéo Chapitre 4.1 - La modélisation pour le suivi d objet 10 mars 2015 Chapitre 4.1 - La modélisation d objet 1 / 57 La représentation d objets Plan de la présentation 1 La représentation
Big Data et Graphes : Quelques pistes de recherche
Big Data et Graphes : Quelques pistes de recherche Hamamache Kheddouci Laboratoire d'informatique en Image et Systèmes d'information LIRIS UMR 5205 CNRS/INSA de Lyon/Université Claude Bernard Lyon 1/Université
ANALYSE CATIA V5. 14/02/2011 Daniel Geffroy IUT GMP Le Mans
ANALYSE CATIA V5 1 GSA Generative Structural Analysis 2 Modèle géométrique volumique Post traitement Pré traitement Maillage Conditions aux limites 3 Ouverture du module Choix du type d analyse 4 Calcul
Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007
Vision industrielle et télédétection - Détection d ellipses Guillaume Martinez 17 décembre 2007 1 Table des matières 1 Le projet 3 1.1 Objectif................................ 3 1.2 Les choix techniques.........................
Big Data et Graphes : Quelques pistes de recherche
Big Data et Graphes : Quelques pistes de recherche Hamamache Kheddouci http://liris.cnrs.fr/hamamache.kheddouci Laboratoire d'informatique en Image et Systèmes d'information LIRIS UMR 5205 CNRS/INSA de
Object Removal by Exemplar-Based Inpainting
Object Removal by Exemplar-Based Inpainting Kévin Polisano A partir d un article de A. Criminisi, P. Pérez & H. K. Toyama 14/02/2013 Kévin Polisano Object Removal by Exemplar-Based Inpainting 14/02/2013
Université de Bangui. Modélisons en UML
Université de Bangui CRM Modélisons en UML Ce cours a été possible grâce à l initiative d Apollinaire MOLAYE qui m a contacté pour vous faire bénéficier de mes connaissances en nouvelles technologies et
Fonctions de plusieurs variables
Module : Analyse 03 Chapitre 00 : Fonctions de plusieurs variables Généralités et Rappels des notions topologiques dans : Qu est- ce que?: Mathématiquement, n étant un entier non nul, on définit comme
Sujet 1 : Diagnostique du Syndrome de l apnée du sommeil par des techniques d analyse discriminante.
Sujet 1 : Diagnostique du Syndrome de l apnée du sommeil par des techniques d analyse discriminante. Objectifs et formulation du sujet Le syndrome de l apnée du sommeil (SAS) est un problème de santé publique
modélisation solide et dessin technique
CHAPITRE 1 modélisation solide et dessin technique Les sciences graphiques regroupent un ensemble de techniques graphiques utilisées quotidiennement par les ingénieurs pour exprimer des idées, concevoir
Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION
Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION Classe de terminale de la série Sciences et Technologie du Management et de la Gestion Préambule Présentation Les technologies de l information
Utilisation d informations visuelles dynamiques en asservissement visuel Armel Crétual IRISA, projet TEMIS puis VISTA L asservissement visuel géométrique Principe : Réalisation d une tâche robotique par
FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)
FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4) Bernard Le Stum Université de Rennes 1 Version du 13 mars 2009 Table des matières 1 Fonctions partielles, courbes de niveau 1 2 Limites et continuité
Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?
Exercices Alternatifs Quelqu un aurait-il vu passer un polynôme? c 2004 Frédéric Le Roux, François Béguin (copyleft LDL : Licence pour Documents Libres). Sources et figures: polynome-lagrange/. Version
Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?
Exercices Alternatifs Quelqu un aurait-il vu passer un polynôme? c 2004 Frédéric Le Roux, François Béguin (copyleft LDL : Licence pour Documents Libres). Sources et figures: polynome-lagrange/. Version
Fonctions de plusieurs variables
Maths MP Exercices Fonctions de plusieurs variables Les indications ne sont ici que pour être consultées après le T (pour les exercices non traités). Avant et pendant le T, tenez bon et n allez pas les
données en connaissance et en actions?
1 Partie 2 : Présentation de la plateforme SPSS Modeler : Comment transformer vos données en connaissance et en actions? SPSS Modeler : l atelier de data mining Large gamme de techniques d analyse (algorithmes)
SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique
SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique DOMAINE P3.C3.D1. Pratiquer une démarche scientifique et technologique, résoudre des
REMOTE DATA ACQUISITION OF EMBEDDED SYSTEMS USING INTERNET TECHNOLOGIES: A ROLE-BASED GENERIC SYSTEM SPECIFICATION
REMOTE DATA ACQUISITION OF EMBEDDED SYSTEMS USING INTERNET TECHNOLOGIES: A ROLE-BASED GENERIC SYSTEM SPECIFICATION THÈSE N O 2388 (2001) PRÉSENTÉE AU DÉPARTEMENT D'INFORMATIQUE ÉCOLE POLYTECHNIQUE FÉDÉRALE
MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»
MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE» Du cours Modélisation Semi -Formelle de Système d Information Du Professeur Jean-Pierre GIRAUDIN Décembre. 2002 1 Table de matière Partie 1...2 1.1
Résolution d équations non linéaires
Analyse Numérique Résolution d équations non linéaires Said EL HAJJI et Touria GHEMIRES Université Mohammed V - Agdal. Faculté des Sciences Département de Mathématiques. Laboratoire de Mathématiques, Informatique
Reconstruction de bâtiments en 3D à partir de nuages de points LIDAR
Reconstruction de bâtiments en 3D à partir de nuages de points LIDAR Mickaël Bergem 25 juin 2014 Maillages et applications 1 Table des matières Introduction 3 1 La modélisation numérique de milieux urbains
Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.
Promotion X 004 COURS D ANALYSE DES STRUCTURES MÉCANIQUES PAR LA MÉTHODE DES ELEMENTS FINIS (MEC 568) contrôle non classant (7 mars 007, heures) Documents autorisés : polycopié ; documents et notes de
Les algorithmes de base du graphisme
Les algorithmes de base du graphisme Table des matières 1 Traçage 2 1.1 Segments de droites......................... 2 1.1.1 Algorithmes simples.................... 3 1.1.2 Algorithmes de Bresenham (1965).............
Une méthode d apprentissage pour la composition de services web
Une méthode d apprentissage pour la composition de services web Soufiene Lajmi * Chirine Ghedira ** Khaled Ghedira * * Laboratoire SOIE (ENSI) University of Manouba, Manouba 2010, Tunisia [email protected],
Synthèse d'images I. Venceslas BIRI IGM Université de Marne La
Synthèse d'images I Venceslas BIRI IGM Université de Marne La La synthèse d'images II. Rendu & Affichage 1. Introduction Venceslas BIRI IGM Université de Marne La Introduction Objectif Réaliser une image
Calculer avec Sage. Revision : 417 du 1 er juillet 2010
Calculer avec Sage Alexandre Casamayou Guillaume Connan Thierry Dumont Laurent Fousse François Maltey Matthias Meulien Marc Mezzarobba Clément Pernet Nicolas Thiéry Paul Zimmermann Revision : 417 du 1
COURS EULER: PROGRAMME DE LA PREMIÈRE ANNÉE
COURS EULER: PROGRAMME DE LA PREMIÈRE ANNÉE Le cours de la première année concerne les sujets de 9ème et 10ème années scolaires. Il y a bien sûr des différences puisque nous commençons par exemple par
Modélisation 3D par le modèle de turbulence k-ε standard de la position de la tête sur la force de résistance rencontrée par les nageurs.
Modélisation 3D par le modèle de turbulence k-ε standard de la position de la tête sur la force de résistance rencontrée par les nageurs. H. ZAÏDI a, S. FOHANNO a, R. TAÏAR b, G. POLIDORI a a Laboratoire
Projet de traitement d'image - SI 381 reconstitution 3D d'intérieur à partir de photographies
Projet de traitement d'image - SI 381 reconstitution 3D d'intérieur à partir de photographies Régis Boulet Charlie Demené Alexis Guyot Balthazar Neveu Guillaume Tartavel Sommaire Sommaire... 1 Structure
INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude
INF 1250 INTRODUCTION AUX BASES DE DONNÉES Guide d étude Sous la direction de Olga Mariño Télé-université Montréal (Québec) 2011 INF 1250 Introduction aux bases de données 2 INTRODUCTION Le Guide d étude
Formats 3D Critères d utilisation dans les échanges Frédéric CHAMBOLLE PSA Peugeot Citroën Direction des Systèmes d Information
Formats 3D Critères d utilisation dans les échanges Frédéric CHAMBOLLE PSA Peugeot Citroën Direction des Systèmes d Information Atelier Ingénierie GALIA 30 novembre 2010 Introduction Les travaux de ce
L analyse d images regroupe plusieurs disciplines que l on classe en deux catégories :
La vision nous permet de percevoir et d interpreter le monde qui nous entoure. La vision artificielle a pour but de reproduire certaines fonctionnalités de la vision humaine au travers de l analyse d images.
Traitement bas-niveau
Plan Introduction L approche contour (frontière) Introduction Objectifs Les traitements ont pour but d extraire l information utile et pertinente contenue dans l image en regard de l application considérée.
Forthcoming Database
DISS.ETH NO. 15802 Forthcoming Database A Framework Approach for Data Visualization Applications A dissertation submitted to the SWISS FEDERAL INSTITUTE OF TECHNOLOGY ZURICH for the degree of Doctor of
Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test
Grandes lignes Analyseur Statique de logiciels Temps RÉel Embarqués École Polytechnique École Normale Supérieure Mercredi 18 juillet 2005 1 Présentation d 2 Cadre théorique de l interprétation abstraite
Deux disques dans un carré
Deux disques dans un carré Table des matières 1 Fiche résumé 2 2 Fiche élève Seconde - version 1 3 2.1 Le problème............................................... 3 2.2 Construction de la figure avec geogebra...............................
An Ontology-Based Approach for Closed-Loop Product Lifecycle Management
An Ontology-Based Approach for Closed-Loop Product Lifecycle Management THÈSE N O 4823 (2010) PRÉSENTÉE LE 15 OCTOBRE 2010 À LA FACULTÉ SCIENCES ET TECHNIQUES DE L'INGÉNIEUR LABORATOIRE DES OUTILS INFORMATIQUES
Nomination persistante dans un modèle paramétrique. Identification non-ambiguë et appariement générique d entités topologiques.
E cole N ationale S upérieure de M écanique et d A érotechnique Ecole Doctorale des Sciences Pour l Ingénieur Université de Poitiers THESE pour l obtention du grade de DOCTEUR DE L UNIVERSITE DE POITIERS
physicien diplômé EPFZ originaire de France présentée acceptée sur proposition Thèse no. 7178
Thèse no. 7178 PROBLEMES D'OPTIMISATION DANS LES SYSTEMES DE CHAUFFAGE A DISTANCE présentée à l'ecole POLYTECHNIQUE FEDERALE DE ZURICH pour l'obtention du titre de Docteur es sciences naturelles par Alain
Hervé Couturier EVP, SAP Technology Development
Hervé Couturier EVP, SAP Technology Development Hervé Biausser Directeur de l Ecole Centrale Paris Bernard Liautaud Fondateur de Business Objects Questions à: Hervé Couturier Hervé Biausser Bernard Liautaud
Filtrage stochastique non linéaire par la théorie de représentation des martingales
Filtrage stochastique non linéaire par la théorie de représentation des martingales Adriana Climescu-Haulica Laboratoire de Modélisation et Calcul Institut d Informatique et Mathématiques Appliquées de
Introduction au maillage pour le calcul scientifique
Introduction au maillage pour le calcul scientifique CEA DAM Île-de-France, Bruyères-le-Châtel [email protected] Présentation adaptée du tutorial de Steve Owen, Sandia National Laboratories, Albuquerque,
Catalogue des connaissances de base en mathématiques dispensées dans les gymnases, lycées et collèges romands.
Catalogue des connaissances de base en mathématiques dispensées dans les gymnases, lycées et collèges romands. Pourquoi un autre catalogue en Suisse romande Historique En 1990, la CRUS (Conférences des
Programmation linéaire
1 Programmation linéaire 1. Le problème, un exemple. 2. Le cas b = 0 3. Théorème de dualité 4. L algorithme du simplexe 5. Problèmes équivalents 6. Complexité de l Algorithme 2 Position du problème Soit
Information utiles. [email protected]. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/
Systèmes de gestion de bases de données Introduction Université d Evry Val d Essonne, IBISC utiles email : [email protected] webpage : http://www.ibisc.univ-evry.fr/ digiusto/ Google+ : https://plus.google.com/u/0/b/103572780965897723237/
LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN
LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN Les contenues de ce document sont la propriété exclusive de la société REVER. Ils ne sont transmis qu à titre d information et ne peuvent en aucun cas
Calcul intégral élémentaire en plusieurs variables
Calcul intégral élémentaire en plusieurs variables PC*2 2 septembre 2009 Avant-propos À part le théorème de Fubini qui sera démontré dans le cours sur les intégrales à paramètres et qui ne semble pas explicitement
Exemple d application en CFD : Coefficient de traînée d un cylindre
Exemple d application en CFD : Coefficient de traînée d un cylindre 1 Démarche générale Avec Gambit Création d une géométrie Maillage Définition des conditions aux limites Avec Fluent 3D Choix des équations
TUTORIAL 1 ETUDE D UN MODELE SIMPLIFIE DE PORTIQUE PLAN ARTICULE
TUTORIAL 1 ETUDE D UN MODELE SIMPLIFIE DE PORTIQUE PLAN ARTICULE L'objectif de ce tutorial est de décrire les différentes étapes dans CASTOR Concept / FEM permettant d'effectuer l'analyse statique d'une
Correction du Baccalauréat S Amérique du Nord mai 2007
Correction du Baccalauréat S Amérique du Nord mai 7 EXERCICE points. Le plan (P) a une pour équation cartésienne : x+y z+ =. Les coordonnées de H vérifient cette équation donc H appartient à (P) et A n
Chapitre 2 : Caractéristiques du mouvement d un solide
Chapitre 2 : Caractéristiques du mouvement d un solide I Rappels : Référentiel : Le mouvement d un corps est décris par rapport à un corps de référence et dépend du choix de ce corps. Ce corps de référence
UNE EXPERIENCE, EN COURS PREPARATOIRE, POUR FAIRE ORGANISER DE L INFORMATION EN TABLEAU
Odile VERBAERE UNE EXPERIENCE, EN COURS PREPARATOIRE, POUR FAIRE ORGANISER DE L INFORMATION EN TABLEAU Résumé : Cet article présente une réflexion sur une activité de construction de tableau, y compris
CAPTEURS - CHAINES DE MESURES
CAPTEURS - CHAINES DE MESURES Pierre BONNET Pierre Bonnet Master GSI - Capteurs Chaînes de Mesures 1 Plan du Cours Propriétés générales des capteurs Notion de mesure Notion de capteur: principes, classes,
Méthodologie de conception des Systèmes d Aide à l Exploitation des Simulateurs d Entraînement
Méthodologie de conception des Systèmes d Aide à l Exploitation des Simulateurs d Entraînement Michelle Joab LIP6 Systèmes d Aide à la Décision et à la Formation (SYSDEF) Université Pierre-et-Marie Curie
Paramétrage quasi-optimal de l intersection de deux quadriques : théorie, algorithmes et implantation
Paramétrage quasi-optimal de l intersection de deux quadriques : théorie, algorithmes et implantation Laurent Dupont To cite this version: Laurent Dupont. Paramétrage quasi-optimal de l intersection de
Objectifs. Clustering. Principe. Applications. Applications. Cartes de crédits. Remarques. Biologie, Génomique
Objectifs Clustering On ne sait pas ce qu on veut trouver : on laisse l algorithme nous proposer un modèle. On pense qu il existe des similarités entre les exemples. Qui se ressemble s assemble p. /55
Détection de têtes dans un nuage de points 3D à l aide d un modèle de mélange sphérique
Détection de têtes dans un nuage de points 3D à l aide d un modèle de mélange sphérique Denis Brazey & Bruno Portier 2 Société Prynɛl, RD974 290 Corpeau, France [email protected] 2 Normandie Université,
Systèmes d information et bases de données (niveau 1)
Systèmes d information et bases de données (niveau 1) Cours N 1 Violaine Prince Plan du cours 1. Bibliographie 2. Introduction aux bases de données 3. Les modèles 1. Hiérarchique 2. Réseau 3. Relationnel
MEMOIRE POUR UNE HABILITATION A DIRIGER DES RECHERCHES
UNIVERSITE DE BOURGOGNE MEMOIRE POUR UNE HABILITATION A DIRIGER DES RECHERCHES Discipline : Sciences de Gestion Matière : Finance Candidate : Aurélie SANNAJUST Fonction : Maître de Conférences à l Université
Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language
Unified Modeling Language UML Salima Hassas Version Cycle de vie du logiciel Client Besoins Déploiement Analyse Test Conception Cours sur la base des transparents de : Gioavanna Di Marzo Serugendo et Frédéric
Éditorial. Tangente ÉDUCATION. Scratch, AlgoBox, Python. Trimestriel - n 15 - janvier 2011 Numéro spécial 16 activités TICE pour le lycée
Tangente ÉDUCATION Trimestriel - n 15 - janvier 2011 Numéro spécial 16 activités TICE pour le lycée et leurs programmes dans les trois langages les plus utilisés : Scratch, AlgoBox, Python Python Éditorial
F1C1/ Analyse. El Hadji Malick DIA
F1C1/ Analyse Présenté par : El Hadji Malick DIA [email protected] Description sommaire du cours Porte sur l analyse réelle propose des outils de travail sur des éléments de topologie élémentaire
Détection des points d intérêt et Segmentation des images RGB-D. Présentée par : Bilal Tawbe. Semaine de la recherche de l UQO
Détection des points d intérêt et Segmentation des images RGB-D Présentée par : Bilal Tawbe Semaine de la recherche de l UQO 25 Mars 2015 1. Introduction Les méthodes de détection de points d intérêt ont
Echantillonnage Non uniforme
Echantillonnage Non uniforme Marie CHABERT IRIT/INP-ENSEEIHT/ ENSEEIHT/TéSASA Patrice MICHEL et Bernard LACAZE TéSA 1 Plan Introduction Echantillonnage uniforme Echantillonnage irrégulier Comparaison Cas
Mini projet n 1 DOSSIER DE CONCEPTION Clef USB
Mini projet n 1 DOSSIER DE CONCEPTION Clef USB Dossier de conception 1/21 1. PRESENTATION GENERALE DU MINI PROJET 1.1 Contexte de l étude Situation existante avec un problème. Présentation de l objectif
ÉTUDE DE L EFFICACITÉ DE GÉOGRILLES POUR PRÉVENIR L EFFONDREMENT LOCAL D UNE CHAUSSÉE
ÉTUDE DE L EFFICACITÉ DE GÉOGRILLES POUR PRÉVENIR L EFFONDREMENT LOCAL D UNE CHAUSSÉE ANALYSIS OF THE EFFICIENCY OF GEOGRIDS TO PREVENT A LOCAL COLLAPSE OF A ROAD Céline BOURDEAU et Daniel BILLAUX Itasca
Conception intégrée assistée par ordinateur
Conception intégrée assistée par ordinateur par Mounib MEKHILEF Maître de conférences en Productique à la faculté des sciences de Bourges Responsable de recherche au laboratoire Productique de l École
IFT2255 : Génie logiciel
IFT2255 : Génie logiciel Chapitre 6 - Analyse orientée objets Section 1. Introduction à UML Julie Vachon et Houari Sahraoui 6.1. Introduction à UML 1. Vers une approche orientée objet 2. Introduction ti
Chafa Azzedine - Faculté de Physique U.S.T.H.B 1
Chafa Azzedine - Faculté de Physique U.S.T.H.B 1 Définition: La cinématique est une branche de la mécanique qui étudie les mouements des corps dans l espace en fonction du temps indépendamment des causes
$SSOLFDWLRQGXNULJHDJHSRXUOD FDOLEUDWLRQPRWHXU
$SSOLFDWLRQGXNULJHDJHSRXUOD FDOLEUDWLRQPRWHXU Fabien FIGUERES [email protected] 0RWVFOpV : Krigeage, plans d expériences space-filling, points de validations, calibration moteur. 5pVXPp Dans le
Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé
Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé A. P. M. E. P. Exercice 1 5 points 1. Réponse d. : 1 e Le coefficient directeur de la tangente est négatif et n est manifestement pas 2e
Logiciel Libre Cours 3 Fondements: Génie Logiciel
Logiciel Libre Cours 3 Fondements: Génie Logiciel Stefano Zacchiroli [email protected] Laboratoire PPS, Université Paris Diderot 2013 2014 URL http://upsilon.cc/zack/teaching/1314/freesoftware/
F411 - Courbes Paramétrées, Polaires
1/43 Courbes Paramétrées Courbes polaires Longueur d un arc, Courbure F411 - Courbes Paramétrées, Polaires Michel Fournié [email protected] http://www.math.univ-toulouse.fr/ fournie/ Année 2012/2013
Le Crédit-bail mobilier dans les procédures collectives
Aimé Diaka Le Crédit-bail mobilier dans les procédures collectives Publibook Retrouvez notre catalogue sur le site des Éditions Publibook : http://www.publibook.com Ce texte publié par les Éditions Publibook
VISUALISATION DE NUAGES DE POINTS
ARNAUD BLETTERER MULTI-RÉSOLUTION 1/16 VISUALISATION DE NUAGES DE POINTS MULTI-RÉSOLUTION AU TRAVERS DE CARTES DE PROFONDEUR Arnaud Bletterer Université de Nice Sophia Antipolis Laboratoire I3S - Cintoo
La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1
La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1 La licence Mathématiques et Economie-MASS de l Université des Sciences Sociales de Toulouse propose sur les trois
Chp. 4. Minimisation d une fonction d une variable
Chp. 4. Minimisation d une fonction d une variable Avertissement! Dans tout ce chapître, I désigne un intervalle de IR. 4.1 Fonctions convexes d une variable Définition 9 Une fonction ϕ, partout définie
Baccalauréat ES/L Amérique du Sud 21 novembre 2013
Baccalauréat ES/L Amérique du Sud 21 novembre 2013 A. P. M. E. P. EXERCICE 1 Commun à tous les candidats 5 points Une entreprise informatique produit et vend des clés USB. La vente de ces clés est réalisée
3 Approximation de solutions d équations
3 Approximation de solutions d équations Une équation scalaire a la forme générale f(x) =0où f est une fonction de IR dans IR. Un système de n équations à n inconnues peut aussi se mettre sous une telle
Conception architecturale et modélisation déclarative
Conception architecturale et modélisation déclarative Gérard HEGRON CERMA UMR CNRS 1563 École d Architecture de Nantes Rue Massenet, BP 81931 44 319 Nantes cedex 3 [email protected] Résumé Les
Utilisation de l ingénierie des modèles pour la conception collaborative de produits mécaniques
Utilisation de l ingénierie des modèles pour la conception collaborative de produits mécaniques Mathias Kleiner Laboratoire des Sciences de l Information et des Systèmes (LSIS) - UMR CNRS 7296 Projet Ingenierie
Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/
Recherche opérationnelle Les démonstrations et les exemples seront traités en cours Souad EL Bernoussi Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Table des matières 1 Programmation
Préparer un état de l art
Préparer un état de l art Khalil DRIRA LAAS-CNRS, Toulouse Unité de recherche ReDCAD École Nationale d ingénieurs de Sfax Étude de l état de l art? Une étude ciblée, approfondie et critique des travaux
Quick Start Guide This guide is intended to get you started with Rational ClearCase or Rational ClearCase MultiSite.
Rational ClearCase or ClearCase MultiSite Version 7.0.1 Quick Start Guide This guide is intended to get you started with Rational ClearCase or Rational ClearCase MultiSite. Product Overview IBM Rational
Table des matières. I Mise à niveau 11. Préface
Table des matières Préface v I Mise à niveau 11 1 Bases du calcul commercial 13 1.1 Alphabet grec...................................... 13 1.2 Symboles mathématiques............................... 14 1.3
Reconnaissance de visages 2.5D par fusion des indices de texture et de profondeur ICI 12/12/12
Reconnaissance de visages 2.5D par fusion des indices de texture et de profondeur ICI 12/12/12 2 Discrimination Invariance Expressions faciales Age Pose Eclairage 11/12/2012 3 Personne Inconnue Identité
Formats d images. 1 Introduction
Formats d images 1 Introduction Lorsque nous utilisons un ordinateur ou un smartphone l écran constitue un élément principal de l interaction avec la machine. Les images sont donc au cœur de l utilisation
De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que
Introduction. On suppose connus les ensembles N (des entiers naturels), Z des entiers relatifs et Q (des nombres rationnels). On s est rendu compte, depuis l antiquité, que l on ne peut pas tout mesurer
Développement d un interpréteur OCL pour une machine virtuelle UML.
ObjeXion Software Prototyping made easy SA au capital de 500 000 F Siret 421 565 565 00015 APE 722Z Téléphone : 03 89 35 70 75 Télécopie : 03 89 35 70 76 L embarcadère 5, rue Gutemberg 68 800 Vieux-Thann,
THÈSE. présentée à TÉLÉCOM PARISTECH. pour obtenir le grade de. DOCTEUR de TÉLÉCOM PARISTECH. Mention Informatique et Réseaux. par.
École Doctorale d Informatique, Télécommunications et Électronique de Paris THÈSE présentée à TÉLÉCOM PARISTECH pour obtenir le grade de DOCTEUR de TÉLÉCOM PARISTECH Mention Informatique et Réseaux par
Bases de Données. Plan
Université Mohammed V- Agdal Ecole Mohammadia d'ingénieurs Rabat Bases de Données Mr N.EL FADDOULI 2014-2015 Plan Généralités: Définition de Bases de Données Le modèle relationnel Algèbre relationnelle
Ingénierie et gestion des connaissances
Master Web Intelligence ICM Option Informatique Ingénierie et gestion des connaissances Philippe BEAUNE [email protected] 18 novembre 2008 Passer en revue quelques idées fondatrices de l ingénierie
Présentation du Modèle de Référence pour les Bibliothèques FRBR
Submitted on: 03.08.2015 Présentation du Modèle de Référence pour les Bibliothèques FRBR French translation of the original paper: Introducing the FRBR Library Reference Model. Traduit par : Mélanie Roche,
Principe de symétrisation pour la construction d un test adaptatif
Principe de symétrisation pour la construction d un test adaptatif Cécile Durot 1 & Yves Rozenholc 2 1 UFR SEGMI, Université Paris Ouest Nanterre La Défense, France, [email protected] 2 Université
Rappels sur les suites - Algorithme
DERNIÈRE IMPRESSION LE 14 septembre 2015 à 12:36 Rappels sur les suites - Algorithme Table des matières 1 Suite : généralités 2 1.1 Déition................................. 2 1.2 Exemples de suites............................
Génie Logiciel avec Ada. 4 février 2013
Génie Logiciel 4 février 2013 Plan I. Généralités II. Structures linéaires III. Exceptions IV. Structures arborescentes V. Dictionnaires I. Principes II. Notions propres à la POO I. Principes Chapitre
MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril 2010 1 / 15
MapReduce Malo Jaffré, Pablo Rauzy ENS 16 avril 2010 Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril 2010 1 / 15 Qu est ce que c est? Conceptuellement Données MapReduce est un framework de calcul distribué
Once the installation is complete, you can delete the temporary Zip files..
Sommaire Installation... 2 After the download... 2 From a CD... 2 Access codes... 2 DirectX Compatibility... 2 Using the program... 2 Structure... 4 Lier une structure à une autre... 4 Personnaliser une
