47
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 Géométrique Comment modéliser les objets du monde réel avec la géométrie euclidienne représentation virtuelle dobjet dans ses 3 dimensions

Embed Size (px)

Citation preview

Page 1: Modélisation Géométrique Comment modéliser les objets du monde réel avec la géométrie euclidienne représentation virtuelle dobjet dans ses 3 dimensions

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

Page 2: Modélisation Géométrique Comment modéliser les objets du monde réel avec la géométrie euclidienne représentation virtuelle dobjet dans ses 3 dimensions

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

Page 3: Modélisation Géométrique Comment modéliser les objets du monde réel avec la géométrie euclidienne représentation virtuelle dobjet dans ses 3 dimensions

• 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

Modélisation 3D

Page 4: Modélisation Géométrique Comment modéliser les objets du monde réel avec la géométrie euclidienne représentation virtuelle dobjet dans ses 3 dimensions

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

Page 5: Modélisation Géométrique Comment modéliser les objets du monde réel avec la géométrie euclidienne représentation virtuelle dobjet dans ses 3 dimensions

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

Page 6: Modélisation Géométrique Comment modéliser les objets du monde réel avec la géométrie euclidienne représentation virtuelle dobjet dans ses 3 dimensions

• 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

Courbes paramétriques

Page 7: Modélisation Géométrique Comment modéliser les objets du monde réel avec la géométrie euclidienne représentation virtuelle dobjet dans ses 3 dimensions

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?

Page 8: Modélisation Géométrique Comment modéliser les objets du monde réel avec la géométrie euclidienne représentation virtuelle dobjet dans ses 3 dimensions

• 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)

Fonction spline cubique d’interpolation

minv∈H 2

(v ' ')2∫ avec v(x i) = y i

(i) s ∈ C2 a,b[ ]

(ii) sx i,x i+1[ ]

∈ P 3, i =1 à n −1

(iii) s"(x1) = 0 et s"(xn ) = 0

Page 9: Modélisation Géométrique Comment modéliser les objets du monde réel avec la géométrie euclidienne représentation virtuelle dobjet dans ses 3 dimensions

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

Page 10: Modélisation Géométrique Comment modéliser les objets du monde réel avec la géométrie euclidienne représentation virtuelle dobjet dans ses 3 dimensions

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 €

ϕ i,k (t) =1i

P(t) = Pi

i=1

i= n

∑ ϕ i,k (t)

Page 11: Modélisation Géométrique Comment modéliser les objets du monde réel avec la géométrie euclidienne représentation virtuelle dobjet dans ses 3 dimensions

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

P(t) = Pi

i= 0

i= n

∑ Bi,n (t) où Bi,n (t) = Cin t i(1− t)n−i

p0

p1

p2

p3

p0

p1

p2

p3

p0

p1

p2

p3

Page 12: Modélisation Géométrique Comment modéliser les objets du monde réel avec la géométrie euclidienne représentation virtuelle dobjet dans ses 3 dimensions

Courbes de Bézier

• k=3

• Forme matricielle€

B0,3(t) = −t 3 + 3t 2 − 3t +1

B1,3(t) = 3t 3 − 6t 2 + 3t

B2,3(t) = −3t 3 + 3t 2

B3,3(t) = t 3

P(t) = t 3 t 2 t 1[ ]

−1 3 −3 1

3 −6 3 0

−3 3 0 0

1 0 0 0

⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥

P0

P1

P2

P3

⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥

Page 13: Modélisation Géométrique Comment modéliser les objets du monde réel avec la géométrie euclidienne représentation virtuelle dobjet dans ses 3 dimensions

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 »€

dP(0)

dt= n(P1 − P0)

dP(1)

dt= n(Pn − Pn−1)

Page 14: Modélisation Géométrique Comment modéliser les objets du monde réel avec la géométrie euclidienne représentation virtuelle dobjet dans ses 3 dimensions

• Algorithme de De Casteljau: construction géométrique d’un point de la courbe

Exemple pour 4 points de contrôle et t = 2/302p

01p

01p

00p

P0

P1 P01

P2 P11 P0

2

P3 P21 P1

2 P03

Courbe de Bézier -suite

Pir(t) = (1− t)Pi

r−1(t) + tPi+1r−1(t)

pour r =1,...n

i = 0,...n − r

⎧ ⎨ ⎩

avec Pi0(t) = Pi

p02

p12

p03

Page 15: Modélisation Géométrique Comment modéliser les objets du monde réel avec la géométrie euclidienne représentation virtuelle dobjet dans ses 3 dimensions

• 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 »

Courbes de Bézier composites

Page 16: Modélisation Géométrique Comment modéliser les objets du monde réel avec la géométrie euclidienne représentation virtuelle dobjet dans ses 3 dimensions

• DéfinitionSoient ti, t1<t2<....<tM-1<tM une subdivision de M nœuds.

Une B-spline d’ordre k associée à cette subdivision vérifie:

1. c’est un polynôme de degré k-1 sur chaque intervalle [ti ,ti+1]

2. la fonction est Ck-2 sur [t1 ,tM]

3. à support minimal

• Les B-splines vérifient une relation de récurrence:

=> , sur k intervalles

Base de B-spline

N i,k (t) ≠ 0 pour t ∈ ti, ti+k[ ]

N i,1(t) = 1 si ti ≤ t < ti+1

0 sinon

⎧ ⎨ ⎩

N i,k (t) =t − ti

ti+k−1 − ti

N i,k−1(t) +ti+k − t

ti+k − ti+1

N i+1,k−1(t)

Page 17: Modélisation Géométrique Comment modéliser les objets du monde réel avec la géométrie euclidienne représentation virtuelle dobjet dans ses 3 dimensions

Fonction B-splines N4,2(t) (ordre 2, degré 1)

N3,4(t)

t1 t2 t3 t4 t5 t6 t7 t8

Fonctions B-splines cubiques uniformes Ni,4 (t)

Page 18: Modélisation Géométrique Comment modéliser les objets du monde réel avec la géométrie euclidienne représentation virtuelle dobjet dans ses 3 dimensions

Approximation B-spline

• Approximation:• 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

P(t) = Pi

i=1

i= N

∑ N i,k (t)

Page 19: Modélisation Géométrique Comment modéliser les objets du monde réel avec la géométrie euclidienne représentation virtuelle dobjet dans ses 3 dimensions

• 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

Courbes B-splines (suite)

a) N i,k (t) ≥ 0 positivité

b) N i,k (t) = 0 si t ∉ ti, ti+k[ ]

c) N i,k (t) est maximum au point (ti + ti+1 + ...ti+k ) /(k +1)

d) les B- splines sont "normées" N i,ki∑ (t) =1

Page 20: Modélisation Géométrique Comment modéliser les objets du monde réel avec la géométrie euclidienne représentation virtuelle dobjet dans ses 3 dimensions

• algorithme de De Boor : relation de récurrence– Exemple pour k=4 (cubique), soit t [tj ,tj+1]

• subdivision uniforme

tj tj+1

Valeur en un point: Algorithme de De Boor

Q5

Pj−3

Pj−2 Pj−21

Pj−1 Pj−11 Pj−1

2

Pj Pj1 Pj

2 Pj3

Pi

m = (1−α im )Pi−1

m−1 + α imPi

m−1

avec α im =

t − ti

ti+4−m − ti

Nj-3 Nj-2 Nj-1 Nj

j=4 =>Q4

j=3 =>Q3

j=5 =>Q5

j=6 =>Q6

Q3

Q4p3

p0

p1

p2

p4

p5

p6Q6

Page 21: Modélisation Géométrique Comment modéliser les objets du monde réel avec la géométrie euclidienne représentation virtuelle dobjet dans ses 3 dimensions

• 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)

Tracé par subdivision du polygone de contrôle

P(t) = Pi 'N i,k

i=1

i= n +1

∑ (t)

où P1'= P1, Pn +1'= Pn et Pi' = (1− ai )Pi−1 + ai Pi

avec ai =

1 i = 2,...j − k +1 t'−ti

ti+k−1 − ti

i = j − k + 2,...j

0 i = j +1,...n

⎨ ⎪ ⎪

⎩ ⎪ ⎪

P3

P2

P6P5

P4

P7

P8

P1 P’4

P’5

P’6

Page 22: Modélisation Géométrique Comment modéliser les objets du monde réel avec la géométrie euclidienne représentation virtuelle dobjet dans ses 3 dimensions

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

Page 23: Modélisation Géométrique Comment modéliser les objets du monde réel avec la géométrie euclidienne représentation virtuelle dobjet dans ses 3 dimensions

• 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

Page 24: Modélisation Géométrique Comment modéliser les objets du monde réel avec la géométrie euclidienne représentation virtuelle dobjet dans ses 3 dimensions

• insertion de nœuds jusqu’à multiplicité k-1 des nœuds (k ordre de la base)

Points de Bézier d’une spline cubique

Transformation B-spline vers Bézier

t'= t6 ∈ t6, t7[ [

Page 25: Modélisation Géométrique Comment modéliser les objets du monde réel avec la géométrie euclidienne représentation virtuelle dobjet dans ses 3 dimensions

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€

P(t) =

PiωiN i,k (t)i= 0

i= n

ωiN i,k (t)i= 0

i= n

Page 26: Modélisation Géométrique Comment modéliser les objets du monde réel avec la géométrie euclidienne représentation virtuelle dobjet dans ses 3 dimensions

• 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

Les courbes NURBS (suite)

P(t) =P0ω0N0,2(t) + P1ω1N1,2(t) + P2ω2N2,2(t)

ω0N0,2(t) + ω1N1,2(t) + ω2N2,2(t)

Page 27: Modélisation Géométrique Comment modéliser les objets du monde réel avec la géométrie euclidienne représentation virtuelle dobjet dans ses 3 dimensions

• Produit tensoriel– 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

Carreaux de Bézier

P(u,v) = Pi, jBi,n

j= 0

j= m

∑i= 0

i= n

∑ (u)B j,m (v)

Page 28: Modélisation Géométrique Comment modéliser les objets du monde réel avec la géométrie euclidienne représentation virtuelle dobjet dans ses 3 dimensions

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

Page 29: Modélisation Géométrique Comment modéliser les objets du monde réel avec la géométrie euclidienne représentation virtuelle dobjet dans ses 3 dimensions

Jonction des surfaces

autre possibilité : tangentes coplanaires

• Subdivision localeméthode de Clark:

subdivisions indépendantes

de surfaces adjacentes

))(()(

)(3

2)2(

3

1)(

)(3

1)2(

3

1)(

)()(

32331023330313

31321313233022320212

30311303132021310111

3031020300010

qqssqqkrr

qqsqqqsqqkrr

qqsqqqsqqkrr

qqsqqkrr

−++−=−

−+−−+−=−

−+−−+−=−

−+−=−

Page 30: Modélisation Géométrique Comment modéliser les objets du monde réel avec la géométrie euclidienne représentation virtuelle dobjet dans ses 3 dimensions

• 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

⎟⎠

⎞⎜⎝

⎛= ∑∑

==

)()(),(3

0

3

0

uBpuBvuQ ii

ijj

j

Page 31: Modélisation Géométrique Comment modéliser les objets du monde réel avec la géométrie euclidienne représentation virtuelle dobjet dans ses 3 dimensions

• Produit tensoriel– 2 paramètres u et v– Réseau de points de contrôle Pi,j

– Surface B-spline :

Surfaces B-splines

P(u,v) = Pi, jN i,k

j= 0

j= m

∑i= 0

i= n

∑ (u)N j,p (v)

Page 32: Modélisation Géométrique Comment modéliser les objets du monde réel avec la géométrie euclidienne représentation virtuelle dobjet dans ses 3 dimensions

Surfaces splines

(1) (2) (3) (4) (5)

Construction Construction Union des vecteurs Reconstruction Résultat

des courbes en u des courbes en v

Page 33: Modélisation Géométrique Comment modéliser les objets du monde réel avec la géométrie euclidienne représentation virtuelle dobjet dans ses 3 dimensions

• 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)

Qi' j '

Qi' j '+1

Qi'+1, j '

Qi'+1, j '+1

⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥

=1

16

9 3 3 1

3 9 1 3

3 1 9 3

1 3 3 9

⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥

Pi−1, j−1

Pi−1, j

Pi, j−1

Pi, j

⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥

Page 34: Modélisation Géométrique Comment modéliser les objets du monde réel avec la géométrie euclidienne représentation virtuelle dobjet dans ses 3 dimensions

Surfaces biparamétriques

• Réseau dégénéré

• Modification de la surface

Page 35: Modélisation Géométrique Comment modéliser les objets du monde réel avec la géométrie euclidienne représentation virtuelle dobjet dans ses 3 dimensions
Page 36: Modélisation Géométrique Comment modéliser les objets du monde réel avec la géométrie euclidienne représentation virtuelle dobjet dans ses 3 dimensions

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

P(u,v) = c i, j ,k

0≤ i+ j +k≤n

∑ Bi, j ,kn (r,s, t)

où Bi, j ,kn (r,s, t) =

n!

i! j!k!r is j t k

Page 37: Modélisation Géométrique Comment modéliser les objets du monde réel avec la géométrie euclidienne représentation virtuelle dobjet dans ses 3 dimensions

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

Page 38: Modélisation Géométrique Comment modéliser les objets du monde réel avec la géométrie euclidienne représentation virtuelle dobjet dans ses 3 dimensions

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

Page 39: Modélisation Géométrique Comment modéliser les objets du monde réel avec la géométrie euclidienne représentation virtuelle dobjet dans ses 3 dimensions

Sweeping

• Construction par déplacement– Une courbe plane

– Un axe de rotation

– Un angle de rotation

– Un déplacement

Page 40: Modélisation Géométrique Comment modéliser les objets du monde réel avec la géométrie euclidienne représentation virtuelle dobjet dans ses 3 dimensions

Wraping

• Construction par Déformation– Torsion

– Enroulement

Page 41: Modélisation Géométrique Comment modéliser les objets du monde réel avec la géométrie euclidienne représentation virtuelle dobjet dans ses 3 dimensions

Composition booléenne de volumes

• Opérateur booléen: Union

=>

• Intersection

=>

• Différence

=> ou

Page 42: Modélisation Géométrique Comment modéliser les objets du monde réel avec la géométrie euclidienne représentation virtuelle dobjet dans ses 3 dimensions

Modélisation volumique

• Représentation par arbre de construction:CSG

• Représentation par une grammaireExp -> prim / transf prim / op exp exp

Prim -> cube / sphere / cone / ...

Transf -> translation / homothétie / rotation

Op -> union / intersection / différence

Page 43: Modélisation Géométrique Comment modéliser les objets du monde réel avec la géométrie euclidienne représentation virtuelle dobjet dans ses 3 dimensions

Surfaces Fractales

• Montagnes fractales– Construction récursive du terrain

– Modèle statistique

• axiome

• générateur aléatoire

Page 44: Modélisation Géométrique Comment modéliser les objets du monde réel avec la géométrie euclidienne représentation virtuelle dobjet dans ses 3 dimensions

Montagnes fractales

Page 45: Modélisation Géométrique Comment modéliser les objets du monde réel avec la géométrie euclidienne représentation virtuelle dobjet dans ses 3 dimensions

• 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-systems ou ré-écriture de chaine

Page 46: Modélisation Géométrique Comment modéliser les objets du monde réel avec la géométrie euclidienne représentation virtuelle dobjet dans ses 3 dimensions

• axiome : S L F F F

• règles: – S [+++G][---G]TS

– G +H [-G]L

– H -G [+H]L

– T TL

– L [-FFF][+FFF]F

= /10

• Fougère de Barnsley

L-Systèmes

Page 47: Modélisation Géométrique Comment modéliser les objets du monde réel avec la géométrie euclidienne représentation virtuelle dobjet dans ses 3 dimensions

Arbre