Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30....

61
Régles élémentaires de modélisation 1 Constructive Solid Geometry Représentation constructive Primitives volumiques paramétrées Transformations Opérations booléennes : Union, intersection, différence entre des objets Notion de graphe Avantage : Description simple Simulation « Usinage » des objets wikipedia

Transcript of Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30....

Page 1: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

Régles élémentaires de modélisation

1

Constructive Solid GeometryReprésentation constructivePrimitives volumiques paramétréesTransformationsOpérations booléennes :

Union, intersection, différence entre des objets

Notion de grapheAvantage : Description simple

Simulation « Usinage » des objets

wikipedia

Page 2: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

Composants

2

Page 3: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

Modèle CSG

3

+

Page 4: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

Addition

4

Page 5: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

Soustraire

-

5

U

Page 6: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

Commun

6

Page 7: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

Congés - Fillet

7

Page 8: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

Construction d’esquisses

3 extrusions

Composant = géométrie dans le plan = un ou plusieurs contours

+ opérateursExtrusion le long d’une droite, d’une courbeRotation autour d’un axe

8

Page 9: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

CAO variationelle, paramétrique

9

Notion de contraintesDistanceAngle,Coincidence,Tangence,Symétrie …Conception paramétriqueChanger les dimensions de la pièce

Page 10: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

Construction d’esquisses : outils

10

Page 11: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

Quelques règles

Fermeture de contoursDistinction entre Géométrie et Eléments de construction (axe, centre d’un cercle)Contours connexesGéométrie eulérienne (manifold)

11Création d’une sphère

Page 12: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

Manifold – Non manifold (eulériens)

12

Page 13: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

Et les mathématiques ?

13

Un contour "adhère" partout à son intérieur

Soit S un ensemble de R3

Adhérence : A(S)

P ∈ A( S) : tout voisinage de P contient un point de S

Intérieur : I(S)

P ∈ I( S) si ∃ V(P) ⊂ S

Frontière : B(S)

P ∈ B( S) si P ∈ A( S) et P ∈ A( C(S)) où C(S) désigne le complémentaire de S dans R3

Page 14: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

Mathématique

14

Ouvert : S = A(S)

Fermé : S = I(S)

Solide régulier

S = A(I(S)) : adhérence de son intérieur = R(S)

Page 15: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

Opérateur de régularisation

A ∩B = R(A∩B)A ∪ B = R(A∪B)A - B = R(A-B)C(A) = R(C(A))

15

A ∩BA - B

A

B

AR(A ∩B)

R(A – B)

Page 16: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

Opérateur de régularisation

16

A B

A ∪ B

C(A)/B

A B

R(C(A)/B)

Page 17: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

Quelques règles : extrusion

Esquisse connexe : fermée par une seule et unique frontière extérieurePeut contenir plusieurs frontières intérieures

Extrusion multiple

17++

Eléments de construction extrudés

Géométrie « non manifold », non eulérienne

Page 18: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

Quelques règles

18

Page 19: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

Lissage-Multi-sections

19

Page 20: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

« Nervure » CATIA

20

Page 21: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

« Nervure » CATIA

21

Page 22: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

Bouclage

22

Page 23: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

Solution

23

Page 24: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

Lissage

24

Page 25: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

Lissage

25

Page 26: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

Lissage

26

Page 27: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

Lissage

27

Page 28: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

28

Coque

Page 29: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

Raidisseur (nervure)

29

Page 30: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

Exemple catia

30

Page 31: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

Modèle filaire et ses limites

31

Page 32: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

Modèle BREP

32

face

Solide

Contour

Volume

Surface

Courbe

Sommet

Arête

Point

Page 33: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

Modèle hiérarchique

33

Page 34: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

Modèle hiérarchique

34

Page 35: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

Modèle hiérarchique

35

Page 36: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

BREP

36

Page 37: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

La visualisationQuelques modèles de représentation

WikipediaAlgorithmes Marching cubesArbre octalDelaunayRepérage spatial

37

Page 38: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

Géométries discrètes

38

Page 39: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

Marching cubesWilliam LORENSEN et Harvey CLINE

39

Page 41: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

Marching cubes

41

Construction de la surface d’une volume sous la forme de trianglesConstruction de surfaces iso-densitéEtapes : 1. Diviser l’espace en cubes élémentaires de taille constante2. Pour chaque cube , on compte le nombre de sommets au dessus d’un seuil

Exemple : 1 intérieur, 0 sur la frontière, -1 intérieur3. On fait un inventaire de l’ensemble des configurations obtenues.4. A chaque configuration est associée une triangulation : variantes sur la

position des sommets des triangles

Page 42: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

Marching cubeshttp://www.polytech.unice.fr/~lingrand/MarchingCubes/algo.html

3D : 256 configurationsAmbiguités à gérer

42

Page 43: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

Amélioration

43

Découpage d’arête

Inversion de diagonale

Bougé de points

Suppression d’un noeud

Suppression d’arête

Fusion de noeud

Page 44: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

Remaillage d’un polygone

44

?n points

Remaillages possibles?

Page 45: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

Principe

=

=

=

…..45

Page 46: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

Principe

=n nœuds conduit à n-2 triangles

46

Tn =

n(n − 1)(n − 2)6

On montre que l’on peut créer Tn triangles différents

3 4 5 6 7 8 9 10

1 4 10 20 35 56 84 120

N=10, 1430 triangulations possibles!

Page 47: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

Exemples

3844 faces1924 sommetsArêtes S + F –2 = 5766

47566 faces 23793 sommetsArêtes S + F –2 = 71357

47

Page 48: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

Formule d'Euler : F + S = A + 2

48

F = nombres de faces, S = Nombre de sommets A: Nombre d'arêtes

POLYEDRE Type des Faces F S A

Tétraèdre Triangles équilatéraux 4 4 6

Octaèdre Triangles équilatéraux 8 6 12

Cube Carrés. 6 8 12

Dodécaèdre Pentagones 12 20 30

Icosaèdre Triangles équilatéraux 20 12 30

Page 49: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

Démonstration Cauchy (1789-1857)

S+F=A+2 S+F=A+1 S+F+1=(A+1)+1 S+F=A+1

S+F=A+1

49

S+F=A+1 (S-2)+F=(A-2)+1S+F=A+1

3+1=3+1!!

Page 50: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

Repérage et recherche d’un point dans l’espace

Nx = 7

1

8

2 3 4 5 6 7

x

50

But : Eviter un balayage systématique de l'ensemble des entités à chaque opération de recherche par un accès indexé. Découpage de l'espace ou maillage virtuel en sous-zones (cases, octants). Des listes d'objets coupant ou contenus dans chaque zone sont mises à jour à chaque nouvelle introduction d'objet.

Le domaine est recouvert d'une grille régulière. Chaque case de la grille est indexée par un entier. Nx est le nombre de cases dans la direction X, x0, y0 sont les coordonnées de l'origine de la grille.On met les points dans des cases.

La clé d'un point de coordonnées (x,y) se calcule par la formule :

clé (x,y) = INT x - xoD

+ Nx . INT y - yoD

+ 1

Page 51: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

Exploitation d’un pavage de l’espace

Pavé de cases touchées par la recherche

PR

x x x

xxx

x

x x x

x

x

x

x

x

x

x

x

x

x x

xxx

NULL

Listes de noeuds appartenant à la case i

T(i)

T : Table des têtes de liste de points appartenant à la même case.

T(i)

i

Les points contenus dans un cercle de rayon R de centre P sont obtenus en déterminant les clés du pavé de cases contenant le cercle. Les objets appartenant à la même case sont chaînés dans une liste dont la tête est repérée dans une table

51

Page 52: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

Grille-Arbre

52

Page 53: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

Arbre quaternaire-octalQuadtree-octree

• 2D et 3D1

2 3

4

1 2 3 4

53

Nx = 7

1

8

2 3 4 5 6 7

x

Page 54: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

Exploitation d’un arbre quaternaire

54

Listes des occurences de l'objetA1 A2 A3 A4

A Objet A

Les occurences pointent sur l'objet de référence

Ai désigne l'occurence de l'objet A traversant la case Oi

O1A1 B1

Chaînage entre occurences d'objets traversant la même case

Pointeur sur la tête de liste des occurences d'objet coupant la case O1 Les objets A et B coupent la case O1, leurs occurences sont chaînées.

O1

O2 O3

O4

BA

Page 55: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

Delaunay - Voronoï

• Vi = X / ||X - Pi || < ||X - Pj||, pour tout j!=i • L'ensemble des polyèdres est appelé maillage de Voronoï. • Les triangles (tétraèdres) créés en reliant les points des domaines adjacents sont

appelés polytopes de Delaunay.

55

Page 56: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

Delaunay - Voronoï

56

PTi

Page 57: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

57

Delaunay - Voronoï

P

Page 58: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

58

Delaunay - Voronoï

P

Page 59: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

59

Delaunay - Voronoï

P

Bi

Page 60: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

60

Delaunay - Voronoï

P

Page 61: Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30. Modèle filaire et ses limites 31. Modèle BREP 32 face Solide Contour Volume Surface

61

Delaunay - Voronoï

P

Si

Ti+1=Ti-Bi+Si