Dr. Scott Schaefer - PowerPoint PPT Presentation

1 / 55
About This Presentation
Title:

Dr. Scott Schaefer

Description:

Blocky appearance. 12 /55. Octrees. Advantages. Storage space ... Blocky appearance. 13 /55. Boundary Representations. Stores the boundary of a solid ... – PowerPoint PPT presentation

Number of Views:85
Avg rating:3.0/5.0
Slides: 56
Provided by: symo5
Category:
Tags: blocky | schaefer | scott

less

Transcript and Presenter's Notes

Title: Dr. Scott Schaefer


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
  • Typically represented as binary tree
  • Leaves store solids (sphere, cylinder, )
  • Interior nodes are operations
  • (union, subtraction, ) or
  • transformations

union
subtraction
rotation
cylinder
sphere
cylinder
5
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

6
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

7
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

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

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

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

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

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
Boundary Representations
  • Stores the boundary of a solid
  • Geometry vertex locations
  • Topology connectivity information
  • Vertices
  • Edges
  • Faces

14
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

15
Winged Edge Data Structure
  • Each vertex/face points to a single edge
    containing that vertex/face

16
Winged 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

Left face
Right face
17
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

18
Implicit Representations of Shape
  • Shape described by solution to f(x)c

19
Implicit Representations of Shape
  • Shape described by solution to f(x)c

20
Implicit Representations of Shape
  • Shape described by solution to f(x)c

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









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

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









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

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

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

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



-
-

-

-
-


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
  • Intersection



-
-


-


-
-
-
-

-



-
-


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



-
-


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



-
-


-


-
-
-
-

-



-
-


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

-
-

-



-

-
-




-

-
-
-


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


-


-
-


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

37
Non-Analytic Implicit Functions
  • Sample functions over grids

38
Non-Analytic Implicit Functions
  • Sample functions over grids

39
Data Sources
40
Data Sources
41
Data Sources
42
Data Sources
43
Data Sources
44
Data Sources
45
2D Polygon Generation
46
2D Polygon Generation
47
2D Polygon Generation
48
2D Polygon Generation
49
2D Polygon Generation
50
3D Polygon Generation
51
3D Polygon Generation
52
Fun Examples
53
Fun Examples
54
Fun Examples
55
Fun Examples
Write a Comment
User Comments (0)
About PowerShow.com