Cours GPA445 Conception assistée par ordinateur Courbes complexes

Slides:



Advertisements
Présentations similaires
Mais vous comprenez qu’il s’agit d’une « tromperie ».
Advertisements

Le Nom L’adjectif Le verbe Objectif: Orthogram
ORTHOGRAM PM 3 ou 4 Ecrire: « a » ou « à » Référentiel page 6
Chaîne de Synthèse Réel Modélisation Rendu Image Fichier Scène
Licence pro MPCQ : Cours
Additions soustractions
Distance inter-locuteur
LE CALCUL LITTÉRAL AU COLLÈGE
Les numéros 70 –
Les numéros
Les identités remarquables
1 Introduction Introduction 1 - Caractérisation de la polarisation 2 - Etude de la polarisation dune OPPM Chapitre 2 Polarisation des OEM dans le vide.
Courbes & Surfaces de subdivision
Modélisation 3D Réalisation d'une image de synthèse
Modélisation Géométrique
Introduction à la logique
LES TRIANGLES 1. Définitions 2. Constructions 3. Propriétés.
variable aléatoire Discrète
Conception assistée par ordinateur GPA445
La méthodologie………………………………………………………….. p3 Les résultats
Jack Jedwab Association détudes canadiennes Le 27 septembre 2008 Sondage post-Olympique.
Le soccer & les turbans Sondage mené par lAssociation détudes canadiennes 14 juin 2013.
Cours de physique générale I Ph 11
Mémoire de Projet de Fin d’Etudes
1.2 COMPOSANTES DES VECTEURS
Titre : Implémentation des éléments finis sous Matlab
LES NOMBRES PREMIERS ET COMPOSÉS
Les chiffres & les nombres
COURBES B-SPLINE B-Spline Bézier
Calculs et écritures fractionnaires
IFT3355: Infographie Courbes et surfaces
RACINES CARREES Définition Développer avec la distributivité Produit 1
Représentation des systèmes dynamiques dans l’espace d’état
Systèmes mécaniques et électriques
Représentation des systèmes dynamiques dans l’espace d’état
Représentation des systèmes dynamiques dans l’espace d’état
Programmation linéaire en nombres entiers Algorithme de la subdivision successive («Branch and Bound Algorithm»)
Courbes de Hermite Michael E. Mortenson, Geometric Modeling. Wiley, 1997, 523p.
Courbes de Bézier.
OBJETS ÉLÉMENTAIRES DANS L’ESPACE À TROIS DIMENSIONS
1.1 LES VECTEURS GÉOMÉTRIQUES
1 Licence dinformatique Algorithmique des graphes Problèmes dordonnancement. Utilisation de ce document strictement réservée aux étudiants de l IFSIC dans.
Année universitaire Réalisé par: Dr. Aymen Ayari Cours Réseaux étendus LATRI 3 1.
PROGRAMMATION SCIENTIFIQUE EN C
Titre : Implémentation des éléments finis en Matlab
MODULE 8 Les fonctions SINUSOÏDALES
Réalisation d'une image de synthèse
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
1 INETOP
Géométrie analytique Distance entre deux points.
Inéquations du premier degré à une inconnue
Résoudre une équation du 1er degré à une inconnue
Technique de points de contrôle: Formes de Bézier
Aire d’une figure par encadrement
IFT3355: Infographie Courbes et surfaces
Sous-espaces vectoriels engendrés
Modélisation géométrique de base
ASI 3 Méthodes numériques pour l’ingénieur
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
Mise en forme en Mathématiques
Présentation de la méthode des Eléments Finis
Elaboré par M. NUTH Sothan 1. 2 Soit x, y et z des coordonnées cartésiennes à 3 dimension. G un ensemble de points dans le plan (u, v). Déf. : On appelle.
1/65 微距摄影 美丽的微距摄影 Encore une belle leçon de Macrophotographies venant du Soleil Levant Louis.
Equation différentielle de 2ème ordre
Annexe Résultats provinciaux comparés à la moyenne canadienne
Interpolation et Approximation
Courbes de Bézier P2 P1 P3 P0 O
1 Courbes Bsplines non uniformes Bsplines uniformes 1.Nombre de points de définition 2.Position des points de définition 3.Degré m des polynômes Paramètres.
Courbes Bsplines uniformes
Transcription de la présentation:

Cours GPA445 Conception assistée par ordinateur Courbes complexes Par Antoine Brière-Côté, ing.jr, M.Ing. Génie de la production automatisée École de technologie supérieure adapté de Louis Rivest, ing., Ph.D. et de Roland Maranzana, Dr.Ing. Été 2013

Chapitre 7 notes de cours Thèmes abordés Rappel sur la représentation paramétrique Points-clés et contraintes Interpolation et approximation Courbes polynomiales cubiques Interpolation de Lagrange Interpolation de Hermite Courbes de Bézier Algorithme de De Casteljau Courbe Spline Courbe B-Spline (aperçu) Chapitre 7 notes de cours ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Représentation paramétrique Forme paramétrique générale d’une courbe en 3D: où x(u), y(u) et z(u) sont les composants de chaque point de la courbe évaluée en u dans l’intervalle [u0,u1]. Forme réduite en 2D: Figure: a, b, c et d, des valeurs discrètes du paramètre u telles que u0 < a < b < c < d < u1. y x ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Représentation paramétrique La dérivé première en u d’une courbe paramétrique donne l’ensemble des vecteurs tangents: où x’(u), y’(u) et z’(u) sont les composants de chaque vecteurs tangents de la courbe évaluée en u dans l’intervalle [u0,u1]. y x ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbes polynomiales Les courbes analytiques sont insuffisantes pour répondre aux exigences de conception géométrique des pièces mécaniques: Carrosseries de voitures, Coques de navire, Fuselages et ailes d’aéronefs, On doit avoir recours aux courbes complexes ou « synthétiques » lorsqu’une courbe est d’abord représenté par une collection de points de contrôle. Objectif: construire une courbe lisse qui interpole ou approxime un ensemble ordonné de points de contrôle. Pales d’hélices, Semelles de chaussures, Bouteilles de toute sorte, etc. ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbes polynomiales La forme générale d’équation paramétrique des courbes complexes est la forme polynomiale: ai sont des vecteurs de coefficients… … de dimension 2 pour une courbe dans l’espace 2D, … de dimension 3 pour une courbe dans l’espace 3D; ui sont les fonctions de base, définies sur un domaine limité; Une équation polynomiale de degré n (degré du monôme le plus élevé) représente une courbe de degré n. ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbes polynomiales Une courbe unique de degré n permet d’interpoler ou d’approximer n + 1 points de contrôle; Exemple: L’interpolation de 2 points donne une droite, représentée par un polynôme de degré 1; y x ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbes polynomiales Pour construire une courbe à l’aide d’un ensemble ordonné de N points de contrôle, on peut… Construire une seule courbe utilisant tous les points; le degré de la courbe est donc dépendant du nombre de points (N – 1). Construire plusieurs segments consécutifs de courbes de degré imposé n utilisant chacun un sous-ensemble de n + 1 points de contrôle. Courbe unique Courbe par segments ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbes polynomiales Les courbes (polynômes) de degré élevé ne sont habituellement pas utilisés en CAO, car: Elles ont tendance à osciller de manière indésirable au voisinage des points de contrôle; Elles accaparent énormément de ressources de calcul d’un ordinateur; Leurs représentations internes n’est pas concise; i.e., occupent inutilement beaucoup d’espace mémoire. En CAO, on utilise la définition de courbes par morceaux à l’aide de segments des courbes polynomiales de degré 3. ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbes polynomiales Exemple: Construction d'une courbe par des arcs de cercle C'est le principe des courbes définies par morceaux; Des conditions de tangence donne une pente continue et dérivable en tout point; Cette méthode est utilisée pour définir des trajectoires d'outils en fabrication assistée par ordinateur (FAO). ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Ordre de continuité des courbes Différentes exigences de continuité des profils peuvent être spécifiées dans la conception des pièces mécaniques: Aérodynamisme d’un fuselage ou d’une aile; Fluidité de mouvement d’un galet parcourant une came; etc. http://img136.imageshack.us/img136/4224/fokkerdr1pre05ah1.jpg https://upload.wikimedia.org/wikipedia/commons/d/d3/Came1.gif ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Ordre de continuité des courbes L’ordre de continuité prend de l’importance lorsque les courbes complexes sont définies par segments; Le plus petit ordre de continuité spécifié à un point de jonctions de deux segments définit l’ordre de continuité de la courbe résultante; On distingue la continuité géométrique de la continuité paramétrique: Continuité géométrique (Gx): continuité ou « aspect lisse » de la courbe résultante; Continuité paramétrique (Cx): continuité dans le traçage de la courbe, dans le déplacement de la particule. ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Ordre de continuité des courbes G0: Continuité géométrique d’ordre 0 Deux segments de courbes forment une courbe continue G0 si celle-ci est ininterrompue au point de jonction; Appelée aussi continuité de position; Correspond à une courbe tracée sans lever le crayon… Soit P1(u) et P2(u) définies sur u  [0,1]; P1(1) étant le point d’arrivée de P1, et P2(0) étant le point de départ de P2; P1 et P2 sont continues G0 si P1(1) = P2(0). pentes ou tangentes ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Ordre de continuité des courbes G1: Continuité géométrique d’ordre 1 Deux segments de courbes forment une courbe continue G1 si la pente au point de jonction est la même pour les deux segments; Appelée aussi continuité de pente ou tangence; On fait correspondre la direction des vecteurs tangents. Soit P1(u) et P2(u) définies sur u  [0,1]; P1‘(1) étant la tangente en P1(1) (départ), P2‘(0) étant la tangente en P2(0) (fin); P1 et P2 sont continues G1 si pente ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Ordre de continuité des courbes C1: Continuité paramétrique d’ordre 1 G1 correspond à la continuité de la direction du vecteur tangent; C1 implique G1 ET la continuité de la grandeur du vecteur tangent; Correspond au tracé d’une courbe lisse sans changement brusque de vitesse; On fait correspondre les dérivées premières au point de jonction. Soit P1(u) et P2(u) définies sur u  [0,1]; P1‘(1) étant la tangente en P1(1) (départ), P2‘(0) étant la tangente en P2(0) (fin); P1 et P2 sont continues C1 si pente ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Ordre de continuité des courbes G2: Continuité géométrique d’ordre 2 Deux segments de courbes forment une courbe continue G2 si le centre de courbure au point de jonction est le même pour les deux segments; Appelée aussi continuité de courbure; Pour P(u) = [ x(u) y(u) ], le rayon de courbure ρ(u) est défini par l’équation: pente centre de courbure ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Ordre de continuité des courbes C2: Continuité paramétrique d’ordre 2 Deux segments de courbes forment une courbe continue C2 si leurs dérivées secondes respectives au point de jonction sont égales; Correspond au déplacement sans secousse d’un particule dont la vitesse et l’accélération (tangentielle et normale) varient graduellement. En somme… En modélisation, on s’intéresse surtout à continuité géométrique. En analyse, la continuité paramétrique peut être une condition nécessaire aux calculs basés sur la géométrie. ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Interpolation et approximation Définition d'une courbe en fonction d'un ensemble de points: Interpolation Approximation ou lissage Interpolation: La courbe passe exactement par les points; Le degré de la courbe dépend du nombre de points de contrôle (et d'autres conditions éventuellement); Le nombre de points doit rester faible pour limiter le degré de la courbe; Approximation: Déterminer une courbe qui décrit au mieux un ensemble de points; Ces points sont souvent de nature expérimentale (numérisation). ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Interpolation et approximation Approximation (suite) La courbe d'approximation peut être contrainte de diverses manières: Limiter le degré de la courbe; Limiter l'erreur maximale tolérée (ex.: moindre carré); Appropriée lorsque le nombre de points est élevé; Remplacement d'une courbe dont l'équation est inconnue ou mal adaptée au traitement numérique; Exprimer différentes types de courbes sous une forme unifiée; Passage points -> courbes ? ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Interpolation et approximation Influence des points sur la courbe: Cas 1: courbe interpole les points, 2 pts: droites, 3 pts: coniques (ex. arc de cercle), 4 pts: polynôme cubique; Cas 2: Courbe approxime les points, Modifiable globalement; Cas 3 Modifiable localement; Le comportement d’une courbe au déplacement d’un point dépend de son type de courbe. p1 p0 p3 p2 p4’ p5 p1 p3 p0 p2 p4 p4’ p5 p1 p3 p0 p2 p4 McMahon Adapté du cours GMC405, Prof. Alain Desrochers ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbes polynomiales cubiques Équation paramétrique polynomiale de degré 3: (représentation algébrique) (représentation vectorielle) 2 équations algébriques, u ϵ [0,1] (3 éq. en 3D), 8 inconnus ai, bi, ci, di avec i = 1, 2; Fixer ou modifier les valeurs des coefficients algébriques ai, bi, ci, di ne permet pas de contrôler facilement la forme de la courbe; Contraintes géométriques, G, pour définir la courbe de degré 3: Lagrange: 4 points interpolés correspondant à 4 valeurs de u; Hermite: 2 points extrémités et 2 vecteurs tangents en ces points. ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbes polynomiales cubiques Interpolation de Lagrange (2D) Soit les équations du polynôme : L’interpolation de Lagrange utilise quatre points (P0 à P3); On obtient donc un système de huit équations correspondant aux coordonnées x et y de chaque point; La résolution fournit les valeurs des paramètres ai , bi , ci et di . p1 p0 p3 p2 ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbes polynomiales cubiques Interpolation de Lagrange (suite) Exemple: Déterminer l'équation polynômiale cubique de la courbe passant par les 4 points suivants: u0 = 0; P0 = P(u0) = (0, 0) u1 = 0,33; P1 = P(u1) = (1, 1) u2 = 0,66; P2 = P(u2) = (2, 0) u3 = 1; P3 = P(u3) = (3, 1) Trouver ax, bx, cx, dx et ay, by, cy, dy … y P1 P3 x P0 P2 ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbes polynomiales cubiques Interpolation de Lagrange (suite) Exemple en 2D: Expression matricielle… Résolution matricielle… x y P1 P2 P3 P0 ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbes polynomiales cubiques Interpolation de Lagrange (fin) Inconvénients principaux: Le degré de la courbe est directement lié au nombre de points interpolés  (n+1) points = degré n; Dans le cas d’une seule courbe, plus il y a de points, plus il y a des oscillations indésirables dans la courbe. Démo… (http://www.math.ucla.edu/~baker/java/hoefer/TwoDemos.htm) Dans le cas d’une courbe par segments, on contrôle difficilement les conditions aux limites des segments, donc la continuité de la courbe résultante. ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbes polynomiales cubiques Interpolation de Hermite (2D) Soit les équations du polynôme : L’interpolation de Hermite utilise deux points P0 et P1 et leurs pentes respectives P0’ et P1’ pour déterminer les 8 inconnues. p0' p1' p1 p0 ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbes polynomiales cubiques Interpolation de Hermite (suite) La pente de la courbe p s’obtient en dérivant l'équation p(u) par rapport à u: En appliquant les conditions frontières P0 , P1, P0’ et P1’, on obtient un système de quatre équations vectorielles et quatre vecteurs inconnus: ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbes polynomiales cubiques Interpolation de Hermite (suite) Le contrôle de la courbe est plus intuitif à partir des points limites P0 et P1, et des vecteurs tangents P0’ et P1’; Ce système est donc remanié pour extraire les ki, ce qui donne: L’équation originale de P(u) peut finalement être réécrite : ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbes polynomiales cubiques Interpolation de Hermite (suite) Sous forme matricielle… MH : Matrice des coefficients de Hermite; GH : Vecteur des contraintes géométriques de Hermite. MH GH ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbes polynomiales cubiques Interpolation de Hermite (suite) L’équation obtenue est la somme de quatre fonctions en u multipliées par les conditions frontières P0 , P1, P0’ et P1’ : Ces fonctions s'appellent les fonctions d’influence (blending functions) Leur représentation graphique est illustrée ici… u 1 (P0) 1 - 3u2 + 2u3 (P1) 3u2 - 2u3 (P0’) u - 2u2 + u3 (P1’) -u2 + u3 ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbes polynomiales cubiques Interpolation de Hermite (suite) Les fonctions d’influence ou fonctions de base sont un concept fondamental en CAO; Elles seront appliquées à d’autres types de courbes; Ces fonctions représentent le long de l’intervalle de u, l’influence respective des conditions frontières : Points de départ et d'arrivée, Vecteurs tangents, ou pentes, aux points de départ et d’arrivée. Exercice: Déterminer l'équation polynômiale cubique pour les contraintes de Hermite suivantes: P0 = (1,1) ; P1 = (2,3) ; P0’ = (1,1) ; P1’ = (1,1) ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbes polynomiales cubiques Interpolation de Hermite (suite) Effet de la variation de la grandeur du vecteur P0’: y(u) P0' P0 P1 P1' x(u) Figure 11.14, Foley ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbes polynomiales cubiques Interpolation de Hermite (suite) Effet de la variation de direction du vecteur P0’: y(u) P0' P0 P1 P1' x(u) Figure 11.15, Foley ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbes polynomiales cubiques Jonction de deux courbes de l’Hermite Les deux courbes doivent avoir un point commun = G0 (C0): P2u(1) P2(1) 2 P2u(0) 1 P1u(0) P1u(1) P1(1) = P2(0) G2 = [P2(0) P2(1) P2u(0) P2u(1)]T P1(0) G1 = [P1(0) P1(1) P1u(0) P1u(1)]T Mortenson ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbes polynomiales cubiques Jonction de deux courbes de l’Hermite (suite) Les vecteurs de tangence au point commun ont… La même direction (G1); Les mêmes direction et grandeur (C1); P1(1) = P2(0) P2u(0) = P1u(1) 1 2 P1u(0) P2u(1) P2(1) G2 = [P2(0) P2(1) P2u(0) P2u(1)]T P1(0) G1 = [P1(0) P1(1) P1u(0) P1u(1)]T Mortenson ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbes polynomiales cubiques Jonction de deux courbes de l’Hermite (suite) Conditions de continuité G1 aux 2 extrémités du segment 2; Mortenson ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbes polynomiales cubiques Jonction de deux courbes de l’Hermite (suite) Vecteur géométrique du segment 2: Équation générale pour G1 au segment i: Conditions requises pour continuité C1 ? Mortenson ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbes de Bézier Introduction Pierre Bézier, ingénieur chez Renault; Initialement pour la définition de panneaux de carrosserie; Vise à fournir un moyen intuitif pour définir courbes 3D… Pas de tangente à spécifier, contrairement à l’Hermite; Utilisation d’un polygone de contrôle; Approximation du polygone par un polynôme dont le degré (n) est un de moins que le nombre de sommets (n+1); Ex: pour polygone à quatre sommets, polynôme cubique. Adapté du cours GMC405, Prof. Alain Desrochers ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbes de Bézier Définition mathématique (courbe polynomiale cubique) Courbe polynomiale cubique de Bézier -> Polygone à 4 points. Correspondance des sommets du polygone de Bézier avec les paramètres de la courbe de Hermite: P0 et P3 de Bézier équivalent à P0 et P1 de Hermite; P1 et P2 de Bézier sont définis comme étant au tiers de la longueur des vecteurs de tangence P0’ et P1’ de Hermite; Ici, la proportion du tiers correspond à l’inverse du degré du polynôme (1/n). Les vecteurs tangents en P0 et P3 peuvent alors s’écrire : P0’ = 3(P1 - P0) P3’ = 3(P3 - P2) ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbes de Bézier Définition mathématique (courbe polynomiale cubique) Correspondance des sommets du polygone de Bézier avec les paramètres de la courbe de Hermite (suite): P0’ P0 P1 P2 P3 P0 P1 P1’ Hermite Bézier ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbes de Bézier Définition mathématique (courbe polynomiale cubique) Substitution dans la forme finale du polynôme de Hermite : On obtient: Fonctions d’influence correspondantes: u 1 (P3) u3 (P0) 1 - 3u + 3u2 - u3 (P1) 3u - 6u2 + 3u3 (P2) 3u2 - 3u3 ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbes de Bézier Représentation matricielle (courbe polynomiale cubique) L’équation obtenue peut être exprimée sous forme matricielle: MB : Matrice des coefficients de Bézier; GB : Vecteur des contraintes géométriques de Bézier. MB GB ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbes de Bézier Formulation générale de Bézier-Bernstein (degré n) Fonction d’influence : fonction polynomiale de Bernstein: Ces fonctions peuvent être représentée graphiquement comme précédemment par (n + 1) courbes. ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbes de Bézier Caractéristiques principales des courbes de Bézier La courbe passe par les premier et dernier points; La dérivée nième de la courbe au point de départ ou d’arrivée dépend des (n + 1) points voisins du polygone; Dérivée première : La courbe est tangente aux vecteurs formés par les 2 premiers et les 2 derniers points; Propriété intéressante pour raccorder des courbes de Bézier avec des contraintes de continuité; Pour tous les autres points intermédiaires, la courbe adoucit la forme du polygone en atténuant ses variations; La courbe se situe toujours à l’intérieur de l’enveloppe convexe formée par le polygone de contrôle. ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbes de Bézier Caractéristiques principales des courbes de Bézier (suite) La même courbe est générée en inversant l’ordre des points dans le polynôme de contrôle Exemple numérique: P1(3,3) P2(5,3) P2(3,3) P1(5,3) P3(6,2) P0(6,2) P0(1,1) P3(1,1) ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbes de Bézier Caractéristiques principales des courbes de Bézier (suite) Effet du déplacement d’un point du polygone de contrôle; Courbe principalement affectée dans la région autour des points où le paramètre u prend la valeur i/n; Courbe à déformation globale: P1(0,1) P2(1,1) P2(2,1) P0(0,0) P3(1,0) ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbes de Bézier Caractéristiques principales des courbes de Bézier (suite) Un point du polygone de contrôle peut être un point double ou triple ou même équivalent à n points; Effet d’attirance lorsqu’un point du polygone de contrôle est un… Point simple, Point double, Point triple; Le degré du polynôme augmente! P0 n = 2 1 point en Pi 2 points en Pi 3 points en Pi n = 3 n = 4 Pn Pi ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbes de Bézier Caractéristiques principales des courbes de Bézier (suite) Courbe fermé: G0 : Premier et dernier points coïncidents; G1: ET points adjacents colinéaires; C1: …? P1 P5 P0 P6 P0 P5 P1 P4 P4 P2 P3 P2 P3 ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbes de Bézier Jonction des courbes de Bézier Lorsque plusieurs points sont approximés par plusieurs courbes de Bézier de degré(s) inférieur(s); On assure une continuité G1 à la jonction de deux segments de courbe de Bézier: Dernier point du polygone j = 1er point du polygone j + 1; Points précédent, commun et suivant colinéaires; 2 segments de courbe de Bézier consécutifs peuvent être de degrés différents. 4 pts  Degré 3 5 pts  Degré 4 ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbes de Bézier Une courbe de Bézier est modifiable globalement. Modification d'un point du polygone Courbe modifiée globalement ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbes de Bézier Caractéristiques principales des courbes de Bézier (fin) Lorsque la courbe à représenter devient complexe (beaucoup de points), le degré de la courbe augmente; En modifiant un point de contrôle du polygone, toute la courbe est affectée; Lorsque le degré du polynôme augmente, la courbe peut osciller; La charge de calcul augmente avec le degré de la courbe; Compromis: courbes complexes représentées par plusieurs courbes de Bézier de degré moindre; Inconvénients: l'édition de la courbe par segments tout en maintenant la continuité G1 aux jonctions est pénible; Les limitations des courbes de Béziers proviennent de ses fonctions d’influence (blending functions). ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbes de Bézier Exercice: Polygone de contrôle P0 (0, 0) P1 (0.3, 1) P2 (0.6, 0.8) P3 (1, 0) Déterminer l’équation de la courbe de Bézier suivant la formulation de Bernstein. Tracer la courbe de Bézier avec les points intermédiaires suivants: 2.1) u = 0.3 2.2) u = 0.6 ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbes de Bézier Solution Formulation de Bernstein: trouver les fonctions d’influence… Courbe de Bézier passant par 4 points  Degré n = 3. ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbes de Bézier Solution Équation de Bézier-Bernstein: Équations algébriques paramétriques: ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbes de Bézier Solution: y(u) 2.1) x(0.3) = 0.2727 y(0.3) = 0.5922 2.2) x(0.6) = 0.5616 y(0.6) = 0.6336 y(u) x(u) P1(0.3,1) P2(0.6,0.8) Q(0.6) Q(0.3) P3(1,0) P0(0,0) ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbes de Bézier Astuce pour le tracé des courbes de Bézier:  Algorithme de De Casteljau Découpe des segments de droites du polygone selon le rapport u/(umax-umin); Tracé de nouveaux segments de droite reliant les nouveaux points obtenus sous le polygone de contrôle; Découpe des nouveaux segments… Répéter jusqu’à obtention du dernier point. Exemple: Déterminer le point sur la courbe pour u = 0.5… ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Découpe du polygone de contrôle au paramètre u = 0.5 Courbes de Bézier Algorithme de De Casteljau Découpe du polygone de contrôle au paramètre u = 0.5 ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Nouveaux segments sous polygone de contrôle Courbes de Bézier Algorithme de De Casteljau Nouveaux segments sous polygone de contrôle ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Découpe du sous polygone de contrôle au paramètre u =0.5 Courbes de Bézier Algorithme de De Casteljau Découpe du sous polygone de contrôle au paramètre u =0.5 ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Nouveau segment sous polygone de contrôle Courbes de Bézier Algorithme de De Casteljau Nouveau segment sous polygone de contrôle ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbes de Bézier Algorithme de De Casteljau Q(0.5) Courbes complexes ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbes de Bézier Algorithme de De Casteljau Déterminer et tracer les points de la courbe pour u = 0.3 et u = 0.6… u = 0.3 u = 0.5 u = 0.6 ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbes de Bézier Exercice (à vous de le faire!) Points de contrôle P0(1,1) P1(3,4) P2(4,2) P3(5,3) P4(6,0) Quel est le degré de la courbe? Calculer l’équation de la courbe de Bézier; Tracer la courbe de Bézier en utilisant l’algorithme de De Casteljau en prenant le point intermédiaire u = 0.5. ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbes de Bézier Solution Degré 4 B0,4 = (1 - u)4 B1,4 = 4u(1-u)3 P(u) = (1-u)4*P0 + 4u*(1-u)3*P1 + 6u2*(1-u)2*P2 + 4u3*(1-u)*P3 + u4*P4 ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Découpe du sous polygone de contrôle au paramètre u = 0.5 Courbes de Bézier Solution P1(3,4) P3(5,3) P2(4,2) Découpe du sous polygone de contrôle au paramètre u = 0.5 P0(1,1) P4(6,0) ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbe Spline Courbes par morceaux: Une solution aux inconvénients des courbes de Bézier: Les fonctions de base ne doivent pas dépendre du nombre de points de contrôle; La courbe doit être modifiable localement; Principes des courbes par morceaux: Remplacer un polynôme de degré élevé qui passe, ou est contrôlé, par de nombreux points, par plusieurs courbes de degré plus faible, plus faciles à manipuler par l'opérateur et aussi d'un point de vue numérique; Exemple: Au lieu d'une courbe contrainte par 10 points… 9 segments de courbes polynômiales cubiques passant chacune par 2 points et respectant des contraintes de continuité en ces points . ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbe Spline Exemple: Courbe par morceaux Problème: L'attribution de la valeur du paramètre u au point Pi; La valeur de u devrait être proportionnelle à la longueur parcourue (Au moment de la construction, la courbe est inconnue!). Pn-1 Segmentn u=un-1 Pn u=un Si+1(u); u ϵ [ui,ui+1] Sn(u); u ϵ [un-1,un] Pi Segmenti+1 u=ui Pi+1 P1 u=u1 u=ui+1 Segment1 Si(u); u ϵ [ui,ui+1]: Une fonction polynômiale de degré m S1(u); u ϵ [u0,u1] P0 u=u0 ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbe Spline Principes des courbes par morceaux (suite): Les fonctions de base doivent être non nulles uniquement sur une partie limitée de l'espace paramétrique; La partie non nulle de chaque fonction de base est différente; La courbe résultante n'est affectée que par un nombre réduit de points;  modifiable localement Courbe composite qui a l'apparence d'une courbe unique; Les segments de courbe ainsi reliés doivent au minimum être des courbes polynomiales cubiques (le plus petit degré qui permet de décrire une courbe en 3D); Le nom Spline est utilisé pour nommer ces courbes: Spline désigne un instrument utilisé historiquement par plusieurs corps de métier pour tracer les courbes complexes (latte ou cerce, en français). ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbe Spline Courbe polynômiale par intervalles; Pour chaque morceau on définit: Ordre ou degré des polynômes, Plage du paramètre, Ordre de continuité aux jonctions; Chaque morceau réuni peut s’écrire sous la forme: Avec: u le paramètre de la courbe, f(u) la fonction polynômiale, Gi la ième information géométrique, Ni la ième fonction de base ou d’influence. ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbe Spline Une fonction spline de degré m et d’ordre de continuité r est une fonction polynomiale par intervalles de degré m, définie par exemple sur n intervalles : L’ordre de continuité d’une fonction est r si ses (r-1) premières dérivées sont continues; Elle satisfait les conditions de continuité de la jième dérivée de f aux valeurs nodales: Soit la continuité de f et de ses r-1 premières dérivées aux frontières des intervalles. ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbe Spline cubique Les splines cubiques sont des courbes polynômiales par morceaux dont chaque segment est représenté par un polynôme de degré 3; Une façon de représenter un segment de spline cubique est d’utiliser comme informations géométriques: La position des points aux deux extrémités, Le vecteur tangent à chaque extrémité;… … L’Hermite! p0’ p1’ p0 p1 ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbe Spline cubique Cette courbe est connue sous le nom de courbe spline cubique à dérivée seconde continue (degré m = 3, ordre r = 3); Soit (n+1) points à interpoler, donc n segments sont nécessaires: Chaque segment possède 4 inconnues, donc 4(n) inconnues à résoudre; Chaque segment passe par le point de départ et d'arrivée, donc 2(n) premières contraintes géométriques (continuité de position, C0); Respecter les pentes en chaque point de connexion, donc (n-1) autres contraintes géométriques (continuité en tangence, C1); Respecter les courbures (en fait simplifié en respectant les dérivés secondes), donc (n-1) autres contraintes (continuité en courbure, C2); Il manquent encore 2 contraintes. Plusieurs solutions sont proposées: Pentes paramétriques nulles aux extrémités (P1'(u0) = 0 et Pn'(un) = 0) Courbures nulles aux extrémités (P1''(u0) =0 et Pn''(un) = 0) Les pentes aux extrémités explicitement données (dy/dx: pente géométrique; dy/du et dx/du: pentes paramétriques). ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbe Spline cubique Modification globale « atténuée » … En s'éloignant du point modifié, les effets deviennent minimes; Spline cubique: pas de continuité C3 (r = 3); Continuité C3: utilisée pour les profils de came ou des analyses aérodynamiques; Solution: utiliser un polynôme de degré n > 3; Pour un polynôme de degré n, une continuité à la dérivée n-1 servira de contrainte en chaque point. Point déplacé [McMahon et Browne] ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbe B-spline Caractéristiques: Généralisation par segment de l’approche de Bézier; Courbe approximative à variation locale; Pas de limitation sur le nombre de points de contrôle; Le degré de la courbe est indépendant du nombre de points de contrôle; Chaque segment de la courbe possède ses propres fonctions d’influence («blending functions») dont les valeurs sont non-nulles uniquement pour l’intervalle correspondant; La courbe B-spline est contenue à l’intérieur de son polygone de contrôle; Elle peut ou non passer par les points aux extrémités. Adapté du cours GMC405, Prof. Alain Desrochers ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbe B-spline Une courbe de Bézier par segment, ou B-spline, est modifiable localement ? Modification d'un point du polygone Courbe modifiée localement ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbe B-spline Exemple: Expression matricielle de la forme B-Spline uniforme non-rationnelle d’ordre K = 4 (degré m = 3): Expression polynômiale de la forme B-Spline uniforme non-rationnelle d’ordre K = 4 (degré m = 3): Adapté du cours GMC405, Prof. Alain Desrochers ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbe B-spline Exemple: B-Spline uniforme non-rationnelle d’ordre 4, sur (n+1) = 10 points, donc composée de 7 segments (Q3 à Q9); P9 y(u) P8 P3 u10 P1 Q5 P4 Q9 u6 u9 P7 u5 Q8 u3 u8 Q6 Q4 Q7 P6 Q3 u7 u4 P5 Point de contrôle Nœud P0 P2 x(u) Foley ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbe B-spline Exemple: Contrôle local d’une B-Spline uniforme non-rationnelle d’ordre 4, sur (n+1) = 9 points, composée de 6 segments (Q3 à Q8); y(u) x(u) Courbe avec P4’’ P4’’ P4’ Courbe avec P4’ P4 P1 Courbe avec P4 P8 u3 P3 P7 Q3 Q5 Q8 u9 P0 Q6 Q4 u4 u8 Point de contrôle P5 Q7 P6 Nœud P2 Foley ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes

Courbes B-spline Exemple Courbe B-spline non-uniforme non-rationnelle pour n = 5 et K = 3; Fonctions de base (n=5 et K=3). p0 p1 p2 p3 p4 p5 p4' N0,3 (u) N3,3 (u) N1,3 (u) N4,3 (u) N2,3 (u) N5,3 (u) ©A.B.Côté, adapté de L.Rivest & R.Maranzana Courbes complexes