50
WSU CptS 548 4/9/20 © 2003, 2014, 2020 by Robert R. Lewis. All Rights Reserved. Implicit Surfaces

Implicit Surfaces - Washington State Universityusers.tricity.wsu.edu/~bobl/cpts548/u10_implicit/slides.pdf · 1 4/9/20 WSU CptS 548 © 2003, 2014, 2020 by Robert R. Lewis. All Rights

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Implicit Surfaces - Washington State Universityusers.tricity.wsu.edu/~bobl/cpts548/u10_implicit/slides.pdf · 1 4/9/20 WSU CptS 548 © 2003, 2014, 2020 by Robert R. Lewis. All Rights

1

WSU CptS 5484/9/20 © 2003, 2014, 2020 by Robert R. Lewis. All Rights Reserved.

Implicit Surfaces

Page 2: Implicit Surfaces - Washington State Universityusers.tricity.wsu.edu/~bobl/cpts548/u10_implicit/slides.pdf · 1 4/9/20 WSU CptS 548 © 2003, 2014, 2020 by Robert R. Lewis. All Rights

2

WSU CptS 5484/9/20 © 2003, 2014, 2020 by Robert R. Lewis. All Rights Reserved.

References

Bloomental, J. (ed.) et al., Introduction to Implicit Surfaces, Morgan Kaufman, 1997.

Ebert, D, et al., Procedural Implicit Techniques for Modeling and Texturing, Course #16, SIGGRAPH 1999.

Page 3: Implicit Surfaces - Washington State Universityusers.tricity.wsu.edu/~bobl/cpts548/u10_implicit/slides.pdf · 1 4/9/20 WSU CptS 548 © 2003, 2014, 2020 by Robert R. Lewis. All Rights

3

WSU CptS 5484/9/20 © 2003, 2014, 2020 by Robert R. Lewis. All Rights Reserved.

Implicit Surfaces

We can define surfaces in general by:

Most of the time, n is 1 and c is a scalar constant. If c is 0, f defines an implicit surface. f is then the implicit function. f is also called a scalar field.

If c is an arbitrary value, f defines an isosurface, also called level set or level surface. (In physics, if f is a potential function, it's an equipotential surface.) c is the isocontour value.

In graphics, implicit surfaces are usually 2D shapes embedded in a 3D space.

f x , y , z =c where f :ℝ3ℝ

n

Page 4: Implicit Surfaces - Washington State Universityusers.tricity.wsu.edu/~bobl/cpts548/u10_implicit/slides.pdf · 1 4/9/20 WSU CptS 548 © 2003, 2014, 2020 by Robert R. Lewis. All Rights

4

WSU CptS 5484/9/20 © 2003, 2014, 2020 by Robert R. Lewis. All Rights Reserved.

Implicit vs. Explicit Surfaces

z=g x. y

(What's the special name for explicit equations of this form?)

Can every explicit form be expressed in implicit form?

Can every implicit form be expressed in explicit form?

Contrast implicit surfaces with an explicit form

Page 5: Implicit Surfaces - Washington State Universityusers.tricity.wsu.edu/~bobl/cpts548/u10_implicit/slides.pdf · 1 4/9/20 WSU CptS 548 © 2003, 2014, 2020 by Robert R. Lewis. All Rights

5

WSU CptS 5484/9/20 © 2003, 2014, 2020 by Robert R. Lewis. All Rights Reserved.

Implicit Surface Definitions

algebraic: f has a finite number of polynomial terms.

transcendental: f contains trigonometric, exponential, logarithmic, or hyperbolic functions.

It may also be unknown, available only in numerical form.

If f is continuous, f(P) may be a measure of the (non-Euclidean, usually) distance from P to the surface. This is called the algebraic distance. (This is very useful.)

Page 6: Implicit Surfaces - Washington State Universityusers.tricity.wsu.edu/~bobl/cpts548/u10_implicit/slides.pdf · 1 4/9/20 WSU CptS 548 © 2003, 2014, 2020 by Robert R. Lewis. All Rights

6

WSU CptS 5484/9/20 © 2003, 2014, 2020 by Robert R. Lewis. All Rights Reserved.

Continuity and Differentiabilityf is analytic where ∇f is defined and non-zero.

If ∇f is not 0 at P, then P is regular or simple. and ∇f points in a direction normal to the surface.

If ∇f is 0 at P, then P is singular and the normal is indeterminate.

c is a regular value if, for every P f -1(c), P is a regular point.

f x , y , z =−x2 y2z 2Example: a cone

Where is the singular point?

What is the set of regular values of f?

Page 7: Implicit Surfaces - Washington State Universityusers.tricity.wsu.edu/~bobl/cpts548/u10_implicit/slides.pdf · 1 4/9/20 WSU CptS 548 © 2003, 2014, 2020 by Robert R. Lewis. All Rights

7

WSU CptS 5484/9/20 © 2003, 2014, 2020 by Robert R. Lewis. All Rights Reserved.

Normals, Tangents, and Curvatures

Page 8: Implicit Surfaces - Washington State Universityusers.tricity.wsu.edu/~bobl/cpts548/u10_implicit/slides.pdf · 1 4/9/20 WSU CptS 548 © 2003, 2014, 2020 by Robert R. Lewis. All Rights

8

WSU CptS 5484/9/20 © 2003, 2014, 2020 by Robert R. Lewis. All Rights Reserved.

Bounded vs. Unbounded

torus (bounded) plane (unbounded)

Page 9: Implicit Surfaces - Washington State Universityusers.tricity.wsu.edu/~bobl/cpts548/u10_implicit/slides.pdf · 1 4/9/20 WSU CptS 548 © 2003, 2014, 2020 by Robert R. Lewis. All Rights

9

WSU CptS 5484/9/20 © 2003, 2014, 2020 by Robert R. Lewis. All Rights Reserved.

Manifolds

2-manifold: the infinitesimal neighborhood of every point is topologically equivalent (diffeomorphic) to a disk

2-manifold with boundary: the infinitesimal neighborhood of every point is diffeomorphic to a disk or half-disk.

nonmanifold: none of the above

Page 10: Implicit Surfaces - Washington State Universityusers.tricity.wsu.edu/~bobl/cpts548/u10_implicit/slides.pdf · 1 4/9/20 WSU CptS 548 © 2003, 2014, 2020 by Robert R. Lewis. All Rights

10

WSU CptS 5484/9/20 © 2003, 2014, 2020 by Robert R. Lewis. All Rights Reserved.

Implicit Function TheoremIf 0 is a regular value of f, then f -1(0) describes a 2D manifold and each compact, connected component of f -1(0) is a surface that separates a finite inside region from an infinite outside region.

(This can be applied to any isosurface value c, not just 0.)

f -1(0)

Page 11: Implicit Surfaces - Washington State Universityusers.tricity.wsu.edu/~bobl/cpts548/u10_implicit/slides.pdf · 1 4/9/20 WSU CptS 548 © 2003, 2014, 2020 by Robert R. Lewis. All Rights

11

WSU CptS 5484/9/20 © 2003, 2014, 2020 by Robert R. Lewis. All Rights Reserved.

Representing Implicit Functions

For modelling and some rendering purposes, you need to tesselate or polygonize implicit functions. These are called concrete representations.

chartable: You can "navigate" along the surface in some local coordinate system.

Often, these are only approximate.

Some surfaces are easy to describe, hard to compute directly, but easy to compute from a concrete representation:

offset surface

equidistant surface

major research issue: minimizing polygon count while maximizing accuracy or rendering time (simplification/compression)

Page 12: Implicit Surfaces - Washington State Universityusers.tricity.wsu.edu/~bobl/cpts548/u10_implicit/slides.pdf · 1 4/9/20 WSU CptS 548 © 2003, 2014, 2020 by Robert R. Lewis. All Rights

12

WSU CptS 5484/9/20 © 2003, 2014, 2020 by Robert R. Lewis. All Rights Reserved.

Aside: The Euler-Poincaré Formula

v - e + f = 2 - 2h

where

v is the number of vertices

e is the number of edges

f is the number of faces

h is the number of holes ("genus")

This tells us that we can perform Euler operations (vertex split/join, polygon cut/combine) affecting the geometry without affecting the topology.

Page 13: Implicit Surfaces - Washington State Universityusers.tricity.wsu.edu/~bobl/cpts548/u10_implicit/slides.pdf · 1 4/9/20 WSU CptS 548 © 2003, 2014, 2020 by Robert R. Lewis. All Rights

13

WSU CptS 5484/9/20 © 2003, 2014, 2020 by Robert R. Lewis. All Rights Reserved.

Dealing with Multiple Values

So explicit surfaces can't handle multiple-valued surfaces very well, since they make one coordinate "special".

Implicit surfaces treat all coordinates equally. We can call this "symmetric".

A symmetric alternative to implicit surfaces is parametric:

where u and v are the parameters. Parametric surfaces have some advantages and some disadvantages over implicit surfaces.

[xyz ]=[

x u , v y u.vz u , v]

Page 14: Implicit Surfaces - Washington State Universityusers.tricity.wsu.edu/~bobl/cpts548/u10_implicit/slides.pdf · 1 4/9/20 WSU CptS 548 © 2003, 2014, 2020 by Robert R. Lewis. All Rights

14

WSU CptS 5484/9/20 © 2003, 2014, 2020 by Robert R. Lewis. All Rights Reserved.

Example

A sphere can be described several different ways, Which is which? x2 y2z 2=1

[xyz ]=[

sin cos sin sin cos ] where ∈[0,] ,∈[− ,]

[wxwywzw]=[

4st2t 1−s2

1−t 21s21s21t 2

] where s∈[0,1] , t∈[0,1]

Page 15: Implicit Surfaces - Washington State Universityusers.tricity.wsu.edu/~bobl/cpts548/u10_implicit/slides.pdf · 1 4/9/20 WSU CptS 548 © 2003, 2014, 2020 by Robert R. Lewis. All Rights

15

WSU CptS 5484/9/20 © 2003, 2014, 2020 by Robert R. Lewis. All Rights Reserved.

Parametric vs. ImplicitEase of... Parametric Implicitdrawing high lowtesselating high lowsubdividing high lowbounding high lowintersecting with a ray low highblending low highrepresenting enclosed volumes low highinside/outside testing (for collisions) low highcomputing normals high high

It would be nice to be able to convert one representation to another, but this is seldom easy for real objects.

Some implicit objects involving high degree polynomials cannot be parameterized by rational functions.

Page 16: Implicit Surfaces - Washington State Universityusers.tricity.wsu.edu/~bobl/cpts548/u10_implicit/slides.pdf · 1 4/9/20 WSU CptS 548 © 2003, 2014, 2020 by Robert R. Lewis. All Rights

16

WSU CptS 5484/9/20 © 2003, 2014, 2020 by Robert R. Lewis. All Rights Reserved.

Solid ModellingWe often want to represent f -1(0), the partitioning between "inside" and "outside" of a modelled solid object.

A solid is a bounded, closed set of points in R3.

For a "reasonable" solid -- one that's easy to model -- all the points are regular.

Common modeling techniques are:

constructive solid geometry

drawings

primitive instancing

spatial enumeration

volumetric decomposition

Page 17: Implicit Surfaces - Washington State Universityusers.tricity.wsu.edu/~bobl/cpts548/u10_implicit/slides.pdf · 1 4/9/20 WSU CptS 548 © 2003, 2014, 2020 by Robert R. Lewis. All Rights

17

WSU CptS 5484/9/20 © 2003, 2014, 2020 by Robert R. Lewis. All Rights Reserved.

CSG to B-Rep

We want to convert from CSG to boundary representation (B-rep).

This can only work for manifold objects.

General approach:

Convert leaf nodes of CSG tree to primitives

Ascend tree, "stitching" child primitives to form parents.

Need to re-regularize at each node.

Page 18: Implicit Surfaces - Washington State Universityusers.tricity.wsu.edu/~bobl/cpts548/u10_implicit/slides.pdf · 1 4/9/20 WSU CptS 548 © 2003, 2014, 2020 by Robert R. Lewis. All Rights

18

WSU CptS 5484/9/20 © 2003, 2014, 2020 by Robert R. Lewis. All Rights Reserved.

Algebraic Surfaces

f is in terms of a finite number of powers of x, y, and z. The largest exponent sum n determines the degree of the surface.

n = 1, linear (a plane)

n = 2, quadric surface (ellipsoid, sphere, cylinder, cone, paraboloid, hyperboloid, hyperbolic paraboloid)

n = 4, quartic (or biquadratic) surface (torus, Steiner)

Some but not all algebraic surfaces may be defined parametrically (possibly rationally).

All nondegenerate quadric surfaces in implicit form may be converted to parametric form.

Page 19: Implicit Surfaces - Washington State Universityusers.tricity.wsu.edu/~bobl/cpts548/u10_implicit/slides.pdf · 1 4/9/20 WSU CptS 548 © 2003, 2014, 2020 by Robert R. Lewis. All Rights

19

WSU CptS 5484/9/20 © 2003, 2014, 2020 by Robert R. Lewis. All Rights Reserved.

Aside: The Steiner Surface

x2 y2 y2 z2z2 x2xyz=0

not a solid

parameterizable

singular along axes

Page 20: Implicit Surfaces - Washington State Universityusers.tricity.wsu.edu/~bobl/cpts548/u10_implicit/slides.pdf · 1 4/9/20 WSU CptS 548 © 2003, 2014, 2020 by Robert R. Lewis. All Rights

20

WSU CptS 5484/9/20 © 2003, 2014, 2020 by Robert R. Lewis. All Rights Reserved.

Blending

f P =∑i=1

n

h∣P−P i∣

Take a set of N points Pi and use

Take a set of N points Pi and use one of several possible h(r)'s:

h(r)

r

exponential (Blinn) (-- not really algebraic)

piecewise quadric "metaballs" (Nishimura)

Wyvill's "soft objects"...

Page 21: Implicit Surfaces - Washington State Universityusers.tricity.wsu.edu/~bobl/cpts548/u10_implicit/slides.pdf · 1 4/9/20 WSU CptS 548 © 2003, 2014, 2020 by Robert R. Lewis. All Rights

21

WSU CptS 5484/9/20 © 2003, 2014, 2020 by Robert R. Lewis. All Rights Reserved.

"Soft Objects"

h(r )=1−49 (

rR )

6

+179 (

rR )

4

−229 (

rR )

2

=(( rR )

2

−1)2

(1−49 (rR )

2

)

If we take

This has a 2nd order root at the "radius of influence" R, which guarantees G1 continuity there. We can also use

Which guarantees G2 continuity.

What can an artist do with these objects? Well....

h r=1− rR

3

Page 22: Implicit Surfaces - Washington State Universityusers.tricity.wsu.edu/~bobl/cpts548/u10_implicit/slides.pdf · 1 4/9/20 WSU CptS 548 © 2003, 2014, 2020 by Robert R. Lewis. All Rights

22

WSU CptS 5484/9/20 © 2003, 2014, 2020 by Robert R. Lewis. All Rights Reserved.

Soft Object Modelling: Yoichiro Kawaguchi

Page 23: Implicit Surfaces - Washington State Universityusers.tricity.wsu.edu/~bobl/cpts548/u10_implicit/slides.pdf · 1 4/9/20 WSU CptS 548 © 2003, 2014, 2020 by Robert R. Lewis. All Rights

23

WSU CptS 5484/9/20 © 2003, 2014, 2020 by Robert R. Lewis. All Rights Reserved.

Soft Object Modelling: Yoichiro Kawaguchi

Page 24: Implicit Surfaces - Washington State Universityusers.tricity.wsu.edu/~bobl/cpts548/u10_implicit/slides.pdf · 1 4/9/20 WSU CptS 548 © 2003, 2014, 2020 by Robert R. Lewis. All Rights

24

WSU CptS 5484/9/20 © 2003, 2014, 2020 by Robert R. Lewis. All Rights Reserved.

Unions and Intersections

Given two implicit models f1 and f2, can we analytically combine them to produce a CSG effect?

+

+

- -

To get the union we could multiply them, but this creates a false "outside" in the intersection.

We'd like to use min(f1, f2) for the union and max(f1, f2) for the intersection, but these functions are only semi-analytic as they are not diffierentiable everywhere.

f1 f2

Page 25: Implicit Surfaces - Washington State Universityusers.tricity.wsu.edu/~bobl/cpts548/u10_implicit/slides.pdf · 1 4/9/20 WSU CptS 548 © 2003, 2014, 2020 by Robert R. Lewis. All Rights

25

WSU CptS 5484/9/20 © 2003, 2014, 2020 by Robert R. Lewis. All Rights Reserved.

Ricci [1973]

Take∪a f 1 ,⋯, f n = f 1

−a⋯ f n

−a −1 /a

∩a f 1 ,⋯, f n = f 1a⋯ f n

a 1 /a

for some a > 0. In the limit a ∞, these become min and max, respectively.

Page 26: Implicit Surfaces - Washington State Universityusers.tricity.wsu.edu/~bobl/cpts548/u10_implicit/slides.pdf · 1 4/9/20 WSU CptS 548 © 2003, 2014, 2020 by Robert R. Lewis. All Rights

26

WSU CptS 5484/9/20 © 2003, 2014, 2020 by Robert R. Lewis. All Rights Reserved.

DeformationsGiven an implicit surface f(P), we can deform the object by transforming P by transform D to get f(P') = f(DP).

Remember that tangents and normals get transformed via

T D=J T and N D=J−1 tN

where J=∂ D∂ P

=[∂ x '∂ x

∂ x '∂ y

∂ x '∂ z

∂ y '∂ x

∂ y '∂ y

∂ y '∂ z

∂ z '∂ x

∂ z '∂ y

∂ z '∂ z

]

Page 27: Implicit Surfaces - Washington State Universityusers.tricity.wsu.edu/~bobl/cpts548/u10_implicit/slides.pdf · 1 4/9/20 WSU CptS 548 © 2003, 2014, 2020 by Robert R. Lewis. All Rights

27

WSU CptS 5484/9/20 © 2003, 2014, 2020 by Robert R. Lewis. All Rights Reserved.

Free-Form Deformations

Sederberg and Perry (1986) developed a general approach to deformations that works for a wide variety of geometric objects, not just solid models and algebraic surfaces:

Let D be determined by a 3D mesh of Bézier points...

(Images taken from Watt and Watt.)

Page 28: Implicit Surfaces - Washington State Universityusers.tricity.wsu.edu/~bobl/cpts548/u10_implicit/slides.pdf · 1 4/9/20 WSU CptS 548 © 2003, 2014, 2020 by Robert R. Lewis. All Rights

28

WSU CptS 5484/9/20 © 2003, 2014, 2020 by Robert R. Lewis. All Rights Reserved.

Page 29: Implicit Surfaces - Washington State Universityusers.tricity.wsu.edu/~bobl/cpts548/u10_implicit/slides.pdf · 1 4/9/20 WSU CptS 548 © 2003, 2014, 2020 by Robert R. Lewis. All Rights

29

WSU CptS 5484/9/20 © 2003, 2014, 2020 by Robert R. Lewis. All Rights Reserved.

Page 30: Implicit Surfaces - Washington State Universityusers.tricity.wsu.edu/~bobl/cpts548/u10_implicit/slides.pdf · 1 4/9/20 WSU CptS 548 © 2003, 2014, 2020 by Robert R. Lewis. All Rights

30

WSU CptS 5484/9/20 © 2003, 2014, 2020 by Robert R. Lewis. All Rights Reserved.

find intersections {ti} with all radii-of -influence bounding spheres

order them along the ray (increasing t)

solve

(numerically) within each interval (ti, ti+1)

return the intersection points that fall within the interval

Ray Tracing Soft Objects

od

radii of influence

∑k

f k od t −c=0

Page 31: Implicit Surfaces - Washington State Universityusers.tricity.wsu.edu/~bobl/cpts548/u10_implicit/slides.pdf · 1 4/9/20 WSU CptS 548 © 2003, 2014, 2020 by Robert R. Lewis. All Rights

31

WSU CptS 5484/9/20 © 2003, 2014, 2020 by Robert R. Lewis. All Rights Reserved.

Skeletal Modeling

possible filleting

Page 32: Implicit Surfaces - Washington State Universityusers.tricity.wsu.edu/~bobl/cpts548/u10_implicit/slides.pdf · 1 4/9/20 WSU CptS 548 © 2003, 2014, 2020 by Robert R. Lewis. All Rights

32

WSU CptS 5484/9/20 © 2003, 2014, 2020 by Robert R. Lewis. All Rights Reserved.

Convolution Surfaces

f P =∑i=1

n

h∣P−P i∣−c

Recall how we defined soft objects as

We can generalize this to be even more useful. Consider a volumetric model:

Where s is a skeleton function of our own devising and h is now a kernel. Mathematically speaking, this is a convolution.

Constructing our implicit function this way lets us draw on an enormous amount of (very useful) theory about convolutions.

f P =∭ s P ' h∣P−P '∣d 3 P '−c

Page 33: Implicit Surfaces - Washington State Universityusers.tricity.wsu.edu/~bobl/cpts548/u10_implicit/slides.pdf · 1 4/9/20 WSU CptS 548 © 2003, 2014, 2020 by Robert R. Lewis. All Rights

33

WSU CptS 5484/9/20 © 2003, 2014, 2020 by Robert R. Lewis. All Rights Reserved.

What Does Convolution Do For Us?

Convolution is

Remember our earlier discussion of convolution and Fourier transforms:

This applies in three dimensions as well as it did in one:

( is now a vector of spatial frequencies. We ignore c.)So what happens to the high frequencies in S if H is small at high frequencies?

f P =∭ s P ' h∣P−P '∣d 3 P '−c

F [q∗r ]=F [q]F [r ]

F (ν)=F 3 D [ f ]=F 3 D [s ] F 3D [h ]=S (ν)H (ν)

Page 34: Implicit Surfaces - Washington State Universityusers.tricity.wsu.edu/~bobl/cpts548/u10_implicit/slides.pdf · 1 4/9/20 WSU CptS 548 © 2003, 2014, 2020 by Robert R. Lewis. All Rights

34

WSU CptS 5484/9/20 © 2003, 2014, 2020 by Robert R. Lewis. All Rights Reserved.

Choosing Skeletons

If we now let our skeleton function be

s P =∑i=1

N

P−P i

Delta functions have very high frequencies in them.

What do we get forf P =∭ s P ' h∣P−P '∣d 3 P '−c

P0P1

P2

P3

Page 35: Implicit Surfaces - Washington State Universityusers.tricity.wsu.edu/~bobl/cpts548/u10_implicit/slides.pdf · 1 4/9/20 WSU CptS 548 © 2003, 2014, 2020 by Robert R. Lewis. All Rights

35

WSU CptS 5484/9/20 © 2003, 2014, 2020 by Robert R. Lewis. All Rights Reserved.

1-Dimensional SkeletonsSo we can recover the point formulation, but we are not restricted to it.

What if we choose a series of line segments:

With -functions that are non-zero only along the segments. We then get

...and we can use spherical-capped cylinders as bounding volumes to simplify intersection calculations.

f P =∑i=0

N−1

∫0

1

h ∣P−P i P i1−P i t ∣dt−c

P0P1

P2

P3

Page 36: Implicit Surfaces - Washington State Universityusers.tricity.wsu.edu/~bobl/cpts548/u10_implicit/slides.pdf · 1 4/9/20 WSU CptS 548 © 2003, 2014, 2020 by Robert R. Lewis. All Rights

36

WSU CptS 5484/9/20 © 2003, 2014, 2020 by Robert R. Lewis. All Rights Reserved.

Possible choices of h()

Gaussian

Wyvill

piecewise B-Spline

h r=1−49

rR

6

179 r

R 4

−229 r

R 2

h r=e−r2

2

h r=∑i

a i Bi r

Page 37: Implicit Surfaces - Washington State Universityusers.tricity.wsu.edu/~bobl/cpts548/u10_implicit/slides.pdf · 1 4/9/20 WSU CptS 548 © 2003, 2014, 2020 by Robert R. Lewis. All Rights

37

WSU CptS 5484/9/20 © 2003, 2014, 2020 by Robert R. Lewis. All Rights Reserved.

P3

P0

Result

P1

P2

This is a convolution surface.

What about bulges and seams?

Page 38: Implicit Surfaces - Washington State Universityusers.tricity.wsu.edu/~bobl/cpts548/u10_implicit/slides.pdf · 1 4/9/20 WSU CptS 548 © 2003, 2014, 2020 by Robert R. Lewis. All Rights

38

WSU CptS 5484/9/20 © 2003, 2014, 2020 by Robert R. Lewis. All Rights Reserved.

Bulges and Seams

∗ =

s(t) h(t) f(t)

1/21

If h(t) is symmetrical at t=1/2, the c = 1/2 contour must pass through the endpoints of the segment....

Page 39: Implicit Surfaces - Washington State Universityusers.tricity.wsu.edu/~bobl/cpts548/u10_implicit/slides.pdf · 1 4/9/20 WSU CptS 548 © 2003, 2014, 2020 by Robert R. Lewis. All Rights

39

WSU CptS 5484/9/20 © 2003, 2014, 2020 by Robert R. Lewis. All Rights Reserved.

Superposition

h∗ s1s2=h∗s1h∗s2Convolution is a linear operator, so

Graphically, this means

Which means that there's no bulging or seams, no matter how many skeletal elements there are.

Convex skeletal regions produce blending. Concave regions produce unions.

=

Page 40: Implicit Surfaces - Washington State Universityusers.tricity.wsu.edu/~bobl/cpts548/u10_implicit/slides.pdf · 1 4/9/20 WSU CptS 548 © 2003, 2014, 2020 by Robert R. Lewis. All Rights

40

WSU CptS 5484/9/20 © 2003, 2014, 2020 by Robert R. Lewis. All Rights Reserved.

Varying the Topology

trifurcated ramiform

You're not restricted to a linear, segmented approach.

Page 41: Implicit Surfaces - Washington State Universityusers.tricity.wsu.edu/~bobl/cpts548/u10_implicit/slides.pdf · 1 4/9/20 WSU CptS 548 © 2003, 2014, 2020 by Robert R. Lewis. All Rights

41

WSU CptS 5484/9/20 © 2003, 2014, 2020 by Robert R. Lewis. All Rights Reserved.

Branching Constraints

To do the join, we take

For continuity, you usually need to scale parent radii so that

when P is the shared endpoint.

This means the parent branch ends up thicker.

This is a case of bulging.

f P =max f parentP ,∑

i=1

nchild

f ichild

P −12

f parent P =∑

i=1

nchild

f ichild

P

Page 42: Implicit Surfaces - Washington State Universityusers.tricity.wsu.edu/~bobl/cpts548/u10_implicit/slides.pdf · 1 4/9/20 WSU CptS 548 © 2003, 2014, 2020 by Robert R. Lewis. All Rights

42

WSU CptS 5484/9/20 © 2003, 2014, 2020 by Robert R. Lewis. All Rights Reserved.

Avoiding Parental Bulging

Bloomenthal and Wyvill (1990) -- works for two-way branching only

Page 43: Implicit Surfaces - Washington State Universityusers.tricity.wsu.edu/~bobl/cpts548/u10_implicit/slides.pdf · 1 4/9/20 WSU CptS 548 © 2003, 2014, 2020 by Robert R. Lewis. All Rights

43

WSU CptS 5484/9/20 © 2003, 2014, 2020 by Robert R. Lewis. All Rights Reserved.

Is Bulging Unavoidable in General?

Page 44: Implicit Surfaces - Washington State Universityusers.tricity.wsu.edu/~bobl/cpts548/u10_implicit/slides.pdf · 1 4/9/20 WSU CptS 548 © 2003, 2014, 2020 by Robert R. Lewis. All Rights

44

WSU CptS 5484/9/20 © 2003, 2014, 2020 by Robert R. Lewis. All Rights Reserved.

Surface Interpolation

unionsurface

convolutionsurface

interpolationof (a) and (b)

Page 45: Implicit Surfaces - Washington State Universityusers.tricity.wsu.edu/~bobl/cpts548/u10_implicit/slides.pdf · 1 4/9/20 WSU CptS 548 © 2003, 2014, 2020 by Robert R. Lewis. All Rights

45

WSU CptS 5484/9/20 © 2003, 2014, 2020 by Robert R. Lewis. All Rights Reserved.

Two-Dimensional Skeletal Elements (Skeletels?)

Page 46: Implicit Surfaces - Washington State Universityusers.tricity.wsu.edu/~bobl/cpts548/u10_implicit/slides.pdf · 1 4/9/20 WSU CptS 548 © 2003, 2014, 2020 by Robert R. Lewis. All Rights

46

WSU CptS 5484/9/20 © 2003, 2014, 2020 by Robert R. Lewis. All Rights Reserved.

Higher-Dimensional Skeletal Elements

volume skeleton can be

data set

continuous function

including the union surface

compute intensive

area of current research

skeleton-bulge relationship still not well understood

Sealy and Wyvill (1996) use an octree volumetric representation

Page 47: Implicit Surfaces - Washington State Universityusers.tricity.wsu.edu/~bobl/cpts548/u10_implicit/slides.pdf · 1 4/9/20 WSU CptS 548 © 2003, 2014, 2020 by Robert R. Lewis. All Rights

47

WSU CptS 5484/9/20 © 2003, 2014, 2020 by Robert R. Lewis. All Rights Reserved.

Animation and Special Effects

It's easy to change implicit parameters in time

positions

weights

field function (h())

and regenerate the implicit surface accordingly.

Page 48: Implicit Surfaces - Washington State Universityusers.tricity.wsu.edu/~bobl/cpts548/u10_implicit/slides.pdf · 1 4/9/20 WSU CptS 548 © 2003, 2014, 2020 by Robert R. Lewis. All Rights

48

WSU CptS 5484/9/20 © 2003, 2014, 2020 by Robert R. Lewis. All Rights Reserved.

Metamorphosis: Surface Inbetweening

Start with two implicit surfaces: f1 and f2 over a unit time step. We could take

But Wyvill finds that this causes the individual shapes composing f1 and f2 to "break up" around t = 1/2. He recommends:

but even this isn't particularly convincing in general. What's needed to go with it is some kind of matching...

f P , t =1−t f 1P t f 2 P

f P , t =cos t2 f 1P sin t

2 f 2P

Page 49: Implicit Surfaces - Washington State Universityusers.tricity.wsu.edu/~bobl/cpts548/u10_implicit/slides.pdf · 1 4/9/20 WSU CptS 548 © 2003, 2014, 2020 by Robert R. Lewis. All Rights

49

WSU CptS 5484/9/20 © 2003, 2014, 2020 by Robert R. Lewis. All Rights Reserved.

Application: Glowing Objects

Page 50: Implicit Surfaces - Washington State Universityusers.tricity.wsu.edu/~bobl/cpts548/u10_implicit/slides.pdf · 1 4/9/20 WSU CptS 548 © 2003, 2014, 2020 by Robert R. Lewis. All Rights

50

WSU CptS 5484/9/20 © 2003, 2014, 2020 by Robert R. Lewis. All Rights Reserved.

Application: Synthetic Topiary

Mech, Prusinkiewicz, and Wyvill

uses implicit function to bound limits of plant generation algorithm