j - Farid ASMA
Transcription
j - Farid ASMA
XVème Congrès Français de Mécanique Nancy, 3 – 7 Septembre 2001 272 REDUCTION DE DEGRE DES COURBES DE BEZIER NON RATIONNELLES ET SES APPLICATIONS POTENTIELLES EN CFAO Idir Belaidi*, Farid Asma*, Guy Ishiomin**, Gérard Coffignal**, Maurice Touratier** * Laboratoire de CFAO, Département de Génie Mécanique, Faculté des Sciences de l’Ingénieur, Université de Boumerdès, Avenue de l’indépendance, 35 000 (Algérie) ** Laboratoire LMS-ENSAM CER-Paris, 151 Boulevard de l’Hôpital - 75013 Paris (France) Résumé : Pour une intégration efficace des applications potentielles de la conversion par approximation de courbes et surfaces de degré élevé des surfaces de Bézier, nous présentons les développements d’algorithmes performants, caractérisés par une réduction de l’erreur d’approximation, des temps de calcul et du nombre de subdivisions de la courbe initiale ainsi que par une bonne flexibilité de passage d’un modèle vers un autre, sans calculs sophistiqués. La réduction de degré, basée sur le principe inverse de l’algorithme d’élévation de degré et sur la minimisation de la norme carrée dans la base des polynômes de Bernstein, introduit la stratégie de séparation des variables. Abstract: For an efficient integration of potential applications of approximate conversion of degree élévated of Bézier curves and surfaces in CADCAM systems, we introduce developpements and improved algorithmst, which are caracterised by a minimal approximation error, reduced time of calculations and restricted number of spline curves. Besides, they offer a suitable flexibility by model transformations, without sophisticated calculations. The inverse algorithm for degree elevation of Bezier curves and the minimisation of the square norm in the Benstein polynomials basis are used for the degree reduction process, which is resolved by variable separation strategy. Mots-clés : Courbes de Bézier, conversion par approximation, réduction de degré, subdivision. 1 Introduction Les modèles de Bézier, très utilisés en CFAO sous la forme d’entités composites de faibles degré qu’il faut raccorder selon un ordre de continuité géométrique requis, présentent des restrictions d’emploi à degré élevé dues essentiellement à l’instabilité numérique et à la propriété de modification globale, contrairement aux modèles B-spline et aux NURBS. La conversion par approximation des courbes et surfaces de Bézier de degré élevé représente alors une alternative pour contourner ces problèmes et ouvre de larges perspectives d’applications en CFAO. Dans cette communication, nous introduisons d’abord succinctement le principe général de la conversion par approximation pour faciliter la compréhension, suivi d’un aperçu général des applications potentielles des méthodes de conversion par approximation des courbes et surfaces de Bézier de degré élevé ainsi qu’une synthèse des principaux travaux de recherche publiés dans ce domaine. L’algorithme de réduction de degré des courbes de Bézier non rationnelles est ensuite présenté. Il est basé sur le principe inverse de l’algorithme d’élévation de degré [4], [5], [6], [7], [8], [12] et la minimisation de la norme carrée dans la base des polynômes de Bernstein 1 [9], [10], [11]. L’originalité de notre démarche réside dans la stratégie de séparation des variables utilisée qui permet d’éviter l’utilisation de méthodes non linéaires pour la résolutions des systèmes d’équations tels que rencontrés dans Hoschek [9], [10], [11], ce qui est synonyme de réduction des temps de calcul, ainsi que la stratégie de subdivision adoptée, qui minimise le nombre de segments des entités équivalentes. 2 Principe de la conversion par approximation La conversion par approximation est un processus qui fait appel à la réduction de degré d’une courbe C (t) initiale de degré élevé n et à la subdivision de celle-ci en deux ou plusieurs segments de courbes dont le nombre dépend d’une tolérance imposée aux points, et/ou aux tangentes et/ou aux courbures. La courbe Q(t ) obtenue est alors appelée courbe équivalente [2], [3], [4] de degré m<n et présentant une continuité géométrique d’ordre C α _1 aux points extrêmes communs. Ainsi, la conversion de la courbe de Bézier C (t) de degré n définie par l’équation : C(t )=∑ Pi.Bin(t ); i =0,...,n et t∈[0,1] n (1) i =0 produit une courbe de Bézier équivalente Q(t ) de degré m < n , définie par l’équation : Q(t )=∑Qi.Bim(t ); i =0,...,m et t∈[0,1] m Les (2) i=0 Bin t ( ) sont les fonctions de Bernstein et les Pi et Qi sont les pôles formant les polygones caractéristiques {Pi }i =0 et {Qi }i =0 respectivement de la courbe initiale et de la courbe convertie équivalente. Les pôles Q i recherchés sont déterminés d’après l’algorithme de réduction de degré, utilisant le principe inverse de l’algorithme d’élévation de degré [7]. Les points courants np de la courbe équivalente Q(t) sont déterminés par une optimisation paramétrique [9], [10], [11] basée sur une approximation au sens des moindres carrés. L’erreur d’approximation maximale est alors mesurée par l’écart de position maximale entre les deux courbes qui est exprimée par la relation : δ = Maxδ j = Max C(ti )−Q(ti ) n m En imposant à priori une tolérance de position ε 0 à respecter, la courbe initiale sera subdivisée en deux ou plusieurs segments de courbes de degré m<n tel que δ ≤ε 0 . En choisissant sur la courbe donnée C(t) initiale, (n+1) points Mj répartis selon le paramètre curviligne équidistant t j = j n ; (i = 0,..., n) tels que : n M j =∑ Pj.B j,n(t j)+e j , j =0 où e j est l’erreur vectorielle qui s’écrit, si les P(t j ) sont les points associés à M j : e j = P(t j )− M j (3) la minimisation de la somme des carrés des distances entres les points Mj et les points associés sur la courbe C(t ) revient alors à minimiser la fonction: np np D=∑ e j =∑(e2jx +e2jy +e2jz ) i =0 2 (4) j =0 2 et les valeurs minimales sont obtenues en résolvant les équations : ∂Dx =0 , ∂Dy =0 et ∂Dz =0 , ∂Pix ∂Piz ∂Piy pour (i = 0,..., n ) , qui produit un système d’équations vectorielles linéaire de dimensions (n + 1) . 3 Applications potentielles en CFAO Le développement de méthodes de conversion par approximation de courbes et surfaces de Bézier de degré élevé a suscité durant ces deux dernières décennies un réel engouement qui se justifie aisément par les multiples applications potentielles envisageables en CFAO [2]. L’échange de données entre deux entreprises utilisant des systèmes de CFAO hétérogènes et/ou au sein même d’une entreprise disposant de deux ou plusieurs systèmes de CFAO de degrés et de modèles différents [4], [6], [10],[11], [12], s’impose pour des raisons technico-économiques évidentes et requiert nécessairement une réduction ou une élévation de degré des entités géométriques échangées. La possibilité de modification locale des entités et l’augmentation de la flexibilité dans le « design » lors de la phase de construction de courbes et surfaces de formes complexes, la simplification de la complexité géométrique des entités intervenant lors des phases de conception et de génération des trajectoires d’outils (stabilité des calculs numériques, simplification des calculs d’intersections surfaces/surfaces par les méthodes algébriques et des manipulations infographiques très consommatrices de temps, compatibilité outil-pièce), et enfin la reconstruction de surfaces à partir d’un réseau de points issus d’une digitalisation, sont autant d’autres applications potentielles en CFAO [2]. 4 Etat de l’art La première méthode de conversion des courbes de Bézier a été introduite par Forrest en 1972 [8], avant que Farin [7], Watkins et Worsey [12], Hoschek [9], [10], [11], Bensalah [4], puis Eck [5], [6], [10], ne proposent des algorithmes de conversion par approximation plus ou moins performantes, mais accusant toutefois certaines lacunes tels que: nécessité d’utilisation de méthodes non linéaires produisant des temps de calcul relativement importants, coefficient de réduction fixé à priori [9], [10], [11], difficulté de respecter des ordres de continuités géométriques aux raccordements sans grand effort de calcul [4], [5], [6], [12], trop grand nombre de subdivisions des entités réduites et passage aux courbes rationnelles et aux surfaces de Bézier et B-spline non rationnelles et rationnelles nécessitant des calculs souvent sophistiqués [4]. La première catégorie d’algorithmes est basée sur le principe inverse de l’algorithme d’élévation de degré pour la réduction de degré et les polynômes de Tchebythev et repectivement de Legendre pour la minimisation de l’erreur d’approximation [5], [6], [12], pendant que la deuxièmes catégorie d’algorithmes reposent sur les propriétés des courbes osculatrices pour ma réduction dedegré et sur la minimisation de l’erreur d’approximation au sens des moindres carrés avec uner optimisation paramétrique [9], [10], [11]. 5 Algorithme de réduction de degré L’originalité de cet algorithme par rapport aux solutions proposées par Hoschek [9], [10], [11], se caractérise par l’introduction de la notion de séparation des variables. Cette stratégie permet en effet de déterminer les pôles influant sur la continuité géométrique souhaitée Cα-1, 3 c’est-à-dire les pôles extrêmes et les pôles de raccordements de la courbe équivalente, par l’application inverse de l’algorithme d’élévation de degré [7], pendant que la détermination des pôles intermédiaires fait appel à la méthode d’approximation au sens des moindres carrés. Le problème se simplifie alors et se ramène à un système d’équations linéaires à résoudre. 5.1 Détermination des pôles influant sur la continuité géométrique Considérons la courbe de Bézier C(t) définie par l’équation (1) que nous souhaitons réduire pour obtenir la courbe de Bézier équivalente Q(t ) de degré m=(n−1) , définie par l’équation (2). L’approximation de Forrest [8], permet alors de déterminer les pôles respectant une continuité géométrique maximale aux points communs extrêmes. Ainsi, pour obtenir une continuité d’ordre C α −1 , avec (α − 1 < (n − 1) 2 ) , il suffit d’impliquer les α premiers pôles Ri et les α derniers pôles Si, , à savoir : pour i = (0, 1,..., α − 1) Qi = R i (5) pour i = (n − 1, n − 2, ..., n − α ) Q i = Si 5.2 Détermination des pôles intermédiaires Les pôles intermédiaires de la courbes équivalente Q(t ) n’ont pas d’influence sur la continuité géométrique sont déterminés par application de la méthode d’approximation au sens des moindres carrés. L’objectif est de minimiser la fonction D de l’équation (4) qui s’écrit ici : 2 np np δ =∑[P(t j )−Q(t j )] =∑e2j j =1 (6) j =1 En insérant (1) et (2) dans ei = P(t j )−Q(t j ), l’erreur vectorielle (3) s’écrit: n n −1 i =0 i =0 e j =∑ Pi.Bi,n(t j )−∑Qi.Bi,n−1(t j ) (7) En dérivant (7) par rapport à Qh pour h=(α,α −1,...,n−α −1) , nous obtenons : ∂e j = ∂ [P(t j )−Q(t j )] ∂Qh ∂Qh ∂P(t j ) avec : =0 , (8) devient: ∂Qh ∂e j =− ∂Q(t j )=− n−1 ∂Qi .Bi,n−1(t j ) avec ∂Qi = 0 si i≠ h ∑ ∂Qh ∂Qh ∂Qh 1Lsi i=h i = 0 ∂Qh (8) (9) Ce qui donne après combinaison de (6), (7) et (9): np n −1 ∂δ =−2. [ P .Bi, n(t j ).Bh, n −1(t j )− Qi.Bi,n −1(t j ).B (t j )] ∑ ∑i ∑ h, n −1 ∂Qh j =1 i = 0 i =0 n 4 (10) L’application de l’approximation au sens des moindres carrés revient alors à résoudre les équations de la forme : ∂δ =0 , pour h=(α,α −1,...,n−α −1) , c’est-à-dire, d’après (10) : ∂Qh n −1 n ( ) ( ) − P . B t . B t Qi.Bi,n−1(t j ).Bh,n−1(t j ) =0 − , , 1 i i n j h n j ∑ ∑ ∑ j =1 i = 0 i =0 np ou encore : n −1 np np ∑P.∑B (t ).B (t )=∑Q .∑B (t ).B (t ) n i, n i i =0 h, n −1 j j j =1 i,n −1 i i =0 j h,n −1 j j =1 Nous obtenons ainsi le système d’équations d’ordre (n−2.α ) de la forme : Aih.Qh =bi , que l’on peut exprimer par la relation (11) suivante : n np α −1 np n −1 np n −α −1 np i =0 j =1 i =0 j =1 i = n −α j =1 i =α j =1 ∑Pi.∑Bi,n(t j ).Bh,n−1(t j )−∑Qi.∑Bi,n−1(t j ).Bh,n−1(t j ) − ∑ Qi.∑Bi,n−1(t j ).Bh,n−1(t j )= ∑ Qi.∑Bi,n−1(t j ).Bh,n−1(t j ) En posant : np np n α −1 n −1 j =1 i =0 i =0 i = n −α γ ih =∑ Bi,n(t j ).Bh,n −1(t j ) ; βih =∑ Bi,n−1(t j ).Bh,n−1(t j ) ; bh =∑Pi.γ ih −∑Qi.βih − ∑Qi.βih j =1 n −α le système (11 ) se ramène alors à: ∑Q.i βih =bh (12) i =α L’algorithme de réduction d’un degré n à un degré (n-1) et respectivement à m<n s’exprime ainsi comme suit : pour i = (0, 1,..., α − 1) Qi = R i pour i = (n − 1, n − 2, ..., n − α ) Q i = Si Pour i = (α, α + 1, L , n − α − 1) n −α Résoudre le système : ∑ Q .β i ih = bh i =α La figure 1 ci-dessus représente une courbe de Bézier non rationnelle P(t) de degré 9 réduite en une courbe de Bézier non rationnelle Q(t) de degré 7 en respectant une continuité C2. Q6 P8 P7 P9=Q7 Q2 P2 Q5 P5 Q1 P1 P0=Q0 FIG.1 : Courbe de Bézier non rationnelle de degré 9 réduite au degré 7 avec une continuité C2 P6 P3 Q4 Q3 P4 5 5.3 Subdivision Pour respecter une tolérance de position ε0, imposée à priori, il convient de subdiviser la courbe C(t). Le problème se ramène alors à un choix optimal du point de subdivision, tel que le nombre de segments de courbes qui composerons C(t) soit réduite au minimal. La stratégie proposée, basée sur la subdivision de l’intervalle [0, 1] par dichotomie, consiste à chercher le point de subdivision qui donne pour la courbe réduite l’erreur maximale inférieure à la tolérance ε0. En utilisant la relation de récurrence [4], nous obtenons l’algorithme suivant: Pour i=0, 1, ..., n Ci0 (t 0 ) = Ci Fin pour Pour k=1, 2, ..., n Pour i=0, 1, ..., n Cik (t 0 ) = (1 − t 0 ).Cik −1 (t 0 ) + t 0 .Cik+−11 (t 0 ) Fin pour Fin pour Pour i=0, 1, ..., n Pi = Ci0 (t 0 ) ; Qi = Cin − i (t 0 ) Fin pour. La figure 2 montre un exemple de conversion d’une courbe de Bézier non rationnelle de degré 12, réduite en deux courbes de degré 8, en respectant une continuité C2, obtenu à l’aide de l’algorithme mis en œuvre. FIG. 2 : Courbe de Bézier non rationnelle de degré 12 convertie en deux courbes de degré 8. 6 Conclusion et perspectives Les résultats de nos études [1] nous ont permis de mettre en évidence les performances de l’algorithme présenté, comparativement aux principaux algorithmes Forrest [8], Watkins et Worsey [12], Bensalah [4], Eck [5], [6] et Hoschek [9], [110], [11]. En effet, l’algorithme développé se caractérise par une mise en œuvre informatique relativement facile et nécessitant peu d’espace mémoire, l’erreur d’approximation minimale produite est proche de celle obtenue 6 avec les méthodes de Hoschek pour des temps de calcul relativement plus réduits, car évitant le recours à l’utilisation des méthodes non linéaires pour la résolution du problème d’approximation, et ce grâce à la stratégie de séparation des variables introduite. En outre, le respect des tolérances géométriques prescrites (au point, à la tangent et à la courbure) pour un nombre minimal de courbes composites équivalentes de degré plus faible, la flexibilité offerte lors du passage d’un degré élevé n vers un degré quelconque plus faible m, l’aisance et la facilité de passage aux courbes rationnelles et aux surfaces rationnelles et non rationnelles de Bézier et B-spline sans calculs sophistiqués, représentent autant de propriétés appréciables que présente l’algorithme proposé. 7 Références bibliographique [1] ASMA F. Juil.1999, « Méthodes de réduction de degré des courbes de Bézier. Etude comparative et Application à l'échange de données entre systèmes de CFAO », Mémoire de Magister, Département de Mécanique, Faculté des Sciences de l’Ingénieur, Université de Boumerdès (Algérie). [2] BELAIDI I., 1998, « Réduction de degré des courbes de Bézier. Qualité d’équivalence en relation avec des paramètres d’usinage », Thèse de Doctorat, LMS-ENSAM, CER de Paris. [3] BELAIDI I., ISHIOMIN G., mai 1998 « critères d’équivalences géométriques en relation avec des paramètres d’usinage», 1erColloque International sur la Productique, UMMTO (Algérie) et INI de Belfort (France) . [4] BENSALAH S., 1990, « Equivalence et algorithmique des transformations dans les modèles mathématiques pour la conception et la fabrication assistées par ordinateur des courbes et des surfaces », Thèse de doctorat, ENSAM. [5] ECK M., 1993, “Degree reduction of Bézier curves” Computer Aided Geometric Design, Vol.10, pp.237-251. [6] ECK M., 1995, “Least squares degree reduction of Bézier curves”, Computer Aided Design, Vol.27, pp.845-851. [7] FARIN G., 1995 , “Algorithms for rational Bezier curves”, Computer Aided Design, Vol.15, N°11, pp.73-77. [8] FORREST A., 1972, “Interactive interpolation and approximation by Bézier polynomials”, Computer Aided Design, Vol.15, pp.71 -79. [9] HOSCHEK J., 1987, « Approximate conversion of spline curves », Computer Aided Géometric Design, Vol.4, pp.59-66. [10] HOSCHEK J., 1988, “Intrinsec parametrisation for approximation”, Computer Aided Geometric Design, Vol.5, pp.27-31. [11] HOSCHEK J., 1990, “Exact approximate conversion of spline curves and spline surfaces”, Computation of Curves and Surfaces, W.Dahmen et al. Editions, Kluwer, Netherlands, pp.73116. [12] WATKINS, M.A., WORSEY A.J., 1988, “Degree reduction of Bézier curves”, Computer bAided Design, Vol.20, N°7, pp.398-405. 7
Documents pareils
Algorithmique pour la conversion par approximation
approximation error, reduced time of calculations and restricted number of spline curves. Besides, they offer a
suitable flexibility by model transformations, without sophisticated calculations. Th...