Implicit Modeling

Hongxin Zhang and Jieqing Feng

2007-01-04

State Key Lab of CAD&CG Zhejiang University Contents

• Introduction of Implicit Surface Modeling • Implicit Surface Modeling for Computer Graphics and Animation: Field Function Defined Implicit Surface • Quadric Surfaces • Download Course

01/04/2007 State Key Lab of CAD&CG 2 Introduction of Implicit Surface Modeling

• What is implicit surface? • Comparison: implicit v.s. parametric surfaces • Implicit methods for graphics and animation • Implicit methods for CAD/CAM • Other topics in implicit modeling

01/04/2007 State Key Lab of CAD&CG 3 What is implicit surface?

• Implicit surfaces are two-dimensional, geometric shapes that exist in three dimensional space. Š Defined in R3: Š 2-D manifold: ƒ A surface embedded in R3 ƒ Infinitesimal neighborhood around any point on the surface is topologically equivalent (‘ locally diffeomorphic’) to a disk.

01/04/2007 State Key Lab of CAD&CG 4 What is implicit surface?

Š 2D manifold can be ƒ bounded (or closed): ƒ Unbounded: Š A manifold with boundary: topologically equivalent to either a disk or a half-disk locally. Š Nonmanifold

Manifold Manifold with boundary Nonmanifold

01/04/2007 State Key Lab of CAD&CG 5 What is implicit surface?

Š Manifold or not? Eule-Poincaré formula v-e+f=2-2h

ƒ v: number of vertices ƒ e: number of edges ƒ f: number of faces ƒ h: number of holes

01/04/2007 State Key Lab of CAD&CG 6 Examples of implicit surfaces

Metaball Skeleton Surface Convolution and Metaball Surface

01/04/2007 State Key Lab of CAD&CG 7 Examples of implicit surfaces

Quadric Surface A-Patch Compactly Supported Radial Basis Functions

01/04/2007 State Key Lab of CAD&CG 8 Definition of implicit surface

• Definition {p=(x,y,z): f(p)=0, p∈R3} Š Implicit function f : three classes of specification (definition) ƒ Discrete sampling: a set of points on or within an object ƒ Mathematical function: one or more equations are used to compute the coordinates of points on or within an object ƒ Procedural methods: an algorithmic process computes points on or within an object

01/04/2007 State Key Lab of CAD&CG 9 Algebraic Function

• Algebraic surface: when f is algebraic function, i.e., polynomial function Š The coefficients are not unique f=ax+by+cz=0 ƒ a=b=c=1 ƒ a=b=c=1/√3 Š Algebraic distance: The value of f(p) is the approximation of distance from p to the algebraic surface f=0

01/04/2007 State Key Lab of CAD&CG 10 Transcendental Function

• Transcendental Function Š Trigonometric, exponential, logarithmic, hyperbolic functions, etc. Š Approximated by convergent power series: Taylor series

01/04/2007 State Key Lab of CAD&CG 11 Definition of implicit surface

• Regular point p on the surface ∇f (p) =(∂f/∂x, ∂f/∂y, ∂f/∂z) ≠ 0 Š For cone, 0 is not the regular value for f

The cone f=-x2+y2+z2 is regular with the exception of a singularity at the origin (0,0,0).

01/04/2007 State Key Lab of CAD&CG 12 Mathematical Foundation

• Implicit Function Theorem: if 0 a regular value of continuous function f(p), the implicit surface f-1(0) is a two-dimensional manifold • Jordan-Brouwer Separation Theorem A 2D manifold separates R3 into surface itself and two connected open sets: an infinite(finite) `outside' and a finite(infinite) ‘inside'.

01/04/2007 State Key Lab of CAD&CG 13 Mathematical Foundation

f > 0 outside

f < 0 inside f = 0 surface

f (x,y,z) -1=x2+y2+z2-1 f (x,y,z) = x2+y2+z2

01/04/2007 State Key Lab of CAD&CG 14 Implicit v.s. Parametric Surfaces

01/04/2007 State Key Lab of CAD&CG 15 Complex Surface Modeling

Complex surface constructed by smoothly joined B-spline surface patches Complex surface constructed by convolution surface method

01/04/2007 State Key Lab of CAD&CG 16 Surfaces Intersection

Parametric Surface Intersection Implicit Surface Intersection

01/04/2007 State Key Lab of CAD&CG 17 Tessellation

Up: tessellation of implicit surface

Bottom: tessellation of NURBS surface

01/04/2007 State Key Lab of CAD&CG 18 Blending or rounding

Left: Blending by using Right: Blending by using implicit surface

01/04/2007 State Key Lab of CAD&CG 19 Texture mapping

Texture mapping for NURBS surface Texture mapping for implicit surface

01/04/2007 State Key Lab of CAD&CG 20 Solid Modeling

Solid Modeling via NURBS Surface Solid Modeling via Implicit Surface

01/04/2007 State Key Lab of CAD&CG 21 Implicit v.s. Parametric Surfaces

• Implicitization: Parametric Implicit representation representation

• Parameterization Implicit Parametric representation representation

01/04/2007 State Key Lab of CAD&CG 22 About conversions

• Implicitization Š Any rational parametric surface can be implictized by elimination of parameters in the parametric form Š Implicitization is often computational demanding Š The degree of implicit form is higher than its parametric form, the implicit representation of ƒ A parametric triangular patch of degree n is degree n2 ƒ A tensor product surface of degree m by n is degree 2mn n ƒ The number of terms in algebraic surface of degree n is 3C2 (bicubic patch is degree 18, with 1330 terms!) ƒ Approximated implicitization

01/04/2007 State Key Lab of CAD&CG 23 About conversions

• Parameterization: not always possible Š Algebraic surfaces of fourth and higher degree cannot be parameterized by rational functions Š Parameterization is always possible for non- degenerate quadrics and for cubics that have a singular point.

01/04/2007 State Key Lab of CAD&CG 24 Example:sphere

• Trigonometric: f(α,β)=(cosαcosβ, cosαsinβ, sinα) α∈[0,π], β∈[0,2π] • Rational: x=4st, y=2t(1-s2), z=(1-t2)(1+s2), w=(1+t2)(1+s2) • Implicit: f(x,y,z)=x2+y2+z2-1

01/04/2007 State Key Lab of CAD&CG 25 Example: sphere

• Points on the parametrically defined sphere are readily found by substitution of α and β into the equations for x, y, and z (similarly for s and t). • The mapping from parametric space to geometric space is convenient. • There is no obvious mapping for implicit form!

01/04/2007 State Key Lab of CAD&CG 26 Implicit methods for graphics and animation

• Blobby (metaball, soft objects) • Implicit surface defined by skeletons Š Distance surface Š Convolution surface • Variational Implicit Surfaces • Level-Set Methods • Procedural Models • Animation applications

01/04/2007 State Key Lab of CAD&CG 27 Blobby (metaball, soft objects)

01/04/2007 State Key Lab of CAD&CG 28 Implicit surface defined by skeletons

01/04/2007 State Key Lab of CAD&CG 29 Variational Implicit Surfaces

01/04/2007 State Key Lab of CAD&CG 30 Level-Set Surface Models

01/04/2007 State Key Lab of CAD&CG 31 Procedural Models

01/04/2007 State Key Lab of CAD&CG 32 Reconstruction

The polygonal bunny model was approximated by metaballs.

01/04/2007 State Key Lab of CAD&CG 33 Animation applications

01/04/2007 State Key Lab of CAD&CG 34 Implicit methods for CAD/CAM

• Quadric surface • Algebraic surface patches Š A-patch Š Tensor-product algebraic surface patches

01/04/2007 State Key Lab of CAD&CG 35 Quadric Surface

01/04/2007 State Key Lab of CAD&CG 36 A-patch: Algebraic Surface Patch

01/04/2007 State Key Lab of CAD&CG 37 A-patch: Algebraic Surface Patch

01/04/2007 State Key Lab of CAD&CG 38 Tensor-product algebraic surface patches

01/04/2007 State Key Lab of CAD&CG 39 Tensor-product algebraic surface patches

01/04/2007 State Key Lab of CAD&CG 40 Other Topics in Implicit Modeling

• Functional representation • Visualizing implicit surfaces • Animation by using implicit models • Texture mapping

01/04/2007 State Key Lab of CAD&CG 41 Functional Representation (F- rep)

• F-rep: denfines a whole geometric object by a single real continuous function of several variables as F(X)≥0 Š At least C0 continuous Š F: a formula or an evaluation procedure Š F-rep: combines classic implicits, skeleton based implicits, set-theoretic solids, sweeps, volumetric objects, parametric and procedural models

01/04/2007 State Key Lab of CAD&CG 42 Functional Representation (F- rep)

• Set-theoretic operations • Relations • Blending set-theoretic • Sweeping by a moving operations solid • Offsetting • Deformation with • Cartesian product algebraic sums • Bijective mapping • Three-dimensional • Metamorphosis texture modeling • Interaction

01/04/2007 State Key Lab of CAD&CG 43 F-rep: examples

Moving solid

Artistic shape modeling using real functions

01/04/2007 State Key Lab of CAD&CG 44 F-rep: hairs

Using real functions with application to hair modeling

01/04/2007 State Key Lab of CAD&CG 45 Visualizing implicit surfaces

• Polygonization: Generation of polygons from implicit surface or volume data Š Uniform Š Adaptive • Ray tracing Š Classical Š Sphere tracing • Particle system

01/04/2007 State Key Lab of CAD&CG 46 Uniform Polygonization

A sphere approximated from depths 1 through 5.

01/04/2007 State Key Lab of CAD&CG 47 Adaptive Polygonization

01/04/2007 State Key Lab of CAD&CG 48 Polygonization of non-manifold

01/04/2007 State Key Lab of CAD&CG 49 Classic Ray Tracing

01/04/2007 State Key Lab of CAD&CG 50 Sphere tracing

01/04/2007 State Key Lab of CAD&CG 51 Sphere tracing

01/04/2007 State Key Lab of CAD&CG 52 Particle system: display and control

http://graphics.cs.uiuc.edu/projects/surface/ 01/04/2007 State Key Lab of CAD&CG 53 Field Function Defined Implicit Surface

• Field Function in 3D • Simple Control Primitives: point etc. Š Blobby Molecules Š Metaball Š Soft Objects Š Discussion and Extensions • Skeletal Primitives Š Distance surface Š Convolution surface

01/04/2007 State Key Lab of CAD&CG 54 Field Function in 3D

• Consider implicit surface D(x,y,z)-Iso=0 Š D is called scalar field function Š Distance field is one of good choice

Distance to a Curve: 3 and 9 linear segments

01/04/2007 State Key Lab of CAD&CG 55 Example of Distance Field

• Consider function D(r)=1/r2 , control points in 3D space, where r is the distance to one control points • The total field strength at any point in space is the sum of the field strengths due to each control point

01/04/2007 State Key Lab of CAD&CG 56 Example of Distance Field

• Changing control points as line segments

Simple summation of distance fields will result in bulge!

01/04/2007 State Key Lab of CAD&CG 57 Blobby Molecules by Blinn

• Second Graphics Fellow at Microsoft • 1983 -- The first Siggraph Computer Graphics Achievement Award for work in lighting and surface modeling techniques. • 1989 -- IEEE Outstanding Contribution Award for Jim Blinn's Jim Blinn corner

http://research.microsoft.com/users/blinn/

01/04/2007 State Key Lab of CAD&CG 58 Blobby Molecules

• Hydrogen atoms electron density fields (Gaussian Distribution) 2 D()ra= e−br Š "b" : standard deviation of Gaussian curve Š "a" : height of Gaussian Curve Š “r” : the distance to atom center, r≥0

2D Gaussian Function 1D Gaussian Function

01/04/2007 State Key Lab of CAD&CG 59 Multiple Blobby Molecules

• The overall density at a given point for multiple atoms is summation of individual ones:

2 −bri D()pa==∑ ieIso i Š The “blobbiness” of a model can be controlled by adjusting the parameters ai and bi.

ƒ ai is weight/strength of ith blobby molecule

ƒ bi is influence radius of ith blobby molecule Š The implicit surface is defined as all points where the density is equal to some threshold value Iso.

01/04/2007 State Key Lab of CAD&CG 60 Examples of Blobby Models

01/04/2007 State Key Lab of CAD&CG 61 Blobby Molecules

• Disadvantages of Blobby Molecules Š Exponential distribution of density is Global ƒ Computationally expensive! Š Blinn: Cut off after r >R

R

01/04/2007 State Key Lab of CAD&CG 62 Metaball by Nishimura

• Nishimura at Osaka University in Japan proposed Metaball in 1983 (Almost same with Blinn)

01/04/2007 State Key Lab of CAD&CG 63 Metaball by Nishimura

• Piecewise quadrics to approximate the Gaussian function ⎧ ⎛⎞3r 2 ⎪ar⎜⎟1−≤2 0 ≤b/ 3 ⎪ ⎝⎠b ⎪ 2 ⎪3ar⎛⎞ D(rb) = ⎨ ⎜⎟1−≤ / 3 r≤b ⎪ 2 ⎝⎠b ⎪ 0 rb≥ ⎪ Š "b" : Influence radius of metaball Š "a" : weight of metaball Š “r” : the distance to metaball center, r≥0

01/04/2007 State Key Lab of CAD&CG 64 Metaball Systems

• The system is composed of several metaball

Dp()= ∑ Di ()p= Iso i

Š Each metaball has its own parameters (ai, bi) Š Fusion effects

01/04/2007 State Key Lab of CAD&CG 65 Examples of Metaballs

01/04/2007 State Key Lab of CAD&CG 66 Metaball

• Advantages Š Field function is locally defined in [0,b] Š Fast ray and metaball intersection computation! • Disadvantage Š Distance r: square root , expensive

01/04/2007 State Key Lab of CAD&CG 67 Soft Object by Wyvill Brothers

• Soft objects is proposed by Wyvills in Canada and New Zealand: truncated Taylor expansion series of exponential function

Brian Wyvill Geoff Wyvill

01/04/2007 State Key Lab of CAD&CG 68 Field Function for Soft Object

• Definition

⎧ ⎛⎞41rr64722r2 ⎪ar⎜⎟1− 64+−2 ≤b Dr()=⎨ ⎝⎠99bb9b ⎪ ⎩0 rb>

Š The function has following properties D(0)=1, D(b)=0, D(b/2)=0.5, C′(0)=C′(b)=0 Š The volume bounded by D(r)

01/04/2007 State Key Lab of CAD&CG 69 Examples of Soft Objects

01/04/2007 State Key Lab of CAD&CG 70 Examples of Soft Objects

Two blend soft objects with different threshold: 84, 44, 24, 11

25 balls, threshold is 0.5 Trains modeled by soft objects

01/04/2007 State Key Lab of CAD&CG 71 Soft Object

• Advantages Š Only square term of the distance r, square root computation is removed! Š Finite extent of each ball Š Computational costs: Blobby >> Metaball > Soft object

01/04/2007 State Key Lab of CAD&CG 72 Discussions

• The functions described here guarantee a continuously and smoothly changing surface • Comparison of four field functions

t

rt rmax

• The blending function can be designed freely!

01/04/2007 State Key Lab of CAD&CG 73 Extensions

• Minus primitives: set weight negative

01/04/2007 State Key Lab of CAD&CG 74 Applications of Metaball

Shape approximation and representation by metaballs

01/04/2007 State Key Lab of CAD&CG 75 Skeletal Primitives

• Disadvantage of point primitives: flat surfaces can only be approximated.

Evenly spaced grid of metaballs(16): threshold is 1.66 or 0.5

01/04/2007 State Key Lab of CAD&CG 76 Skeletal Primitives

• The use of complex skeletons is one possible solution to this problem. Š Point can be replace as lines, polygons, curves, surfaces , volumes and any other complex geometric skeletons Š The shape of a primitive follows the shape of its skeletons • Two Approaches Š Distance surfaces Š Convolution Surfaces

01/04/2007 State Key Lab of CAD&CG 77 Examples of Skeletal Primitives

skeletons

skeletons

contour line drawing

ray traced image 01/04/2007 State Key Lab of CAD&CG 78 Examples of Skeletal Primitives

Complex skeletons: ellipsoid, sphere, line segments, points

01/04/2007 State Key Lab of CAD&CG 79 Distance surface

• A distance surface is a surface that is defined by distance to some set of base skeleton elements Š Union of skeletons: Distance surface to the union of skeletons Š Union of primitive surfaces: Boolean operation Š Blending of primitive surfaces: Algebraic blending

01/04/2007 State Key Lab of CAD&CG 80 Union of Skeletons

• Definition

⎛⎞sp− 2 fS(,p)=−max exp⎜⎟ sS∈ ⎜⎟ ⎝⎠2 Š S is the skeleton set Š s is the point on one of the skeleton Š max: maximum field value, nearest point on the skeleton Š Field function can be specified as before, not restricted as exponential function

01/04/2007 State Key Lab of CAD&CG 81 About Union of Skeletons

• Distance surface is rounded when skeleton is convex. • Distance surface is tangent discontinuous and exhibits a crease when the skeleton is concave

Left: curve shown as dashed and distance shown as greyscale intensity middle and right: curve approximated by three and nine segments

01/04/2007 State Key Lab of CAD&CG 82 Union of Distance Surfaces

• Union of distance surface is defined as weighted union of each primitive surface • Definition

F ()pc= F(r) total ∑ i i i i

Š ci: weight, positive or negative

Š Fi: field function as before

Š ri: the distance from p to the nearest point on the i-th skeleton.

01/04/2007 State Key Lab of CAD&CG 83 About Union of Distance Surfaces

• Simple union of distance surfaces will produce bulges and creases may area where the skeletons meet.

01/04/2007 State Key Lab of CAD&CG 84 Algebraic Blends of Primitives

• To eliminate creases or bulge , the primitive volumes (“metaball ”) must form a blend, rather than a union. • What is blending: smooth transition along common boundary among several primitives

01/04/2007 State Key Lab of CAD&CG 85 Blending Functions (1)

• Super-elliptical Blending

Š P1, P2 are algebraic distances to skeletal elements 1 and 2, usually C1 continuous

Š r1 and r2 are the ranges of influence for primitives P1 and P2

Š [x]+ is max (0, x), and t is the ‘thumbweight.’

01/04/2007 State Key Lab of CAD&CG 86 Example of Blending Functions (1)

Super-elliptical Blending of sphere and cylinder primitives (t=3)

01/04/2007 State Key Lab of CAD&CG 87 Example of Blending Functions (1)

Super-Elliptic Blend of Two Cylinders

There is a bulge where the cylinders intersect.

01/04/2007 State Key Lab of CAD&CG 88 Blending Functions (2)

• Improved Super-elliptical Blending

Š θ: the angle between the gradients of the two primitives at a point p: Š The influence range is diminished according to θ

01/04/2007 State Key Lab of CAD&CG 89 Blending Functions (2)

Š θ = 0 the range is fully diminished and the simple union of the primitives results Š θ = 90°(concave condition), the range is undiminished, and a blend occurs. Š To avoid enlarging the primitive ranges, cos(θ) must be nonnegative

simple union bulging blend use of cos use of nonnegative cos

01/04/2007 State Key Lab of CAD&CG 90 Blending Functions (3)

• Super-elliptical blend is extended to k primitives:

01/04/2007 State Key Lab of CAD&CG 91 Convolution Surface

• A bulge-free implicit blend technique

• The convolution surface treats a skeleton S as a set of points, each of which contributes to the implicit surface function according to its distance to p.

01/04/2007 State Key Lab of CAD&CG 92 Convolution Surface

• Blobby systems by Blinn

where si is a point on the skeleton, c is threshold (constant)

01/04/2007 State Key Lab of CAD&CG 93 Convolution Surface

• If S = {si} is a set of infinitesimally spaced points, f can be expressed as an integral:

Š where u ranges over all points on the skeleton. It defines a convolution surface Š Gaussian function is a 3D filter/kernel

• S = {si} can be any skeletons: point, line, curve, surface, volumes etc.

01/04/2007 State Key Lab of CAD&CG 94 About Convolution Surface

• The convolution has been applied extensively in the processing of 1D audio signal, 2D image, 3D volume image. • The convolution scaled the frequency components of the signal via filter(kernel) Š Low-pass filter: smoothing effect, e.g., Gaussian kernel Š High-pass filter: enhance detail effect

01/04/2007 State Key Lab of CAD&CG 95 Gaussian Kernels

Gaussian Kernels: left: one-dimensional, right: two-dimensional

Infinite Sum is a Convolution

01/04/2007 State Key Lab of CAD&CG 96 About Convolution Surface

• The convolution is a linear operator:

hs⊗+()12s=h⊗s1+h⊗s2 Š It is property of superposition Š The sum of the convolutions of any division of a skeleton is identically equal to the single convolution of the entire skeleton • The convolution surface is a smooth shape without introducing bulges.

01/04/2007 State Key Lab of CAD&CG 97 Illustration of Superposition

The superposition Property: The two line segment are brought together (left); sum of convolutions of the two segments (right), convolution of single segment (bottom)

Two Segments Convolved with the Gaussian Kernel

01/04/2007 State Key Lab of CAD&CG 98 About Convolution Surface

• Along convex portions of the skeleton the surface mimics the union operator • Along concave portions, the surface yields a blend. • For isolated convex skeletons, such as triangles or segments, convolution produces surfaces of similar shape to distance surfaces. • For complex skeletons, however, convolution yields crease-free surfaces with adjacent primitives blending without seam or bulge.

01/04/2007 State Key Lab of CAD&CG 99 Gaussian kernel

• For standard Gaussian kernel:

x2 1 ∞− ed2 x= 1 2π ∫−∞ Š A signal modified by such a kernel will maintain its original energy!

1

1/2

Convolution of a box with unit-integral kernel

01/04/2007 State Key Lab of CAD&CG 100 Energy Discussion in Convolution

• Because the Gaussian is symmetric, the convolution equals ½ where the box function undergoes transitions Š For an iso-surface contour level of ½, the convolution surface will pass through the endpoints of skeletal segments and through the edges of skeletal polygons.

• A kernel with integral less (greater) than one would attenuate (amplify) a signal

01/04/2007 State Key Lab of CAD&CG 101 Gaussian kernel

• Advatnages of Gaussian Kernel Š C∞ Smooth Š Unit integral Š Separable

• Disadvantages of Gaussian Kernel Š Globally Defined on the R1,2,3 Š Cannot be analytical integrated, only numerically approximated

01/04/2007 State Key Lab of CAD&CG 102 Examples of Convolution Surfaces

Two Segments Convolved with the Gaussian Kernel

01/04/2007 State Key Lab of CAD&CG 103 Examples of Convolution Surfaces

Threshold=1.0, 0.75, 0.5, 0.35

Line segment and arc skeletons

01/04/2007 State Key Lab of CAD&CG 104 Examples of Convolution Surfaces

Convolution Surface

Convolution Surface: Hand Crafted by Jules Bloomenthal 01/04/2007 State Key Lab of CAD&CG 105 Other kernels: Sinc Kernel

• Sinc kernel is : sin(πx)/πx.

The Sinc Kernel

Š The sinc is the ideal low-pass filter: its Fourier transform is the box function. Š Cutoff frequency effect

01/04/2007 State Key Lab of CAD&CG 106 Other kernels: Sinc Kernel

Š Problem with sinc kernel: none monotonically

Convolution with Gaussian (left) and Sinc (right)

• Monotonicity of the kernel is a necessary property for a satisfactory convolution surface Š Ringing of the filter may introduce a spurious contour

01/04/2007 State Key Lab of CAD&CG 107 Other kernels: B-spline Kernels

• B-spline kernel has similar shape with Gaussian

Š hB-spline(0)=2/3, hB-spline(0.72235)≈1/2 Š The support of kernel is 2 Š The integral of B-Spline kernel is 1, not separable

01/04/2007 State Key Lab of CAD&CG 108 Other kernels: Wyvill Kernels

• Wyvill kernel also has similar shape with Gaussian 6 4 2 hWyvill(x) = (9-4x +17x -22x )/9.

Š After scale: hWyvill(0)=1, hWyvill(1)=1/2 Š The integral of Wyvill kernel is 1 Š The support of kernel is 1 Š Not separable

Wyvill kernel (red)

01/04/2007 State Key Lab of CAD&CG 109 Other kernels: Modified Wyvill Kernels

• Modified Wyvill kernel also has similar shape with Gaussian 2 3 hNewWyvill(x) = (1-x ) .

Š After scale: hWyvill(0)=1 Š The integral of Modified Wyvill kernel is 1 Š The support of kernel is 1 Š Not separable

Modified Wyvill kernel (blue)

01/04/2007 State Key Lab of CAD&CG 110 Compare the different kernels

Comparison of Filter Kernels after scale upper (in black): the Gaussian kernel, e-0.69314715x2

middle (in red): the B-spline kernel, (1.5)hBspline(0.72235x)

lower (in blue): the Wyvill kernel, hWyvill(0.5x)

01/04/2007 State Key Lab of CAD&CG 111 Computation of Convolution

• The Gaussian is separable and spherically symmetric Š Integration by part! • B-spline and Wyvill kernel is not separable Š summation of point source terms Š the product of integration and distance filters.

01/04/2007 State Key Lab of CAD&CG 112 Computation of Convolution

Approximations to B- Spline Convolution left: summation of point sources right: product of filters

Approximations to Wyvill Convolution left: summation of point sources right: product of filters

01/04/2007 State Key Lab of CAD&CG 113 Computation of Convolution

Gaussian Convolution approximation for 3, 7, and 15 Segments (left) or Points (right)

01/04/2007 State Key Lab of CAD&CG 114 Ramification Modeling

A Two-Ramiform with Constant Radii

A Trifurcated Ramiform

01/04/2007 State Key Lab of CAD&CG 115 Please Enjoy More Examples of Convolution Surface

01/04/2007 State Key Lab of CAD&CG 116 Please Enjoy More Examples of Convolution Surface

Snowflake

01/04/2007 State Key Lab of CAD&CG 117 Potted plant

01/04/2007 State Key Lab of CAD&CG 118 Maple tree

01/04/2007 State Key Lab of CAD&CG 119 Please Enjoy More Examples of Convolution Surface

A gourd shape

01/04/2007 State Key Lab of CAD&CG 120 Please Enjoy More Examples of Convolution Surface

A dinosaur

01/04/2007 State Key Lab of CAD&CG 121 Please Enjoy More Examples of Convolution Surface

An cartoon enforcer

01/04/2007 State Key Lab of CAD&CG 122 Quadric Surfaces

• Basics of Quadric Surfaces • Properties of Quadric Surfaces • Representation of Quadric Surfaces • Applications of Quadric Surfaces

01/04/2007 State Key Lab of CAD&CG 123 Basics of Quadric Surfaces

• A general quadric surface is Ax2 + By2 + Cz2 + 2Dxy + 2Exz + 2Fyz +2Gx + 2Hy + 2Jz + K = 0 • Its matrix representation {x | F(x) = xTQx = 0} where

01/04/2007 State Key Lab of CAD&CG 124 Basics of Quadric Surfaces

• There are nine types of general quadrics according coefficients of this algebraic equation Š Ellipsoid Š Elliptic cone Š Cylinder (elliptic, parabolic, hyperbolic) Š Hyperboloid (of 1 sheet, of 2 sheets) Š Paraboloid (elliptic, hyperbolic) • Degenerated cases Š point, plane, parallel planes, • Invalid shapes Š imaginary quadric, intersecting imaginary planes, imaginary parallel planes

01/04/2007 State Key Lab of CAD&CG 125 Sketches of General Quadric Surfaces

01/04/2007 State Key Lab of CAD&CG 126 Natural Quadrics

• Natural Quadrics: subset of general Š sphere (special case of ellipsoid) Š right circular cone (special case of elliptic cone) Š right circular cylinder (special case of elliptic cylinder) Š Planes

01/04/2007 State Key Lab of CAD&CG 127 Natural Quadrics

• Natural quadrics are by far the most popular set of quadric: Prismatic Solid Š Mechanical CAD domains

01/04/2007 State Key Lab of CAD&CG 128 Quadric Surface Patches

• Pieced together with tangent plane (G1) continuity to create free-form shapes

Some complex free-form solids modeled with quadric algebraic patches: (a) a genus five solid with 2,400 quadratic algebraic patches, (b) a bone head, the entire bone was modeled with 5,696 quadratic algebraic patches, and (c) a knot modeled with 6,912 quadratic algebraic patches.

01/04/2007 State Key Lab of CAD&CG 129 Quadric Surface Patches

(a) A vase modeled with 336 quadratic algebraic patches, rendered with transparency to show some of its trunctets. (b) The same vase in an environment with multiple light sources and participating media.

01/04/2007 State Key Lab of CAD&CG 130 Properties of Quadric Surfaces

• Let QA (QB) denotes the matrix representation of quadric surface in frame A(B), M denotes an affine transformation from frame A to from B

Then the transformation of quadrics is

T QB=M QAM

01/04/2007 State Key Lab of CAD&CG 131 Properties of Quadric Surfaces

• Let Qu denotes upper-left 3×3 sub-matrix of Q

Š The rank of both Q and Qu are invariant under affine transformation ƒ The type of quadric surface is invariant under affine transformations Š The quadric surfaces are invariant under rigid motions

01/04/2007 State Key Lab of CAD&CG 132 Characteristic Function

• Characteristic functions are

Det(Q-λI)Det(Qu-λI) Š Invariant under rigid motion Š Used for classifying the type of quadrics according to its eignvalues

01/04/2007 State Key Lab of CAD&CG 133 Characteristic Function (1)

01/04/2007 State Key Lab of CAD&CG 134 Characteristic Function (2)

01/04/2007 State Key Lab of CAD&CG 135 Types of Quadric Surfaces • Types are decided by using a decision tree

01/04/2007 State Key Lab of CAD&CG 136 Ruled Quadric Surfaces

• Ruled Quadric Surfaces Š A family of straight lines can be found which lie entirely on the quadric surface Š cylinders, cones, hyperbolic paraboloid, hyperboloid of one sheet

01/04/2007 State Key Lab of CAD&CG 137 Pencils of two Quadric Surfaces

• F1(x,y,z) and F2(x,y,z) are two quadric surfaces, then the pencil of them is

F1(x,y,z)+αF2(x,y,z) where α is real scalar

Š Every quadric surface in the pencil of F1(x,y,z) and F2(x,y,z) pass the intersection curves of F1(x,y,z) and F2(x,y,z)

F1(x,y,z)=0 and F2(x,y,z)=0 Thus

F1(x,y,z)+αF2(x,y,z)=0

01/04/2007 State Key Lab of CAD&CG 138 Pencils of two Quadric Surface

Š At least one ruled quadric in the pencil of any two general quadrics ƒ Ruled quadrics are easily parameterized ƒ The quadric surface intersection curves can be expressed parametrically using the parameterization scheme for the ruled quadric in the pencil

01/04/2007 State Key Lab of CAD&CG 139 Representation of Quadric Surfaces

• Two representation techniques: Š Algebraic Š Geometric

01/04/2007 State Key Lab of CAD&CG 140 Algebraic Representation of Quadric Surfaces

• Represented by ten coefficients of quadric implicit polynomial equation F(x,y,z): Š Advantage: a common set of routines can be written for handling all types of general quadric surfaces Š Disadvantage: lack of computational robustness ƒ Floating point data of imperfect accuracy ƒ Internal inconsistency

01/04/2007 State Key Lab of CAD&CG 141 Geometric Representation of Quadric Surfaces

• Represented by {1 point, 2 orthogonal unit vectors, 3 scalars} Š The point fixes the position of the surface Š The vectors define its orientation or axes Š The scalars determine its dimensions • Example: Ellipsoid Š Its center (a point) Š Two of its three orthogonal axes (two orthogonal unit vectors) Š Three lengths (radii) along its three axes (three scalars)

01/04/2007 State Key Lab of CAD&CG 142 Geometric Representation of Quadric Surfaces

• Advantages: its robustness and internal consistency • Disadvantage: a large number of routines are needed to handle all the special cases that arise as a result of each type of surface being treated as a separate entity (e.g. a problem of combinatorial explosion in the number of intersection routines)

01/04/2007 State Key Lab of CAD&CG 143 Applications of Quadric Surfaces

• A surface/surface or curve/surface intersection: computationally and topologically tractable as compared to parametric patches. Š For example, a quadric surface F(x,y,z)=0 a line L:(x(t),y(t),z(t)), line and surface intersection F(x(t),y(t),z(t))=0 is a uni-variate quadratic function.

• Quadratic algebraic patches with smooth continuity for modeling complex free-form shapes

01/04/2007 State Key Lab of CAD&CG 144 Download Course

http://www.cad.zju.edu.cn/home/jqfeng/GM/GM07.zip

01/04/2007 State Key Lab of CAD&CG 145