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

Preview:

Citation preview

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

Composants

2

Modèle CSG

3

+

Addition

4

Soustraire

-

5

U

Commun

6

Congés - Fillet

7

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

CAO variationelle, paramétrique

9

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

Construction d’esquisses : outils

10

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

Manifold – Non manifold (eulériens)

12

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

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)

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)

Opérateur de régularisation

16

A B

A ∪ B

C(A)/B

A B

R(C(A)/B)

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

Quelques règles

18

Lissage-Multi-sections

19

« Nervure » CATIA

20

« Nervure » CATIA

21

Bouclage

22

Solution

23

Lissage

24

Lissage

25

Lissage

26

Lissage

27

28

Coque

Raidisseur (nervure)

29

Exemple catia

30

Modèle filaire et ses limites

31

Modèle BREP

32

face

Solide

Contour

Volume

Surface

Courbe

Sommet

Arête

Point

Modèle hiérarchique

33

Modèle hiérarchique

34

Modèle hiérarchique

35

BREP

36

La visualisationQuelques modèles de représentation

WikipediaAlgorithmes Marching cubesArbre octalDelaunayRepérage spatial

37

Géométries discrètes

38

Marching cubesWilliam LORENSEN et Harvey CLINE

39

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

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

3D : 256 configurationsAmbiguités à gérer

42

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

Remaillage d’un polygone

44

?n points

Remaillages possibles?

Principe

=

=

=

…..45

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!

Exemples

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

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

47

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

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!!

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

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

Grille-Arbre

52

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

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

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

Delaunay - Voronoï

56

PTi

57

Delaunay - Voronoï

P

58

Delaunay - Voronoï

P

59

Delaunay - Voronoï

P

Bi

60

Delaunay - Voronoï

P

61

Delaunay - Voronoï

P

Si

Ti+1=Ti-Bi+Si

Recommended