Presentation is loading. Please wait.

Presentation is loading. Please wait.

Solid Modeling Dr. Scott Schaefer.

Similar presentations


Presentation on theme: "Solid Modeling Dr. Scott Schaefer."— Presentation transcript:

1 Solid Modeling Dr. Scott Schaefer

2 Solid Modeling Representations
Constructive Solid Geometry Octrees Boundary Representations Implicit Representations

3 Constructive Solid Geometry
Combine simple primitives together using set operations Union, subtraction, intersection Intuitive operations for building more complex shapes

4 Constructive Solid Geometry
Combine simple primitives together using set operations Union, subtraction, intersection Intuitive operations for building more complex shapes Image taken from “Feature-Sensitive Subdivision and Isosurface Reconstruction”

5 Constructive Solid Geometry
Typically represented as binary tree Leaves store solids (sphere, cylinder, …) Interior nodes are operations (union, subtraction, …) or transformations union subtraction rotation cylinder sphere cylinder

6 Ray Tracing CSG Trees Assume we have a ray R and a CSG tree T
If T is a solid, compute all intersections of R with T return parameter values and normals If T is a transformation apply inverse transformation to R and recur apply inverse transpose of transformation to normals return parameter values Otherwise T is a boolean operation recur on two children to obtain two sets of intervals apply operation in T to intervals return parameter values. Display closest intersection point

7 Inside/Outside Test for CSG Trees
Given a point p and a tree T, determine if p is inside/outside the solid defined by T If T is a solid Determine if p is inside T and return If T is a transformation Apply the inverse transformation to p and recur Otherwise T is a boolean operation Recur to determine inside/outside of left/right children If T is Union If either child is inside, return inside, else outside If T is Intersection If both children are inside, return inside, else outside If T is Subtraction If p is inside left child and outside right child, return inside, else outside

8 Application: Computing Volume
Monte Carlo method Put bounding box around object Pick n random points inside the box Determine if each point is inside/outside the CSG Tree Volume

9 Octrees Models space as a tree with 8 children Nodes can be 3 types
Interior Nodes Solid Empty

10 Octrees Models space as a tree with 8 children Nodes can be 3 types
Interior Nodes Solid Empty

11 Building Octrees If cube completely inside, return solid node
If cube completely outside, return empty node Otherwise recur until maximum depth reached

12 Octrees Advantages Storage space proportional to surface area
Inside/Outside trivial Volume trivial CSG relatively simple Can approximate any shape Disadvantages Blocky appearance

13 Octrees Advantages Storage space proportional to surface area
Inside/Outside trivial Volume trivial CSG relatively simple Can approximate any shape Disadvantages Blocky appearance

14 Boundary Representations
Stores the boundary of a solid Geometry: vertex locations Topology: connectivity information Vertices Edges Faces

15 Boundary Representations
Constant time adjacency information For each vertex, Find edges/faces touching vertex For each edge, Find vertices/faces touching edge For each face, Find vertices/edges touching face

16 Half Edge Data Structure
face

17 Half Edge Data Structure
HalfEdge next, prev, flip; Face face; Vertex origin; Edge edge; } Face { HalfEdge edge; // part of this face } face Vertex { HalfEdge edge; // points away } Edge { HalfEdge he; }

18 Half Edge Data Structure
Given a face, find all vertices touching that face Given a vertex, find all edge-adjacent vertices Given a face, find all adjacent faces face

19 Building a Topological Data Structure
Must connect adjacent edges/faces/vertices Edges are critical in most data structures Use a hash table indexed by two vertices face

20 Boundary Representations
Advantages Explicitly stores neighbor information Easy to render Easy to calculate volume Nice looking surface Disadvantages CSG very difficult Inside/Outside test hard

21 Implicit Representations of Shape
Shape described by solution to f(x)=c

22 Implicit Representations of Shape
Shape described by solution to f(x)=c

23 Implicit Representations of Shape
Shape described by solution to f(x)=c -

24 Implicit Representations of Shape
Shape described by solution to f(x)=c + + - + + + + + +

25 Advantages No topology to maintain Always defines a closed surface!
Inside/Outside test CSG operations

26 - Advantages No topology to maintain Always defines a closed surface!
Inside/Outside test CSG operations + + - + + + + + +

27 Advantages No topology to maintain Always defines a closed surface!
Inside/Outside test CSG operations

28 Advantages No topology to maintain Always defines a closed surface!
Inside/Outside test CSG operations Union

29 Advantages No topology to maintain Always defines a closed surface!
Inside/Outside test CSG operations Union

30 - - - - - Advantages No topology to maintain
Always defines a closed surface! Inside/Outside test CSG operations Union + + - - + - + - - + +

31 - - - - - Advantages No topology to maintain
Always defines a closed surface! Inside/Outside test CSG operations Union + + - - + - + - - + +

32 - - - - - - - - - - Advantages No topology to maintain
Always defines a closed surface! Inside/Outside test CSG operations Union + + - - + + - + + - - - - + + - + + - - + +

33 - - - - - - - - - - - - - - - Advantages No topology to maintain
Always defines a closed surface! Inside/Outside test CSG operations Union + - - - - + - + - - - - - - - - - - + + +

34 - - - - - - - - - - Advantages No topology to maintain
Always defines a closed surface! Inside/Outside test CSG operations Union Intersection + + - - + + - + + - - - - + + - + + - - + +

35 - - Advantages No topology to maintain
Always defines a closed surface! Inside/Outside test CSG operations Union Intersection + + - - + +

36 - - - - - - - - - - Advantages No topology to maintain
Always defines a closed surface! Inside/Outside test CSG operations Union Intersection Subtraction + + - - + + - + + - - - - + + - + + - - + +

37 - - - - - - - - - - Advantages No topology to maintain
Always defines a closed surface! Inside/Outside test CSG operations Union Intersection Subtraction - - + - + + + - + - - + + + + - + - - - + +

38 - - - Advantages No topology to maintain
Always defines a closed surface! Inside/Outside test CSG operations Union Intersection Subtraction + - + + - - + +

39 Disadvantages Hard to render - no polygons
Creating polygons amounts to root finding Arbitrary shapes hard to represent as a function

40 Non-Analytic Implicit Functions
Sample functions over grids

41 Non-Analytic Implicit Functions
Sample functions over grids

42 Data Sources

43 Data Sources

44 Data Sources

45 Data Sources

46 Data Sources

47 Data Sources

48 2D Polygon Generation

49 2D Polygon Generation

50 2D Polygon Generation

51 2D Polygon Generation

52 2D Polygon Generation

53 3D Polygon Generation

54 3D Polygon Generation

55 Fun Examples

56 Fun Examples

57 Fun Examples

58 Fun Examples


Download ppt "Solid Modeling Dr. Scott Schaefer."

Similar presentations


Ads by Google