Modélisation Géométrique Comment modéliser les objets du monde réel avec la géométrie euclidienne représentation virtuelle d’objet dans ses 3 dimensions Reconstruction à partir d’un objet réel, données issues d’un système de saisie
Modélisation : contraintes On veut pouvoir Manipuler les objets Modification interactive l’utilisateur peut « voir » la courbe (points de contrôle) fonctions numériquement stables Combiner 2 objets simples => objet complexe Que ce soit rapide et peu coûteux en mémoire Modélisation procédurale automatisation de la création Historiquement les premiers modèles sont bidimensionnels réalisation de plan peu adapté à des objets complexes 3D Industrie aéronautique, automobile,... Infographie
Modèle fil de fer (historiquement le premier) Modélisation 3D Modèle fil de fer (historiquement le premier) On ne retient que les coordonnées (X,Y,Z) des sommets et les arêtes conduit à des ambiguïtés Elimination des parties cachées Peut donner des solides sans sens physique Modèle surfacique Maillage: ensemble de polygones connectés (triangles) Surfaces implicites Surfaces paramétriques Représentation par subdivisions successives Modèle volumique
S= ensemble des points P(x,y,z) tel que f(x,y,z)=m Metaballs Surfaces implicites S= ensemble des points P(x,y,z) tel que f(x,y,z)=m équation analytique Metaballs iso-surface de champs de potentiels définition d’un métaball i Ri rayon d ’influence fi(r) fonction de champ r distance d’un point au centre pi modélisation de surfaces organiques objets déformables
Courbes et surfaces paramétriques Courbes et surfaces de formes libres définies à partir de points de contrôle modification interactive indépendance des axes Courbes de Bézier Courbes B-splines Transformation B-spline -> Bézier NURBS Surfaces de Bézier Surfaces B-splines
Courbes paramétriques Contraintes au niveau du concepteur à partir de points de contrôle fonctions simples et numériquement stables polynômes contrôle local ou global par morceaux? propriété de « variation décroissante » Interpolation polynomiale de points de mesure: globale ou par morceaux ? La plus simple: linéaire par morceaux Plus « lisse » : cubique par morceaux Problème de raccordements: Fonction continue Dérivée continue
Interpolation de Lagrange Méthodes globales Interpolation de Lagrange n points , n conditions -> polynôme de degré n-1 Interpolation d’Hermite en chaque point: valeur de la fonction + de la dérivée Inconvénients en CAO Trop de calculs, résolution de systèmes linéaires Résultats parfois mauvais: trop d’ondulations Modification d’un point?
Fonction spline cubique d’interpolation Modèle mathématique de la latte des dessinateurs (1950) solution de: On l’appelle spline cubique naturelle s de noeuds x1,....xn on l’obtient par résolution d’un système linéaire tridiagonal, n inconnues s’(xi)
Spline cubique d’interpolation (suite) Inconvénients: Calculs longs Modifications pas complètement locales Ondulations Splines sous-tension on tire en chaque point => =>Points de « passage » deviennent des points de contrôle
Approximation Définition À partir des n points P1,...Pn, la courbe d’approximation est définie par : où i,k(t) pour i =1 à n sont les fonctions de base et t le paramètre Pour obtenir une bonne approximation, les fonctions de base doivent: être à support le plus local possible le plus lisse possible en tout point Approximations classiques si les i,k(t) sont les polynômes de Bernstein => approximation de Bézier si les i,k(t) sont les B-splines d’ordre k => approximation B-spline
Courbes de Bézier Représentation par polygone de contrôle n+1 points ordonnés P0,...Pn. La courbe de Bézier est définie par: Les fonctions de bases Bi,n(t) sont les polynômes de Bernstein Le degré dépend du nombre de points de contrôle contenue dans l’enveloppe convexe à variation décroissante p0 p1 p2 p3
Courbes de Bézier k=3 Forme matricielle
Propriétés de la courbe Courbes de Bézier Propriétés de la courbe passe par le 1er et le dernier point tangente au premier segment et au dernier les tangentes aux extrémités sont connues Forme « prévue » Modification d’un point difficile quand n est « grand »
Courbe de Bézier -suite Algorithme de De Casteljau: construction géométrique d’un point de la courbe Exemple pour 4 points de contrôle et t = 2/3
Courbes de Bézier composites Juxtaposition de courbes de Bézier simples définies par les polygones de contrôle Raccordement C0 Raccordement C1 Bézier cubique définie à partir de 2 points et de la dérivée en chaque extrémité, direction et longueur Dans les logiciels courants: manipulation par « poignées »
Les B-splines vérifient une relation de récurrence: Base de B-spline Définition Soient ti, t1<t2<....<tM-1<tM une subdivision de M nœuds. Une B-spline d’ordre k associée à cette subdivision vérifie: c’est un polynôme de degré k-1 sur chaque intervalle [ti ,ti+1] la fonction est Ck-2 sur [t1 ,tM] à support minimal Les B-splines vérifient une relation de récurrence: => , sur k intervalles
N3,4(t) Fonction B-splines N4,2(t) (ordre 2, degré 1) t1 t2 t3 t4 t5 t6 t7 t8 Fonctions B-splines cubiques uniformes Ni,4 (t)
Approximation B-spline on se donne N points ordonnés P1,...PN on choisit un ordre k (degré k-1) et une subdivision t1 ≤ t2 ≤ .... ≤ tN+k-1 ≤ tN+k L’approximation est définie par Influence de l’ordre
Courbes B-splines (suite) Propriétés des B-splines => Propriétés de l’approximation Variation décroissante Contenu dans l’enveloppe convexe courbe spline quadratique cubique Influence d’un point de contrôle Influence du paramétrage
Valeur en un point: Algorithme de De Boor algorithme de De Boor : relation de récurrence Exemple pour k=4 (cubique), soit t [tj ,tj+1] subdivision uniforme Nj-3 Nj-2 Nj-1 Nj tj tj+1 p3 p0 p1 p2 p4 p5 p6 j=3 =>Q3 Q3 Q6 j=4 =>Q4 Q4 Q5 j=5 =>Q5 j=6 =>Q6
Tracé par subdivision du polygone de contrôle insertion d’un nœud tj<t’<tj+1 la nouvelle courbe est définie par le nouveau polygone de contrôle P1, P2,.... P8 => P’1, P’2 ,.... P’13 en introduisant 5 nœuds entre tj et tj+1 pour j=4 à 8 Exemple: j=6 , t’=1/2(t6+t7) P1 P3 P’4 P4 P2 P’5 P7 P8 P’6 P5 P6
B-splines à nœuds multiples Nœuds multiples: suite de nœuds non décroissantes t={... t-1,t0,t1,t2,...} on généralise la définition des B-splines avec la relation de récurrence (0/0=0) si i l’ordre de multiplicité du nœud ti => la continuité de la B-spline Ni,k d’ordre k en ti est k- i-1 B-spline quadratique Approximation « non uniforme » Courbe ouverte ou fermée
Exemple : k=4 (cubique) et nœuds d’ordre 4 aux extrémités t1=t3=t3=t4 t5 t6 t7 t8 t9 tN+1=tN+2=tN+3=tN+4 Approximation par des quadratiques et des cubiques passe par le premier et le dernier point tangente aux segments extrémités k fois k fois
Transformation B-spline vers Bézier insertion de nœuds jusqu’à multiplicité k-1 des nœuds (k ordre de la base) Points de Bézier d’une spline cubique
NURBS: Non Uniform Rational B-splines Les courbes NURBS NURBS: Non Uniform Rational B-splines A l’origine faites pour une représentation exacte des coniques A chaque point de contrôle Pi on associe un poids i La courbe NURBS est définie par: plus de degrés de liberté les poids peuvent être positifs ou négatifs
Les courbes NURBS (suite) Dans la pratique, souvent 3 points de contrôles P0 , P1 et P2 B-splines quadratiques N0,2 , N1,2 et N2,2 des nœuds multiples aux extrémités t0 = t1 = t2 < t3= t4 = t5 avec 0 = 2 =1 et 1 variable Courbe complémentaire obtenue avec -1
Carreaux de Bézier Produit tensoriel Propriétés : 2 paramètres u et v Réseau de points de contrôle Pi,j Surface de Bézier: Propriétés : les frontières du carreau sont les courbes de Bézier la surface appartient à l’enveloppe convexe, définie par (n+1)(m+1) points de contrôle Pi,j variation décroissante
Recollement des surfaces de Bézier soit 2 surfaces : Q définie par qij, R définie par rij continuité d’ordre zéro q3i=r0i, i=0 à 3 continuité d’ordre un: alignement des tangentes q3i-q2i= k(r1i -r0i), i=0 à 3
autre possibilité : tangentes coplanaires Jonction des surfaces autre possibilité : tangentes coplanaires Subdivision locale méthode de Clark: subdivisions indépendantes de surfaces adjacentes
rendu de surfaces calcul des normales à partir des tangentes subdivision récursive en u et/ou en v (méthode de De Casteljau) problème ramené aux courbes
Surfaces B-splines Produit tensoriel 2 paramètres u et v Réseau de points de contrôle Pi,j Surface B-spline :
Surfaces splines (1) (2) (3) (4) (5) (1) (2) (3) (4) (5) Construction Construction Union des vecteurs Reconstruction Résultat des courbes en u des courbes en v
Même propriétés que les courbes splines la surface appartient à l’enveloppe convexe variation décroissante algorithmes de calcul rapides «Calcul» de la surface par subdivision du réseau de contrôle algorithme de Catmull et Clark (surface biquadratique)
Surfaces biparamétriques Réseau dégénéré Modification de la surface
Patches triangulaires Coordonnées barycentriques (u,v) => (r,s,t), r+s+t=1 Surface définie sur des patches triangulaires: Réseau de degré 2 Réseau de degré 10 Réseau de degré 20
Surfaces de révolution Surface créée à partir d’une courbe un axe de rotation position de la courbe par rapport à l’axe de rotation un angle de rotation
Surfaces extrudées Surface créée à partir d’une courbe plane en lui donnant de l’épaisseur Extrusion généralisée Une courbe plane fermée une trajectoire position et modification de la courbe plane le long de la trajectoire
Construction par déplacement Sweeping Construction par déplacement Une courbe plane Un axe de rotation Un angle de rotation Un déplacement
Construction par Déformation Wraping Construction par Déformation Torsion Enroulement
Composition booléenne de volumes Opérateur booléen: Union => Intersection Différence => ou
Modélisation volumique Représentation par arbre de construction:CSG Représentation par une grammaire Exp -> prim / transf prim / op exp exp Prim -> cube / sphere / cone / ... Transf -> translation / homothétie / rotation Op -> union / intersection / différence
Surfaces Fractales Montagnes fractales Construction récursive du terrain Modèle statistique axiome générateur aléatoire
Montagnes fractales
L-systems ou ré-écriture de chaine Modélisation de plantes Grammaire décrivant la croissance L’axiome les règles de production un angle le nombre d’itérations Exemple: axiome : F règle: F F[+F]F[-F]F = /7
L-Systèmes axiome : S L F F F règles: = /10 Fougère de Barnsley S [+++G][---G]TS G +H [-G]L H -G [+H]L T TL L [-FFF][+FFF]F = /10 Fougère de Barnsley
Arbre