Ray Tracing Implicit Surfaces - PowerPoint PPT Presentation

1 / 10
About This Presentation
Title:

Ray Tracing Implicit Surfaces

Description:

Ray Tracing Implicit Surfaces. John C. Hart. CS 319. Advanced Topics in Computer ... Sphere Tracing (Hart 96) Interval Analysis (Mitchell 89) Problem Statement ... – PowerPoint PPT presentation

Number of Views:42
Avg rating:3.0/5.0
Slides: 11
Provided by: csU70
Category:

less

Transcript and Presenter's Notes

Title: Ray Tracing Implicit Surfaces


1
Ray Tracing Implicit Surfaces
  • John C. Hart
  • CS 319
  • Advanced Topics in Computer Graphics

2
Problem
  • Intersection of ray r(t) with implicit surface
    f(x) 0
  • Easy to solve f(r(t)) when f algebraic
  • Implicit surfaces can be defined by an arbitrary
    function
  • More general techniques
  • LG Surfaces (KalraBarr 89)
  • Sphere Tracing (Hart 96)
  • Interval Analysis (Mitchell 89)

3
Problem Statement
  • Given a cell (cube), can one guarantee that the
    implicit surface
  • passes through it?
  • does not pass through it?
  • Sign of function values at corners
  • Different signs guarantees surface intersects
    cell
  • Same signs surface may or may not intersect cell
  • How can we determine definitively if a surface
    intersects any given cell?

4
Lipschitz Functions
  • Function f is Lipschitz if L?? f(x) f(y)/x
    yfor some value L
  • Smallest such L is the Lipschitz constant Lip f
  • Lipschitz constant is the maximum slope of a
    continuous function
  • L max f(x)
  • Function might by Lipschitz only over a given
    region (e.g. x2)
  • Function might not be Lipschitz (e.g. sin 1/x)

5
Lipschitz Arithmetic
  • Let f(x) and g(x) be real functions over a
    compact subset of 3-D
  • Lip(fg) max(fg) max(fg) ? max f
    max g Lip f Lip g
  • Lip(f g) max(f g) max(fg f g) ?
    max(f g) max(f g)
  • Let h be a real function
  • Lip(f(h)) max(f(h) h) h Liph(x) f

6
Lipschitz Guarantee
f(x)
  • Let L?? Lip f be a Lipschitz bound of f, and let
    f(x)?? 0
  • Then f ? 0 over the region(x f(x)/L, x
    f(x)/L)
  • Why? Because f cant get back to zero fast enough
  • Let x be the center of a cell, and let r be the
    radius of the cell (distance to farthest corner)
  • If f(x)/L gt r then f ? 0 over the entire cell ?
    no implicit surface in cell
  • Otherwise subdivide the cell

f(x)/L
r
7
Root Isolation
  • Let G be a Lipschitz bound of f(t)
    df(r(t))/dt
  • Derivative of f(r(t))?
  • Directional derivative of f
  • ? df(r(t))/dt ?f ?? rd
  • Change in f in ray direction
  • If f(t)/G gt??t then derivative of f cant get
    back to zero over interval
  • Hence f is monotonic over interval
  • Hence we can use Newtons method to find root
  • Otherwise subdivide interval

f(t)
f(t)
8
Sphere Tracing
  • Let d(x,A) be a signed distance bound
  • d(x,A)?? min x y for all y in A
  • If f is Lipschitz with bound L then f(x)/L is a
    signed distance bound
  • d(x,A) is radius of a ball guaranteed not to
    intersect implicit surface A
  • March along ray by distance steps
  • x r0
  • x d(x,A) rd
  • Intersection when steps converge

9
Interval Analysis
  • Replace values x with ranges of values x0,x1
  • Interval arithmetic
  • a,b c,d ac,bd
  • a,b c,d a-d,b-c
  • a,b c,d min(ac,ad,bc,bd), max(ac,ad,bc,b
    d)
  • 1 / c,d 1/d,1/c
  • a,b3 a3,b3
  • Implement function using interval arithmetic

f a,b
a,b
10
Interval Roots
  • Let y0,y1 fx0,x1
  • If y0 gt 0 or y1 lt 0 then no root over interval
    x0,x1
  • Otherwise subdivide x0,x1 and recurse
  • Let y0,y1 fx0,x1
  • If y0 gt 0 or y1 lt 0 then f monotonic over
    interval x0,x1
  • Then we can find root with Newtons method
  • Otherwise subdivide x0,x1 and recurse

y0,y1
x0, x1
y0,y1
Write a Comment
User Comments (0)
About PowerShow.com