Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30....
Transcript of Constructive Solid Geometry - UTCrassineu/tn20-2007/n20-notes-de-cours.pdf · Exemple catia 30....
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
40
www2.imm.dtu.dk/~jab/gallery/polygonization.html
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
yΩ
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
yΩ
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