Seminar on B-Spline over triangular domain Reporter: Gang Xu Institute of Computer Images and...

Post on 16-Jan-2016

215 views 0 download

Tags:

transcript

Seminar on B-Spline over

triangular domain

Reporter: Gang Xu

Institute of Computer Images and Graphics,

Math Dept. ZJU

October 26

Outline

1.Introduction

2.Mathmatic Preliminaries

3.B-Patches and Simplex Splines

4.DMS-Splines and its application

5.G-Patches

6.Future Work

Introduction

Ramshaw’s “juiciest” challenge(1987) “Find a natural way to construct a triangular patch surface that builds in the appropriate continuity conditions, similar to what is done with the B-Spline.”

Introduction

Bézier Curves

B-Spline Curves

Triangular Bézier patches

What?

Desirable Control Scheme Attributes

Piecewise polynomial of a fixed degree Individual piecewise polynomials are

associated to regions of the domain Control Points and Interactivity Local Control Automatic Continuity Maintenance Simplifies to Univariate Splines Numerical Stability

A Bleak Property

kC -continuity, where 2 1

3

nk

Triangular Bézier Patch Continuity Constraints

For a surface consisting of degree n≥1triangular Bézier patches the highest degree of continuity possible, while still providing local flexibility, is

Examples

Cubic

Quartic2C

1C

The examples are from (Zhang et.al, 2005)

Current Situation

A lot of work focus on this problem

Each has its own specialized use, but Inevitably each has its own fundamental limits

None is the true generalization of the B-spline!

Mathematical Preliminaries

Barycentric Coordinates on line

a

1 2u a b

bu

1

b u

b a

2

u a

b a

Barycentric coordinates on plane

Mathematical Preliminaries

a b

c

u

1 2 3u a b c

1

( )

( )

area ubc

area abc

2

( )

( )

area uac

area abc

3

( )

( )

area uab

area abc

Fundmental Idea

Represent the univariate complex function by the multivariate simple function

Related to Polar Forms

Blossom

Blossom Principle

Symmetric

Multi-affine

Diagonal

( , , ) ( , , ), 1i i i i if u f u when

( , , , , ) ( , , , , )i j j if u u f u u

( , , , , ) ( )f u u u u F u

Some Terminologies

( , , , , ) ( )f u u u u F u

Multi-affine blossom of F Blossom

argument

Blossom value

Some Examples

2( ) 3 2 1F u u u 1 2 1 2 1 2( , ) 3 1f u u u u u u

3 23 2 1 0( )F u a u a u a u a

1 2 2 3 1 3 1 2 31 2 3 3 1 2 3 2 1 0( , , )

3 3

u u u u u u u u uf u u u a u u u a a a

Blossom form of CAGD Most of curves and surfaces in CAGD have a blossom form

Bézier Curves

B-Spline Curves

Tensor product surfaces

Triangular Bézier patchesC- Bézier curves and H- Bézier curves,

Also their tensor product surfaces

Blossom of Bézier curves

0

( ) ( )n

ni i

i

F u PB u

( , , , , , )i

n i i

P f a a b b

[ , ]u a b

de Casteljau algorithm in Blossom

1

1 1

( , , , , , , , , ) ( , , , , , , , , )i j k i j k

f u u a a b b f u u a a b b

2

1

( , , , , , , , , )i j k

f u u a a b b

Example

Blossom of B-spline curves

Blossom of Triangular Bézier patches

Pyramid Algorithms of B-B Surface

Shortcomings of B-B SurfacesModeling sufficiently complex surfaces requires the surfaces to have an extremely high

degree

Divide the domain into small triangularregions, define a B-B surfaces for eachregion, as B-spline curves.

How can we get it?

B-Patches

Motivation

0

( ) ( )n

ni i

i

F u PB u

( , , , , , )i

n i i

P f a a b b

[ , ]u a b

Bézier curves

B-spline curves

B-Patches

Triangular Bézier patches

B-Patch’s control net

de Boor style algorithm of B-Patches

Shortcomings of B-Patches

In order to be continuity, the knots along the shared domain edge must beCollinear. (Seidel,1991)

0C

Not extend well to a network of patches!

Example

It is useless for surface modeling!

Simplex Splines

The major problem with B-Patchesis that the underlying basis functionsdon’t automatically provide the required degrees of continuity

The simplex splines overcome it!

Simplex Splines

2RPiecewise polynomial functions defined using a set of points in .The set of these points is called knot set (knot clouds).

The simplex splines defined using knotshas degree

m3n m

The simplex splines has overall continuityprovided that the knot set does not contain a

collinear subset of three knots.

1nC

The simplex spline does not have control points.

Half-open Convex Hull

x belongs to [v) if and only if there existsa small triangle that lies entirely withinthe [v]

x belongs to exactly one triangle

Examples

n 3n

1 2 3, ,

Definition of simplex splines

A degree simplex spline with knots is defined recursively as follows

0 1 2

0 [ )

1( ) 0

u V

M u V narea t t t

1 2 3( \{ }) ( \{ }) ( \{ }) 0a b cM u V t M u V t M u V t n

{ , , ,}a b cW t t tare barycentric coordinates with respect to

Examples 1

Examples 2

Examples 3

Examples 4

Shortcomings of Simplex Splines

The choice of the knots to place in W during each recursive evaluation can effect the results of the computation if not chosen carefully.Plagued with numerical stability issues Computationally expensiveHave no control points

It is useless for surface modeling!

DMS-Splines

Motivation

B-Patchesnice labelling ofcontrol points

Simplex splines Smooth basisfunctions

DMS-Splines

Take the advantage of them!

The inventor

Dahmen, Micchelli, Seidel, 1992

TVCG, IJSM,CAGD, TVC,GMOD,CGF

Definition of DMS-splines

Triangulate the domain

A knot cloud is arranged with each corner of the domain. For a degree n triangular domain, n knots are pulled out.

quadratic

Definition of DMS-splines

2n

n

,abc

, , 0 0 0{ , , , , , , , , }i j k i j kV a a b b c c

For a domain region

control points , , , , , 0,i j kP i j k i j k n

Similar with simplex splines, define a set

To be normalized, define

, ,i j k i j kd area a b c

Definition of DMS-splines

, , , , , ,( ) ( )i j k i j k i j ki j k n

F u P d M u V

Examples 1

Examples 2

Examples 3

Properties of DMS-splines

Convex hull property

Local control

Smoothness

Parametric affine invariance

Continuity Control by Placing Knots

Make several knots collinear to decrease continuity

quadratic

0C

Three knots collinear

1C

discontinuity

Four knots collinear

Examples

Application(1) Filling Holes

Application(1) Filling Holes

Application(2) Fit Scattered Data

The problem

Fitting of a functional surface to a collection of scattered functional data

F( x,y )

i i i i i{(x , y ,z (x , y ))}

Our goal

Find a smooth surface F that is a reasonableapproximation to the data

Application(2) Fit Scattered Data

Why we choose DMS splines?

Automatic smoothness properties

Ability to define a surface over an arbitrarytriangulation (which can be adapted to thelocal density of sampled data)

Finding a Triangulation

Properties of a good triangulation

All sample points must be contained in sometriangle of the triangulation

Points within each triangle are distributed asuniformly as possibleTriangles are not too elongated

Neighbouring triangles are roughly comparablein size

Finding a Triangulation

Delaunay triangulation

explosion of triangles!

Quadtree division of the domainRequire that the quadtree be balanced

The depth of two adjacent leaf nodes differ byat most one

Finding a Triangulation

Assigning Knot Clouds

Avoid collinearity of knots associated with a particular triangle

k+2 of the knots are placed collinearity, the continuity of the surface along that parametricline will be reduced by k

Least Square Fitting

2min ( ) ( ( , ) )l l llLS F F x y z

A linear system

Least Square Fitting

Advantages

Simple to understand

Easy to implement

Disadvantages

Sensitive to the location of data points withrespect to the given set of basis functions

Lie close to data points, not be very smooth

Combining Least Squares and Smoothing

( ) (1 ) ( ) ( ),0 1LSJ F LS F J F

2 2 2( ) 2xx xy yyJ F F F F dxdy

2( ) ( ( , ) )l l ll

LS F F x y z

Localizing the smoothing effect

Examples 1

Examples 2

Examples 3

Examples 4

Examples 4

Examples 5

Examples 5

Application(3) Surface Reconstruction

The Problem

Given a set of points ,find a parametric surface that approximates

1{ }mi iP p 3

ip R2 3:F R R P

Existing approach

Polygonal meshes

Splines

Zero-set surface

Application(3) Surface Reconstruction

Why use DMS-splines?

Arbitrary topological type

Be able to model discontinuities like sharp edges or corners as well( tensor product B-spline will produce a discontinuity curve across the whole patch)

Application(3) Surface Reconstruction

Constructing an initial domain triangulation

Feature detection

Domain partition

Constrained Delaunay triangulations

Application(3) Surface Reconstruction

Fitting with triangular B-splines

min ( ) ( ) ( )dist fairE F E F E F

1

( ) ( )m

dist i ii

E F p F u

2 2

1

( ) ( ( )) ( ( ))m

fair i u i i v ii

E F n F u n F u

Solve control points

Solve knots

Application(3) Surface Reconstruction

Adaptive refinement

RepeatSubdivide the domain triangles with large fitting error

Solve the control points sub-problem foraffected triangles

Solve the knots for new vertices

Until distE

Experimental Results(1)

Experimental Results(1)

Experimental Results(2)

Application(4) Image Registration

The problem

Given source image , and target image ,defined on the domain , the problem ofregistration is to find an optimal geometricaltransformation such that the pixels in both images are matched properly

sI tI

2:T R

2R

2:T R

Application(4) Image Registration

Development

Rigid

global

Non-rigid

local

Rigid and non-rigid

0C continuity

Tensor-product B-splines DMS-Splines

Sharp features can not lie in arbitrary directions

Why choose DMS splines?

flexible domain

local control

space-varying smoothness modeling

Application(4) Image Registration

Application(4) Image Registration

Steps

Transformation Model

Point-based Constraints

Optimization

Application(4) Image Registration

Application(4) Image Registration

Application(4) Image Registration

Application(5) Triangular NURBS

, , , , , ,

, , , ,

( )

( )( )

ijk i j k i j k i j ki j k n

ijk i j k i j ki j k n

P d M u V

F ud M u V

Similar with NURBS!

Dynamic Generalization!

Application(5) Triangular NURBS

Modeling Applications

Rounding (filet)

Scattered Data Fitting

Dynamic Interactive Sculpting

Experimental Results(1)

Experimental Results(2)

Experimental Results(3)

Experimental Results(4)

Experimental Results(5)

Application(6) Solid Modeling

2D 3D

triangular tetrahedra

triangulation terahedralization

Increment Flip Algorithm

Application(6) Solid Modeling

Application(6) Solid Modeling

Geometric editing using control points

Application(6) Solid Modeling

Attribute editing using control coefficient or control points

Application(6) Solid Modeling

Feature Sensitive Data Fitting

Similar with DMS spline but need to preprocess the dataset!

Experimental Results(1)

Experimental Results(2)

APP(7) Rational Spherical DMS-splines

Spherical DMS-splines (Pfeifle, Seidel,1995)

No convex hull property!

APP(7) Rational Spherical DMS-splines

Rational Spherical DMS-splines

Convex hull property

APP(7) Rational Spherical DMS-splines

Genus zero surface reconstruction

Similar with Application (3)!

APP(7) Rational Spherical DMS-splines

Editing the details

APP(7) Rational Spherical DMS-splines

Editing the control net

APP(7) Rational Spherical DMS-splines

Computing the differential properties

Modeling features

APP(7) Rational Spherical DMS-splines

Brain image analysis using spherical DMS-splines

APP(7) Rational Spherical DMS-splines

Segmentation by mean curvature

APP(7) Rational Spherical DMS-splines

Sulci and Gyri tracing

Application(8) Manifold DMS-splines

X.Gu,Y.He, and H.Qin, Manifold splines, in Proceedings of ACM SPM’05, pp27-38,2005

Planar Domain Manifold Domain

Application(8) Manifold DMS-splines

Corollary1(Existence of Singular Points) The manifold splines must have singular points if the domain manifold is closed and not a torus.

Corollary2(Minimal Number of Singular Points)Given a closed domain 2-manifold, if its Euler number is not zero, a manifold spline can be constructed such that the spline has only onesingular point.

Application(8) Manifold DMS-splines

Application(8) Manifold DMS-splines

Application(8) Manifold DMS-splines

Comparison of Various DMS-spline

Manifold “other” splines

 

                               

      

Fairing Manifold DMS-splines

Motivation

High curvature concentration along the edgesof adjacent spline patches

Knot line

Fairing Manifold DMS-splines

Method (Ying.H, Xianfeng.G, Hong.Oin, 2005)

Inspired by the knot-line elimination workof (Gormaz,1994).

Fairing Manifold DMS-splines

Least square problem

Lagrange multipliersmethod

Fairing Manifold DMS-splines

Fairing Manifold DMS-splines

Fairing Manifold DMS-splines

Valuable properties

Applied extensively, from graphics to image

Is it the true generalization of the B-spline?!

Conclusion of DMS-spline

Conclusion of DMS-spline

Not correlate to the Bézier patches

Computational cost is so big

Not present an elegant user interface

Moving the knots has unexpected results

Prevent too many knots from being collinear

Multiresolution triangular B-splines

G-Patches

Main idea (Christopher K,2003)

Generalize the geometry of a uniform B-spline curve over triangular domain

Generalization of the blending fucntionsused in the uniform B-splines

G-Patches

G-Patches

0C Continuity

G-Patches

G-Patches

Reduce to the classic univariate B-splinesLocal controlEvaluation is very fastManipulation is extremely intuitive

0C continuityOnly

The only fatal disadvantage

Remove it from being a viable modeling tool!

Future Work

Create the true generalization of B-spline overtriangular domain

Circular C- Bézier or H- Bézier , Spherical is also

Manifold C-B-spline or H-B-spline

Other application of DMS-splinesC- Bézier over triangular domain

New method of surface reconstruction

Questions

Thank you!

Main References