Implicit Surfaces - Washington State...

Post on 18-Jan-2021

5 views 0 download

transcript

1

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

Implicit Surfaces

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.

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

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

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.)

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?

7

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

Normals, Tangents, and Curvatures

8

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

Bounded vs. Unbounded

torus (bounded) plane (unbounded)

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

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)

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)

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.

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]

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]

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.

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

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.

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.

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

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"...

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

22

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

Soft Object Modelling: Yoichiro Kawaguchi

23

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

Soft Object Modelling: Yoichiro Kawaguchi

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

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.

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

]

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.)

28

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

29

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

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

31

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

Skeletal Modeling

possible filleting

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

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 (ν)

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

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

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

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?

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....

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.

=

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.

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

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

43

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

Is Bulging Unavoidable in General?

44

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

Surface Interpolation

unionsurface

convolutionsurface

interpolationof (a) and (b)

45

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

Two-Dimensional Skeletal Elements (Skeletels?)

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

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.

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

49

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

Application: Glowing Objects

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