geometric modeling systemgeometric modeling system
TRANSCRIPT
![Page 1: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/1.jpg)
Geometric Modeling SystemGeometric Modeling System
Human-centered CAD Lab.
1 2009-09-09
![Page 2: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/2.jpg)
Geometric modeling systemGeometric modeling systemSoftware enabling shape creation and visulaization in the design processDesigner realizes the shape in his mind while the shape data are stored inside
Wireframe Modeling SystemSurface Modeling SystemSolid Modeling SystemNon-manifold Modeling System
2
![Page 3: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/3.jpg)
History of Geometric ModelingHistory of Geometric ModelingTips
Okino, Kubo at Hokaido University, 1973Constructive Solid Geometry (CSG)
BuildBraid, Lang at Cambridge University, 1973Boundary Representation (B-rep)
CADAM, Unigraphics, CATIA, I-DEAS, BRAVO, ME10/30, Pro/ENGINEER, DesignBASE, SolidEdge, SolidWorks, …
3
![Page 4: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/4.jpg)
Rochester U. (Voekker & Riquicha)PADL & PADL II
Hosaka (Kimura) Tokyo U.Geomap Geomap II Geomap IIIGeomap Geomap II Geomap III
(Okino) Hokkaido U.TIPS
(Hatvany) Hungarian Academy of Sciences (Varady)Blendingg
(Eastman) CMUGlide
SI NorwaySI Package (C)
(Baumgart-Stauf.)
Stroustrup Bell LabsStroustrup Bell LabsCUCL (C++)
CUCL CAD Group (Lang) (Braid) CUED Cranfleld (Jared)Build I (SAL) Build II (Algol GB)
Grayer-Machs.Grayer Machs.Appl. Geometry
AG Package (C)
SHAPE DATA [E & S] [MD] EDSRomulus (Fortran) Parasolid (AGA)( ) ( )
THREE-SPACEACIS (C++)
SabinBAC
GRAFTEKGMSGMS
SPATIAL TECHStrata (C++)
D-CUBED
ACIS 7.0
65 70 75 80 85 90 95 2000
Constrains 2D 3D (C++)
4
![Page 5: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/5.jpg)
Solid EdgeEDS
Intergraph Mechanical CAD/CAM
Unigraphics Unigraphics II
Solid Edge
Solid Edge
Dasssault SystemsCATIA V.1
Varimetrix
CATIA V.5
Unigraphics Unigraphics II
Varimetrix
Ricoh’s software divisionDESIGNBASE
First PC based B-rep solid modeler
SDRC
PARAMETRIC TECHPro/Engineer V.1
SDRC
SolidWorks Inc.SolidWorks
I-DEAS
Matra DatavisionCASCADE
Open CASCADE
565 70 75 80 85 90 95 2000
![Page 6: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/6.jpg)
Why 3 Dimensional Model?Why 3 Dimensional Model?
6
![Page 7: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/7.jpg)
Wireframe Modeling SystemWireframe Modeling SystemUser inputs characteristic points and curvesGood for simple visualizationAmbiguous situations may occurg yImpossible to automatically calculate mass properties, NC tool paths, and finite elementsp p , p ,
7
![Page 8: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/8.jpg)
Ambiguous wireframe modelsAmbiguous wireframe models
8
![Page 9: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/9.jpg)
Surface Modeling SystemSurface Modeling SystemSurface information in addition to wireframe modelUsually user specify the curves on a surface, then system stores the surface equationAdjacency information between surfaces are not stored in generalIntersection calculation is needed to derive the boundary curvesSome surface modeling systems store boundary curves also
9
![Page 10: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/10.jpg)
Surface Modeling System cont’Surface Modeling System – contPoint setCurve netCurve movement (Sweeping, Skinning)( p g, g)Good for aesthetic evaluation, Styling CADInput for NC tool path generationInput for NC tool path generationGood for modeling object bounded by complicated surfacessurfaces
10
![Page 11: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/11.jpg)
Modeling of automobile body by surface modeling systemmodeling system
11
![Page 12: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/12.jpg)
Calculation and verification of NC tool pathsCalculation and verification of NC tool paths
12
![Page 13: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/13.jpg)
Solid Modeling SystemSolid Modeling SystemAdjacency information between faces, and inside-outside information of each face are stored in additionVolume inside modeled object is definedVolumetric operations are possible
Automatic generation of solid elements for FEAAutomatic generation of tool paths for rough cut
13
Rough cut Final cut
![Page 14: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/14.jpg)
Solid Modeling SystemSolid Modeling System
14
![Page 15: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/15.jpg)
Solid Modeling System cont’Solid Modeling System – contPartial modeling is not allowed, complete solid model should be madeMore modeling tasksMany convenient modeling commands are provided
Face adjacency, in-out information, etc. are generated by the system
15
![Page 16: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/16.jpg)
Non manifold Modeling SystemNon-manifold Modeling SystemAccommodate all different levels of geometric model
Wireframe model : Wireframe modeling systemSurface model : Surface modeling systemSolid model : Solid modeling system
Models of mixed dimension, incomplete models are allowed (support design process, analysis model)
16
![Page 17: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/17.jpg)
Non manifold Modeling SystemNon-manifold Modeling System
17
![Page 18: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/18.jpg)
Modeling Functions(1) Primitives Creation(1) Primitives Creation
Retrieves a solid of a simple shapePrimitives are stored by the procedures how they are created.Parameters specifying the size are passed to the corresponding procedure as arguments.
18
![Page 19: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/19.jpg)
Modeling Functions(2) Boolean operation(2) Boolean operation
Primitive solid is assumed to be a set of pointsBoolean operation is performed between the point setsThe result is the solid composed of the points resulting from the set operation.
19
![Page 20: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/20.jpg)
Modeling Functions(2) Boolean operation(2) Boolean operation
20
![Page 21: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/21.jpg)
Modeling Functions(2) Boolean operation(2) Boolean operation
Boolean operation may result an invalid solidNon-manifold modeling systems can handle Boolean operations between objects of mixed dimension.
21
![Page 22: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/22.jpg)
Example of Boolean operation to be avoidedExample of Boolean operation to be avoided
A
B
A Χ BA∩B
BA I
22
![Page 23: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/23.jpg)
Example of modeling in CSG approachExample of modeling in CSG approach
23
![Page 24: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/24.jpg)
Modeling Functions(3) Sweeping(3) Sweeping
Planar closed domain is translated or revolved to form a solidWhen the planar shape is not closed, the result is a surface
Used in surface modeling system
24
![Page 25: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/25.jpg)
Modeling Functions(3) Sweeping Example 1(3) Sweeping – Example.1
Example of translation sweeping
25
![Page 26: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/26.jpg)
Modeling Functions(3) Sweeping Example 2(3) Sweeping – Example.2
Example of rotational sweeping
Axis of revolution
Generatorsurface
Sweptsolid
26
![Page 27: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/27.jpg)
Modeling Functions(4) Skinning(4) Skinning
Form a closed volume by creating a skin surface over pre-specified cross sectional planar curvesIf two end faces corresponding to the two end cross sections are not added, the result would be a surface
Used in surface modeling system
27
![Page 28: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/28.jpg)
Modeling Functions(4) Skinning (Lofting) Example(4) Skinning (Lofting) - Example
28
![Page 29: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/29.jpg)
Modeling Functions(5) Blending(5) Blending
Sharp edge or sharp vertex is replaced by a smooth curved surfaceNormal vector is continuous across the surfaces meeting at the original sharp edge or vertex
29
![Page 30: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/30.jpg)
Modeling Functions(5) Blending Example(5) Blending – Example
Edge rounding Edge filleting Vertex roundingEdge filleting Vertex rounding
complex intersecting blends
30
complex intersecting blends
![Page 31: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/31.jpg)
Modeling Functions(6) Lifting(6) Lifting
Pull a portion or whole face of a solid
Example of lifting
31
![Page 32: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/32.jpg)
Modeling Functions(6) Lifting(6) Lifting
Face lifting
32
![Page 33: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/33.jpg)
Modeling Functions(6) Lifting(6) Lifting
When a portion of a face is lifted, the face should be split beforehand
Add a splitting edgeUpdate face connectivity Update edge adjacency, …
Euler operators will handle these tasks
33
![Page 34: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/34.jpg)
Modeling Functions(6) Lifting(6) Lifting
Self interference caused by liftingSelf interference caused by lifting
34
![Page 35: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/35.jpg)
Modeling Functions(7) Tweaking(7) Tweaking
Vertex Tweaking Edge Tweaking
35
![Page 36: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/36.jpg)
Modeling Functions(7) Tweaking(7) Tweaking
M difi ti b t iModification by vertex moving
Modification by edge replacement
36
Modification by edge replacement
![Page 37: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/37.jpg)
Modeling Functions(8) Boundary Modeling(8) Boundary Modeling
Add, delete, modify entities such as vertices, edges, and faces directly
37
![Page 38: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/38.jpg)
Modeling Functions(8) Boundary Modeling(8) Boundary Modeling
Very tedious operationBoundary modeling functions are mainly used to create only up to two dimensional shapes which are used for sweeping or skinningCan be effectively applied to modify a shape of an existing solid
Tweaking operation
38
![Page 39: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/39.jpg)
Modeling Functions(9) Feature based modeling(9) Feature based modeling
Let designers model a solid by the shape units familiar to themThe resulting solid carries the information on the existence of these shape units in addition to the elementary shape entities such as vertices, edges, f tfaces, etc.
39
![Page 40: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/40.jpg)
Modeling Functions(9) Feature based modeling(9) Feature based modeling
E.g.‘ Make a hole of a certain size at a certain place ’‘ Make a chamfer of a certain size at a certain place ’
Existence of hole and chamfer is added to model information
Set of features varies depending upon the frequent li ti f th tapplications of the system
40
![Page 41: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/41.jpg)
Modeling Functions(9) Feature based modeling(9) Feature based modeling
Popular featurechamfer, hole, fillet, slot, pocket, …
manufacturing features
These features can be matched to a specific machining process
41
![Page 42: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/42.jpg)
Modeling Functions(9) Feature based modeling(9) Feature based modeling
Example of modeling using “slot” and “hole” features
42
![Page 43: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/43.jpg)
Example modeling using machining featuresExample modeling using machining features
(a) Chamfering (b) Hole
(c) Pocket (d) Fillet
43
(c) Pocket (d) Fillet
![Page 44: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/44.jpg)
Modeling Functions(9) Feature based modeling(9) Feature based modeling
Any feature based modeling system cannot provide all the features necessary for all the specific applicationsThe desirable set of features is different between applicationsMany systems provide feature definition language so that any specific feature can be definedWhen they are defined, they are parameterized as the primitives
44
![Page 45: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/45.jpg)
Modeling Functions(10) Parametric Modeling(10) Parametric Modeling
Model a shape by using the geometric constraints and the dimension dataGeometric constraints describe the relation between shape elementsDimensional data include dimensions and relations between the dimensions
45
![Page 46: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/46.jpg)
Modeling Functions(10) Parametric Modeling(10) Parametric Modeling
Input two dimensional shape roughlyInput geometric constraints and dimension dataReconstruct the two dimensional shapepCreate 3D shape by sweeping or swinging
46
![Page 47: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/47.jpg)
Modeling Functions(10) Parametric Modeling(10) Parametric Modeling
47
![Page 48: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/48.jpg)
Data structure of solid modelData structure of solid modelCSG Representation storing CSG tree
Store procedure Boolean operation in tree structureBoundary Representation (B-Rep)
Data structure vertex, edge, face tablesData structure using half edgeData structure using Winged-edge
48
![Page 49: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/49.jpg)
Data structure of solid model cont’Data structure of solid model – contData structure storing decomposition model
Octree representationVoxel representationCell decomposition modelSimilar to finite element
49
![Page 50: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/50.jpg)
CSG treeCSG treeStores the procedure in which Boolean operations are applied
P0P2
P1
PP2
P0
P1
Example of CSG tree
50
![Page 51: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/51.jpg)
Implementation of CSG tree structure in C languagelanguage struct operator {
int op_type, /* union, intersection or difference operator */
L_type; /* left node type: 0=operator, 1=primitive */
R_type /* right node type: 0=operator, 1=primitive */
void *L_ptr; /* left node */
*R_ptr; /* right node */
*p_ptr; /* parent node */
}
struct primitive {
int prim_type; /* type of primitive */
double pos_x, pos_y, pos_z; /* position of instance */p _ p _y p _ p
double ori_x, ori_y, ori_z; /* orientation of instance */
void *attribute; /* the value of dimensions of the primitive */
}
51
![Page 52: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/52.jpg)
CSG tree representation advantagesCSG tree representation– advantagesCompact data, Easy to maintain Represent only valid object Possible to be converted to B-Repp
Many applications can be integratedModel can be easily changed by changing parameter values of primitives
52
![Page 53: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/53.jpg)
CSG tree representation disadvantagesCSG tree representation – disadvantagesAllows only Boolean operationsShapes to be modeled are limitedImpossible to modify locallyp y ySignificant computation is required for boundary evaluation→ bad for interactive displayTrends are to store B-Rep and Feature tree togetherp g
53
![Page 54: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/54.jpg)
Modification of solid by changing parametersModification of solid by changing parameters
54
![Page 55: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/55.jpg)
B Rep(Boundary Representation)B-Rep(Boundary Representation)Shape is expressed by its bounding entities such as faces, edges, and verticesBounding entities and their connectivity are stored in graph structure→ Graph-based model
55
![Page 56: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/56.jpg)
B Rep Structure cont’B-Rep Structure – contTopology vs. Geometry
Body
FaceList of faces
Surface Eqn.
EdgeList of edgesCurve Eqn.
Vertex VertexEnd verticesX,Y,Z
Position
< Topology >< Geometry >
56
![Page 57: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/57.jpg)
B Rep advantagesB-Rep – advantagesBoundary data are stored explicitly and enables quick interactive responseTopology information can be easily derivedSupports various modeling commands (local operations in addition to Boolean)
57
![Page 58: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/58.jpg)
B Rep disadvantagesB-Rep – disadvantagesComplicated data structure with a large amount of dataInvalid solid may result
58
![Page 59: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/59.jpg)
Table based structure for storing B RepTable-based structure for storing B-Rep
Face table Edge table Vertex tableFace table Edge table Vertex tableFace Edges Edge Vertices Vertex Coordinates
F1 E1, E5, E6 E1 V1, V2 V1 x1, y1, z1 F2 E2, E6, E7 E2 V2, V3 V2 x2, y2, z2 F3 E3, E7, E8 E3 V3, V4 V3 x3, y3, z3
F4 E4, E8, E5 E4 V4, V1 V4 x4, y4, z4 F5 E1, E2, E3, E4 E5 V1, V5 V5 x5, y5, z5
E6 V2 V5 V6 x6 y6 z6E6 V2, V5 V6 x6, y6, z6
E7 V3, V5 E8 V4, V5
59
![Page 60: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/60.jpg)
Things to be cosideredThings to be cosideredBalance between structure compactness and effectiveness in data retrievalBasically used for polyhedron modelsFor objects with curved surfaces and curved edges, information on surface equations are stored in the Face table, information on curve equations are stored in the Edge tableIf there are faces with holes, the current Face table cannot be used
60
![Page 61: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/61.jpg)
Treatment of face with multiple boundariesTreatment of face with multiple boundaries
Adding bridge-edge is one way to handle hole
61
![Page 62: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/62.jpg)
B Rep Things to be consideredB-Rep – Things to be consideredLength of edge table in the Face table varies→ Loss of memory usageDeriving adjacency among Vertex, Edge, Face requires a heavy search
Ex) Which faces share a given edge?Which edges share a given vertex?g g
62
![Page 63: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/63.jpg)
Decomposition Model Data StructureDecomposition Model Data StructureDecomposition model:
Represent an object as an aggregation of simple objects such as cubes
63
![Page 64: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/64.jpg)
Voxel model (Exhaustive enumeration)Voxel model (Exhaustive enumeration) Space of interest is represented by a set of cubes (voxels) after being subdivided by grid planesOnly the voxels embodied by the object are storedUse 3D array C(i, j, k), C(i, j, k) corresponding to the embodied voxels is set to 1. Others set to 0Popular in digital image processing
64
![Page 65: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/65.jpg)
Voxel model cont’Voxel model – contAny shape can be represented, approximately at elast Used to model human bones and organs from digital topographyEasy to implement mass property calculation and Boolean operationInformation on empty space is also available
65
![Page 66: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/66.jpg)
Voxel model cont’Voxel model – contMemory requirement varies drastically depending upon desired resolutionUsed as a secondary representation for computation convenience
66
![Page 67: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/67.jpg)
Visualization of voxel representationVisualization of voxel representation
67
![Page 68: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/68.jpg)
Octree representationOctree representationOnly voxels occupying the object space are subdivided, Extension of Quadtree to 3D
68
![Page 69: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/69.jpg)
Data structure for storing octreesData structure for storing octreesstruct octreeroot
{
float xmin, ymin, zmin; /* space of interest */
float xmax, ymax, zmax;
struct octree *root; /* root of the tree */
};
struct octree
{{
char code; /* BLACK, WHITE, GREY */
struct octree *oct[8]; /* pointers to octants, present if GREY */
};
69
![Page 70: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/70.jpg)
Procedure of octree generationProcedure of octree generationmake_tree( p, t, depth )
primitive *p; /* p = the primitive to be modeled */
octree *t; /* t = node of the octree, initially
the initial tree with one grey node */
int depth; /* initially max. depth of the recursion */
{
int i;
switch( classify( p, t ) )
{{
case WHITE:
t->code = WHITE;
break;
case BLACK:
t->code = BLACK;
break;
70
![Page 71: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/71.jpg)
Procedure of octree generation cont’Procedure of octree generation – contcase GREY:
if( depth == 0 )
{
t->code = BLACK;
}
else
{
subdivide( t );
for( i = 0; i < 8; i++ )for( i = 0; i < 8; i++ )
make_tree( p, t->oct[i], depth-1 );
}
break;
}
}
}}
/* classify octree node against primitives */
classify( … );
/* divide octree node into eight octants *// d de oct ee ode to e g t octa ts /
subdivide( … );
71
![Page 72: Geometric Modeling SystemGeometric Modeling System](https://reader031.vdocuments.us/reader031/viewer/2022041802/625405723e38e947ee3d7f5a/html5/thumbnails/72.jpg)
Cell decomposition modelCell decomposition model
72