Algorithmes d’intersection de surfaces de subdivision

Preview:

DESCRIPTION

Algorithmes d’intersection de surfaces de subdivision. Sandrine LANQUETIN. Problème. Problème. Problème. Plan. Surfaces de subdivision Principe de Loop Intersection Algorithmes proposés : Algorithme naturel Algorithme de voisinage Algorithme de graphe Comparaison Conclusion. - PowerPoint PPT Presentation

Citation preview

11/12/02 AFIG 2002 - Lyon

Algorithmes d’intersection de surfaces de subdivision

Sandrine LANQUETIN

11/12/02 AFIG 2002 - Lyon

Problème

11/12/02 AFIG 2002 - Lyon

Problème

11/12/02 AFIG 2002 - Lyon

Problème

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

11/12/02 AFIG 2002 - Lyon

Surface de subdivision

Maillage initial

Règles de subdivision

0M

11/12/02 AFIG 2002 - Lyon

Surface de subdivision

Maillage initial

Règles de subdivision

1M

1 0M S M= ´

11/12/02 AFIG 2002 - Lyon

Surface de subdivision

Maillage initial

Règles de subdivision

2M

2 1

20

M S M

S M

= ´

= ´

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

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

11/12/02 AFIG 2002 - Lyon

Principe de Loop

Étape 1 :

11/12/02 AFIG 2002 - Lyon

Principe de Loop

Étape 2 : Masques

1-k

1/8

3/4

1/8

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

11/12/02 AFIG 2002 - Lyon

Intersection

Analytique Discrétisation Suivi Subdivision

Linsen [Lin00] Bierman [Bie00] O’Brien [Obr00]

Opérations booléennes

11/12/02 AFIG 2002 - Lyon

Algorithme naturel

Intersection entre tous les couples de faces des deux surfaces

Complexité ( )O n m´

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

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 é ùë ûÎ

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

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

11/12/02 AFIG 2002 - Lyon

Comment l’améliorer ?

Durée d’une intersection

Intersection polygones

11/12/02 AFIG 2002 - Lyon

Comment l’améliorer ?

Nombre d’intersections

Durée d’une intersection

Intersection polygones

11/12/02 AFIG 2002 - Lyon

Comment l’améliorer ?

Nombre d’intersections

Durée d’une intersection

Intersection polygones

O’Brien & Manocha

11/12/02 AFIG 2002 - Lyon

Algorithme de voisinage

Voisinage

F

( )2V F

( )1V F

F

( )2

W F

( )1

W F

11/12/02 AFIG 2002 - Lyon

Algorithme de voisinage

1. Faces intersectantes

Courbe d’intersection

&

Faces intersectantes

au niveau n

11/12/02 AFIG 2002 - Lyon

Algorithme de voisinage

1. Faces intersectantes

2. 1-voisinage1V

11/12/02 AFIG 2002 - Lyon

1. Faces intersectantes

2. 1-voisinage

3. 1-voisinage

1V

Algorithme de voisinage

1W

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

11/12/02 AFIG 2002 - Lyon

Comment l’améliorer ?

Nombre d’intersections

Durée d’une intersection

Intersection polygones

Voisinage

Parcours

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

11/12/02 AFIG 2002 - Lyon

Algorithme du graphe biparti

Exemple de construction du graphe biparti

1F

2F

1G

2G

3G

1F2F

1G2G

3G

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

11/12/02 AFIG 2002 - Lyon

Comparaison sur un exemple

694 faces & 128 faces

Intersection au niveau initial

11/12/02 AFIG 2002 - Lyon

Comparaison sur un exemple

Intersection

au niveau 1

Intersection

au niveau 2

Intersection

au niveau 3

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

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%

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

11/12/02 AFIG 2002 - Lyon

Perspectives

Réduire encore le nombre de tests Parcours

11/12/02 AFIG 2002 - Lyon

Perspectives

Réduire encore le nombre de tests Parcours

Incorporer dans les opérations booléennes

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

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

11/12/02 AFIG 2002 - Lyon

Recommended