Presentation is loading. Please wait.

Presentation is loading. Please wait.

Computer graphics 3D solid modeling.

Similar presentations


Presentation on theme: "Computer graphics 3D solid modeling."— Presentation transcript:

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

6

7 wireframe pros and cons
easy to construct, modify, clip and transform processes faster ambiguous

8

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

11

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

16

17

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

29

30

31

32

33

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

38

39

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

44

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.

48

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

53

54 partially occupied voxels must be approximated
useful in medical imaging

55 quadtrees divide-and-conquer

56

57

58 octrees extension of quadtrees in 3D space

59

60

61 bintrees

62

63 Binary Space-Partitioning Trees
planes used for partitioning may be of any orientation and location

64

65

66

67

68

69 STL (file format) STereoLithography

70

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


Download ppt "Computer graphics 3D solid modeling."

Similar presentations


Ads by Google