Download presentation
Presentation is loading. Please wait.
1
computer graphics 3D solid modeling
2
kinds of objects in graphics scenes
trees, flowers, clouds, rocks, water, bricks, wood paneling, rubber, paper, marble, steel, glass, plastic, cloth, etc. as simple as a cube
3
How to descirbe objects?
wireframes boundary representations polygonal modeling sweep representations constructive solid geometry spatial representations
4
wireframes
5
methods to represent a wireframe model
explicit edge listing vertex table edge table
7
wireframe pros and cons
easy to construct, modify, clip and transform processes faster ambiguous
9
boundary representations
avoid the source of ambiguity arising in wireframe models adding surface information describe a three-dimensional object as a set of surfaces that separate the object interior from the environment
10
boundary representations
geometry polygon facets spline patches topology orientation of edges and faces boundary decomposition: vertices, edges and faces
12
Mobius band: one-sided and non-orientable
13
Manifolds A surface is a 2-manifold if and only if for each point x on the surface there exists an open ball with center x and sufficiently small radius so that the intersection of this ball and the surface can be continuously deformed to an open disk.
14
manifold non-manifold
15
Baumgart’s winged-edge data structure
18
What If Faces Have Holes?
19
The Euler-Poincaré Formula
V - E + F - (L - F) - 2(S - G) = 0 V: the number of vertices E: the number of edges F: the number of faces G: the number of holes that penetrate the solid, usually referred to as genus in topology S: the number of shells. A shell is an internal void of a solid. A shell is bounded by a 2-manifold surface, which can have its own genus value. Note that the solid itself is counted as a shell. Therefore, the value for S is at least 1. L: the number of loops, all outer and inner loops of faces are counted.
20
V-E+F-(L-F)-2(S-G) = 16-24+11-(12-11)-2(1-0)=0
21
V-E+F-(L-F)-2(S-G) = 16-24+10-(12-10)-2(1-1)=0
22
V-E+F-(L-F)-2(S-G) = 10-15+7-(7-7)-2(1-0)=0
23
what's the genus?
24
Euler operators adding or deleting vertices, edges and faces to create a new polyhedron
25
Polygonal Modeling all surfaces are described with linear equations
simple, fast for rendering standard graphics objects tesselation
26
representations Independent faces
27
representations Vertex and face tables
28
representations Adjacency lists Triangle meshes
efficient way for traversal more storage space Triangle meshes
34
Sweep Representations
Translational Sweeps
35
Rotational Sweeps
36
Constructive Solid Geometry
solid primitives combine two or more solid primitives through Boolean operations to create complex objects
37
boolean operations similar to set theory solid union
solid intersection solid subtraction similar to set theory order-independent order-dependent
40
CSG expressions and trees
translate ( scale ( Block , < 1 , , >), < 1 , 2 , 3 >).
41
Suppose that you have three primitives as shown in the figure below; a sphere, A, a cylinder B and a torus C. It is required to have the result shown in (d). Determine the steps to follow and derive the CSG expression.
42
every CSG expression is associated with a CSG tree
43
Create the CSG expression required to represent solid (c) from solids (a) and (b), and build the CSG tree
45
Boolean operations applied to solids not always result in solids
46
Regularized Boolean Operations
using interior, closure and exterior of solids
47
1. The Boolean operation is performed as usual.
2. The interior of the result is computed, which may result in an empty set. 3. The closure of the last step is computed. This adds the boundaries back.
49
A CSG Design Example
50
Spatial Representations
a collection of adjacent non-overlapping primitive solids
51
cell decomposition parameterized primitive
52
spatial enumeration equal-sized small volume elements or voxels
54
partially occupied voxels must be approximated
useful in medical imaging
55
quadtrees divide-and-conquer
58
octrees extension of quadtrees in 3D space
61
bintrees
63
Binary Space-Partitioning Trees
planes used for partitioning may be of any orientation and location
69
STL (file format) STereoLithography
71
ASCII STL solid name facet normal ni nj nk outer loop
vertex v1x v1y v1z vertex v2x v2y v2z vertex v3x v3y v3z endloop endfacet endsolid name
72
facet normal E E E-01 outer loop vertex E E E+00 vertex E E E-02 vertex E E E+00 endloop endfacet
73
Binary STL UINT8[80] – Header UINT32 – Number of triangles
foreach triangle REAL32[3] – Normal vector REAL32[3] – Vertex 1 REAL32[3] – Vertex 2 REAL32[3] – Vertex 3 UINT16 – Attribute byte count end
74
Geometric modeling kernel
A geometric modeling kernel is a 3D solid modeling software component used in computer-aided design packages
75
Available modelling kernels include
Convergence Geometric Modeler by Dassault Systemes Romulus was released in 1982 and licensed by Siemens and HP Parasolid by ShapeData, now owned by Siemens ACIS by Spatial Corporation, part of Dassault Systemes, is used in many CAD applications. ShapeManager is a fork of ACIS developed by Autodesk since 2001. Granite by Parametric Technology Corporation Open CASCADE is a freely available modelling kernel C3D kernel by C3D Labs, part of the ASCON Group
76
homework problem 4.2 problem 4.5 problem 4.8 ISO 10303(STEP) IGES
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.