Title: Bounding Iterated Function Systems
1Bounding Iterated Function Systems
- Orion Sky Lawlor
- olawlor_at_uiuc.edu
- CS 497jch
- November 14, 2002
2Roadmap
- Introduction to IFS
- Rices Bounding Spheres
- Lawlors Polyhedral Bounds
3- Iterated Function Systems
4Iterated Function Systems--IFS
- A finite set of mapsdistortions of some space
- Apply the maps in random order
- Converges to unique attractor
- Equivalent to L-systems, others
- E.g., Mandelbrot set is just convergence diagram
for a one-map 2D IFS complex squaring
5Example IFSSierpinski Gasket
- Shape is 3 copies of itself, so we use 3 maps
6Example IFSSierpinski Gasket
- Shape is 3 copies of itself, so we use 3 maps
- Map to top
7Example IFSSierpinski Gasket
- Shape is 3 copies of itself, so we use 3 maps
- Map to top
- Map down right
8Example IFSSierpinski Gasket
- Shape is 3 copies of itself, so we use 3 maps
- Map to top
- Map down right
- Map down left
9Example IFSSierpinski Gasket
- Many other, equivalent options
10IFS Gallery Mengers Sponge
11IFS Gallery Spirals
12IFS Gallery Five Non-Platonic Non-Solids
Reproduced from Hart and DeFanti, SIGGRAPH 1991
13IFS Gallery Fractal Forest
Reproduced from Hart and DeFanti, SIGGRAPH 1991
14IFS Conclusions
- An IFS is just a set of maps of space
- Pastes shape onto copies of itself
- IFS are useful tool for representing fractal
shapes - Wide variation in results
- Arbitrary number of dimensions
- Beautiful, natural look
- Easy to produce/manipulate
15 16Why bother bounding an IFS?
- For display, processing, etc.
- Raytracing Hart, DeFanti 91
- Intersect rays with bounds
- Replace nearest intersecting bound with a set of
smaller bounds - Repeat until miss or close enough
17Why Bound IFS with Spheres?
- Spheres are a commonly used bounding volume for
raytracing - Very fast intersection testa few multiplies and
adds - Invariant under rotation
- Rotate a sphere, nothing happens
- Closed under scaling
- Scale a sphere, get a sphere
- Easy to represent and work with
18Recursive Bounds for IFS
- Each map of the bound must lie completely within
the bound - B contains map(B)
- Now we just recurse to the attractor
- B contains map(B) contains map(map(B)) contains
map(map(map(B)))...
19Sphere Bound for IFS
- Each map of the sphere must lie completely within
the sphere - This is our recursive bound
Knowns wi Map number i si Scaling factor of
wi Unknowns r Radius of big sphere x Center of
big sphere
20Sphere Bound for IFS Rice, 1996
- We require dist(x, wi (x)) si r lt r
- Equivalently r gt dist(x, wi (x))/(1 - si )
- We must pick x to minimize r
- Nonlinear optimization problem (!)
21Sphere Bound Conclusions
- Spheres are nice bounding volumes
- Especially for raytracing
- Hart gives a heuristic for sphere bounds
- Rice shows how to find optimal (recursive) sphere
bound - Requires nonlinear optimization
- Complex, slow (?)
22- Polyhedral Bounds for IFS
23Why Bound IFS with Polyhedra?
- Includes many common shapes
- Box, tetrahedron, octahedron, ...
- Bounding boxes are the other commonly used
bounding volume for raytracing - A better fit for elongated objects
- Computers dont like curves (nonlinear
optimization) - a polyhedron has no curves
24Why not Bound IFS with Polyhedra?
- Polyhedra have corners, which might stick out
under rotation - Can always fix by adding sides
- Not so bad in practice
!
25Polyhedral Bound for IFS
- Each map of the polyhedron should lie completely
within the original polyhedron - Again, a recursive bound
Knowns wm (x) Map number m ns Normal of side
s Unknowns ds Displacement of side s
26Polyhedron Bounding, in Words
- We will require
- Each corner of the polyhedron
- Under each map
- To satisfy all polyhedron halfspaces
27Point-in-Polyhedron Test
- Points inside polyhedron must lie inside all
halfspaces
- Point lies in a halfspace if
28Polyhedron corners (2D Version)
- The corner of sides i and j is where both
halfspaces meet
or, if we define
29Polyhedron Bounding, in Equations
- We require
- Each corner of the polyhedron (linear)
- Under each map (linear)
- To satisfy all the halfspaces (linear)
- These are linear constraints (I M S of them)
30Linear Optimization Lawlor 2002
- Weve reduced IFS bounding to a problem in linear
optimization - Constraints Just shown
- Unknowns Displacements ds
- Objective Minimize sum of displacements?
(Probably want to minimize area or length
instead) - Guaranteed to find the optimal bound if it exists
(for some definition of optimal)
312D Implementation
- Used open-source linear solver package lp_solve
3.2 - Written in C
- Generating constraints take about 40 lines (with
comments) - Would be even shorter with a better matrix class
- Welded to a GUI
32Time vs. Number of Sides
- O(s4.6)
- time all
- in solver
33Area vs. Number of Sides
- Little benefit
- to using more
- than 12 sides
34IFS Gallery Spirals, with Bounds
35Convex IFS Bounds Conclusions
- Optimal polyhedron bounding using linear
optimization - Off-the-shelf solvers
- Piles of nice theory (optimality!)
- Fast enough for interactive use
- Future directions
- RIFS Bounding (solve for attractorlet bounds)
- Implement in 3D