Download presentation
Presentation is loading. Please wait.
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.