Algorithmes d’intersection de surfaces de subdivision
description
Transcript of Algorithmes d’intersection de surfaces de subdivision
![Page 1: Algorithmes d’intersection de surfaces de subdivision](https://reader036.fdocuments.us/reader036/viewer/2022062321/56813f75550346895daa5d04/html5/thumbnails/1.jpg)
11/12/02 AFIG 2002 - Lyon
Algorithmes d’intersection de surfaces de subdivision
Sandrine LANQUETIN
![Page 2: Algorithmes d’intersection de surfaces de subdivision](https://reader036.fdocuments.us/reader036/viewer/2022062321/56813f75550346895daa5d04/html5/thumbnails/2.jpg)
11/12/02 AFIG 2002 - Lyon
Problème
![Page 3: Algorithmes d’intersection de surfaces de subdivision](https://reader036.fdocuments.us/reader036/viewer/2022062321/56813f75550346895daa5d04/html5/thumbnails/3.jpg)
11/12/02 AFIG 2002 - Lyon
Problème
![Page 4: Algorithmes d’intersection de surfaces de subdivision](https://reader036.fdocuments.us/reader036/viewer/2022062321/56813f75550346895daa5d04/html5/thumbnails/4.jpg)
11/12/02 AFIG 2002 - Lyon
Problème
![Page 5: Algorithmes d’intersection de surfaces de subdivision](https://reader036.fdocuments.us/reader036/viewer/2022062321/56813f75550346895daa5d04/html5/thumbnails/5.jpg)
11/12/02 AFIG 2002 - Lyon
Plan
Surfaces de subdivision Principe de Loop Intersection Algorithmes proposés :
Algorithme naturel Algorithme de voisinage Algorithme de graphe
Comparaison Conclusion
![Page 6: Algorithmes d’intersection de surfaces de subdivision](https://reader036.fdocuments.us/reader036/viewer/2022062321/56813f75550346895daa5d04/html5/thumbnails/6.jpg)
11/12/02 AFIG 2002 - Lyon
Surface de subdivision
Maillage initial
Règles de subdivision
0M
![Page 7: Algorithmes d’intersection de surfaces de subdivision](https://reader036.fdocuments.us/reader036/viewer/2022062321/56813f75550346895daa5d04/html5/thumbnails/7.jpg)
11/12/02 AFIG 2002 - Lyon
Surface de subdivision
Maillage initial
Règles de subdivision
1M
1 0M S M= ´
![Page 8: Algorithmes d’intersection de surfaces de subdivision](https://reader036.fdocuments.us/reader036/viewer/2022062321/56813f75550346895daa5d04/html5/thumbnails/8.jpg)
11/12/02 AFIG 2002 - Lyon
Surface de subdivision
Maillage initial
Règles de subdivision
2M
2 1
20
M S M
S M
= ´
= ´
![Page 9: Algorithmes d’intersection de surfaces de subdivision](https://reader036.fdocuments.us/reader036/viewer/2022062321/56813f75550346895daa5d04/html5/thumbnails/9.jpg)
11/12/02 AFIG 2002 - Lyon
1
0
k k
k
M S M
S M
-= ´
= ´
Surface de subdivision
Maillage initial
Règles de subdivision
Surface lisse
3M
![Page 10: Algorithmes d’intersection de surfaces de subdivision](https://reader036.fdocuments.us/reader036/viewer/2022062321/56813f75550346895daa5d04/html5/thumbnails/10.jpg)
11/12/02 AFIG 2002 - Lyon
Principe de Loop
Principes [Zor00] : Doo-Sabin [Doo78] Catmull-Clark [Cat78] Loop [Loo87]
Velho [Vel00], Kobbelt [Kob00]…
Loop Faces triangulaires B-spline triangulaire quartique
![Page 11: Algorithmes d’intersection de surfaces de subdivision](https://reader036.fdocuments.us/reader036/viewer/2022062321/56813f75550346895daa5d04/html5/thumbnails/11.jpg)
11/12/02 AFIG 2002 - Lyon
Principe de Loop
Étape 1 :
![Page 12: Algorithmes d’intersection de surfaces de subdivision](https://reader036.fdocuments.us/reader036/viewer/2022062321/56813f75550346895daa5d04/html5/thumbnails/12.jpg)
11/12/02 AFIG 2002 - Lyon
Principe de Loop
Étape 2 : Masques
1-k
1/8
3/4
1/8
![Page 13: Algorithmes d’intersection de surfaces de subdivision](https://reader036.fdocuments.us/reader036/viewer/2022062321/56813f75550346895daa5d04/html5/thumbnails/13.jpg)
11/12/02 AFIG 2002 - Lyon
Principe de Loop
Étape 1 : Étape 2 : Masques
3/8 3/8
1/8
1/8
1/21/2
![Page 14: Algorithmes d’intersection de surfaces de subdivision](https://reader036.fdocuments.us/reader036/viewer/2022062321/56813f75550346895daa5d04/html5/thumbnails/14.jpg)
11/12/02 AFIG 2002 - Lyon
Intersection
Analytique Discrétisation Suivi Subdivision
Linsen [Lin00] Bierman [Bie00] O’Brien [Obr00]
Opérations booléennes
![Page 15: Algorithmes d’intersection de surfaces de subdivision](https://reader036.fdocuments.us/reader036/viewer/2022062321/56813f75550346895daa5d04/html5/thumbnails/15.jpg)
11/12/02 AFIG 2002 - Lyon
Algorithme naturel
Intersection entre tous les couples de faces des deux surfaces
Complexité ( )O n m´
![Page 16: Algorithmes d’intersection de surfaces de subdivision](https://reader036.fdocuments.us/reader036/viewer/2022062321/56813f75550346895daa5d04/html5/thumbnails/16.jpg)
11/12/02 AFIG 2002 - Lyon
.nX d=-rr
nr
Algorithme naturel
Intersection face/face Face/arêtes Plan/droite
i i jX OV tVV= +r uuuur uuuur
iV
jV
i jn VV^uuuurr
Rque : Si , on ne fait rien
.
.i
i j
d nOVt
nVV
- -=
uuuurruuuurr
![Page 17: Algorithmes d’intersection de surfaces de subdivision](https://reader036.fdocuments.us/reader036/viewer/2022062321/56813f75550346895daa5d04/html5/thumbnails/17.jpg)
11/12/02 AFIG 2002 - Lyon
Algorithme naturel
Intersection face/face Face/arêtes de la face
Plan/droite Plan/arête : Face/arête : aires
1V
1
iP
3V
2V
1
iP
3V
1V
2V
0,1t é ùë ûÎ
![Page 18: Algorithmes d’intersection de surfaces de subdivision](https://reader036.fdocuments.us/reader036/viewer/2022062321/56813f75550346895daa5d04/html5/thumbnails/18.jpg)
11/12/02 AFIG 2002 - Lyon
Algorithme naturel
Evaluation de(s) courbe(s) polygonale(s) d’intersection
jP
1
iE
2
iE
F
Gk
P
Point d’intersection Coordonnées Faces F et G Arête
Winged edge
![Page 19: Algorithmes d’intersection de surfaces de subdivision](https://reader036.fdocuments.us/reader036/viewer/2022062321/56813f75550346895daa5d04/html5/thumbnails/19.jpg)
11/12/02 AFIG 2002 - Lyon
Algorithme naturel
Pas de distinction de cas
Croissance rapide du nombre d’intersection face / face
Accélération : boites englobantes
Calcul très lent
![Page 20: Algorithmes d’intersection de surfaces de subdivision](https://reader036.fdocuments.us/reader036/viewer/2022062321/56813f75550346895daa5d04/html5/thumbnails/20.jpg)
11/12/02 AFIG 2002 - Lyon
Comment l’améliorer ?
Durée d’une intersection
Intersection polygones
![Page 21: Algorithmes d’intersection de surfaces de subdivision](https://reader036.fdocuments.us/reader036/viewer/2022062321/56813f75550346895daa5d04/html5/thumbnails/21.jpg)
11/12/02 AFIG 2002 - Lyon
Comment l’améliorer ?
Nombre d’intersections
Durée d’une intersection
Intersection polygones
![Page 22: Algorithmes d’intersection de surfaces de subdivision](https://reader036.fdocuments.us/reader036/viewer/2022062321/56813f75550346895daa5d04/html5/thumbnails/22.jpg)
11/12/02 AFIG 2002 - Lyon
Comment l’améliorer ?
Nombre d’intersections
Durée d’une intersection
Intersection polygones
O’Brien & Manocha
![Page 23: Algorithmes d’intersection de surfaces de subdivision](https://reader036.fdocuments.us/reader036/viewer/2022062321/56813f75550346895daa5d04/html5/thumbnails/23.jpg)
11/12/02 AFIG 2002 - Lyon
Algorithme de voisinage
Voisinage
F
( )2V F
( )1V F
F
( )2
W F
( )1
W F
![Page 24: Algorithmes d’intersection de surfaces de subdivision](https://reader036.fdocuments.us/reader036/viewer/2022062321/56813f75550346895daa5d04/html5/thumbnails/24.jpg)
11/12/02 AFIG 2002 - Lyon
Algorithme de voisinage
1. Faces intersectantes
Courbe d’intersection
&
Faces intersectantes
au niveau n
![Page 25: Algorithmes d’intersection de surfaces de subdivision](https://reader036.fdocuments.us/reader036/viewer/2022062321/56813f75550346895daa5d04/html5/thumbnails/25.jpg)
11/12/02 AFIG 2002 - Lyon
Algorithme de voisinage
1. Faces intersectantes
2. 1-voisinage1V
![Page 26: Algorithmes d’intersection de surfaces de subdivision](https://reader036.fdocuments.us/reader036/viewer/2022062321/56813f75550346895daa5d04/html5/thumbnails/26.jpg)
11/12/02 AFIG 2002 - Lyon
1. Faces intersectantes
2. 1-voisinage
3. 1-voisinage
1V
Algorithme de voisinage
1W
![Page 27: Algorithmes d’intersection de surfaces de subdivision](https://reader036.fdocuments.us/reader036/viewer/2022062321/56813f75550346895daa5d04/html5/thumbnails/27.jpg)
11/12/02 AFIG 2002 - Lyon
Algorithme de voisinage
4. Intersection des des deux surfaces
1W
Courbe d’intersection
&
Faces intersectantes
au niveau n+1
![Page 28: Algorithmes d’intersection de surfaces de subdivision](https://reader036.fdocuments.us/reader036/viewer/2022062321/56813f75550346895daa5d04/html5/thumbnails/28.jpg)
11/12/02 AFIG 2002 - Lyon
Comment l’améliorer ?
Nombre d’intersections
Durée d’une intersection
Intersection polygones
Voisinage
Parcours
![Page 29: Algorithmes d’intersection de surfaces de subdivision](https://reader036.fdocuments.us/reader036/viewer/2022062321/56813f75550346895daa5d04/html5/thumbnails/29.jpg)
11/12/02 AFIG 2002 - Lyon
Algorithme du graphe biparti
Graphe biparti Sommets répartis en 2 groupes :
Faces intersectantes de la première surface
Faces intersectantes de la seconde
Chaque arête a une extrémité dans chacun de ces groupes
Symbolise l’intersection entre les faces
![Page 30: Algorithmes d’intersection de surfaces de subdivision](https://reader036.fdocuments.us/reader036/viewer/2022062321/56813f75550346895daa5d04/html5/thumbnails/30.jpg)
11/12/02 AFIG 2002 - Lyon
Algorithme du graphe biparti
Exemple de construction du graphe biparti
1F
2F
1G
2G
3G
1F2F
1G2G
3G
![Page 31: Algorithmes d’intersection de surfaces de subdivision](https://reader036.fdocuments.us/reader036/viewer/2022062321/56813f75550346895daa5d04/html5/thumbnails/31.jpg)
11/12/02 AFIG 2002 - Lyon
Algorithme du graphe biparti
Voisinage et subdivision
( )1 2
W G
( )1 1
W G
( )1 3
W G
( )1 1
W F
( )1 2
W F
1F
2F
1G
2G
3G
![Page 32: Algorithmes d’intersection de surfaces de subdivision](https://reader036.fdocuments.us/reader036/viewer/2022062321/56813f75550346895daa5d04/html5/thumbnails/32.jpg)
11/12/02 AFIG 2002 - Lyon
Comparaison sur un exemple
694 faces & 128 faces
Intersection au niveau initial
![Page 33: Algorithmes d’intersection de surfaces de subdivision](https://reader036.fdocuments.us/reader036/viewer/2022062321/56813f75550346895daa5d04/html5/thumbnails/33.jpg)
11/12/02 AFIG 2002 - Lyon
Comparaison sur un exemple
Intersection
au niveau 1
Intersection
au niveau 2
Intersection
au niveau 3
![Page 34: Algorithmes d’intersection de surfaces de subdivision](https://reader036.fdocuments.us/reader036/viewer/2022062321/56813f75550346895daa5d04/html5/thumbnails/34.jpg)
11/12/02 AFIG 2002 - Lyon
Nombre de tests par algorithmes
0
5 000 000
10 000 000
15 000 000
20 000 000
25 000 000
30 000 000
0 1 2 3 4 5
Niveau de subdivision
Nom
bre
de
test
s
Algo Naturel
Algo Voisinage
Algo Graphe
![Page 35: Algorithmes d’intersection de surfaces de subdivision](https://reader036.fdocuments.us/reader036/viewer/2022062321/56813f75550346895daa5d04/html5/thumbnails/35.jpg)
11/12/02 AFIG 2002 - Lyon
Temps de calcul
0
50
100
150
200
250
0 1 2 3 4
Niveau de subdivision
Tem
ps d
e ca
lcul
en
seco
ndes
Algo Naturel
Algo Voisinage
Algo Graphe
20%
![Page 36: Algorithmes d’intersection de surfaces de subdivision](https://reader036.fdocuments.us/reader036/viewer/2022062321/56813f75550346895daa5d04/html5/thumbnails/36.jpg)
11/12/02 AFIG 2002 - Lyon
Conclusion
Nombre de couples de faces à tester réduit : Voisinage Graphe biparti
Calculs accélérés Réduction du nombre de tests Boites englobantes
![Page 37: Algorithmes d’intersection de surfaces de subdivision](https://reader036.fdocuments.us/reader036/viewer/2022062321/56813f75550346895daa5d04/html5/thumbnails/37.jpg)
11/12/02 AFIG 2002 - Lyon
Perspectives
Réduire encore le nombre de tests Parcours
![Page 38: Algorithmes d’intersection de surfaces de subdivision](https://reader036.fdocuments.us/reader036/viewer/2022062321/56813f75550346895daa5d04/html5/thumbnails/38.jpg)
11/12/02 AFIG 2002 - Lyon
Perspectives
Réduire encore le nombre de tests Parcours
Incorporer dans les opérations booléennes
![Page 39: Algorithmes d’intersection de surfaces de subdivision](https://reader036.fdocuments.us/reader036/viewer/2022062321/56813f75550346895daa5d04/html5/thumbnails/39.jpg)
11/12/02 AFIG 2002 - Lyon
Perspectives
Réduire encore le nombre de tests Parcours
Incorporer dans les opérations booléennes
Estimer la courbe d’intersection au niveau k+1 à partir de la courbe au niveau k
1k kC S C+ = ´?kC
![Page 40: Algorithmes d’intersection de surfaces de subdivision](https://reader036.fdocuments.us/reader036/viewer/2022062321/56813f75550346895daa5d04/html5/thumbnails/40.jpg)
11/12/02 AFIG 2002 - Lyon
Perspectives
Réduire encore le nombre de tests Parcours
Incorporer dans les opérations booléennes
Estimer la courbe d’intersection au niveau k+1 à partir de la courbe au niveau k
Multirésolution
![Page 41: Algorithmes d’intersection de surfaces de subdivision](https://reader036.fdocuments.us/reader036/viewer/2022062321/56813f75550346895daa5d04/html5/thumbnails/41.jpg)
11/12/02 AFIG 2002 - Lyon