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

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...

Plus en détail