modélisation géométrique comment modéliser les objets du monde réel avec la géométrie...

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

Upload: madeline-lambert

Post on 03-Apr-2015

118 views

Category:

Documents


5 download

TRANSCRIPT

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