t-splines and t-nurccs
DESCRIPTION
T-Splines and T-NURCCs. Toby Mitchell Main References: Sederberg et al, T- Splines and T-NURCCs Bazilevs et al, Isogeometric Analysis Using T- Splines. What T-Splines Do. T-Juntions in NURBS Mesh. Reduces number of unnecessary control points Allows local refinement NURBS models - PowerPoint PPT PresentationTRANSCRIPT
T-Splines and T-NURCCs
Toby Mitchell
Main References:Sederberg et al, T-Splines and T-NURCCs
Bazilevs et al, Isogeometric Analysis Using T-Splines
What T-Splines Do
T-Juntions in NURBS Mesh• Reduces number of
unnecessary control points• Allows local refinement
– NURBS models– Subdivision surfaces
• Can merge NURBS patches
• Unlike subdivision surfaces, compatible with NURBS (superset of NURBS)
• Much more acceptable to engineering industry!
Overview: The Main Idea
Break-Down and Reassemble• Start with B-spline or NURBS
mesh• Write in basis function form• Break apart mesh structure:
Point-Based (PB) splines• Reassemble a more flexible
mesh structure: T-splines
• Done in terms of basis functions
Basis Functions Review:
10b
p=3
2/3
11b
10b
1b
0b
2b
3b
30
21
123
20
112
101
0
bbbb
bbb
bb
b
20b 2
1b
30b
p
i
pii
p tNt0
0 )()( bb
Linear interpolation by de Casteljau (Bezier) or Cox-de Boor (B-spline) can be expanded in terms of polynomial sum: basis functions
Start With B-Spline Surfaces
• B-spline surfaces are tensor products of curves:
• Need local knot vectors• Rewrite basis function
m
i
n
j
nj
miji tNsNts
0 0, )()(),( bb
kt ku,over only vary can u)(t,
:function basis of ku kt
),()(),(
domainD
pi
tNsNtsB nj
mi
i,s
j,t
ks1 ks2 ks3 ks4
kt1
kt2
kt3
kt4bi,j
(s,t)
b(s,t)
D
Ni
Nj
Break into Point-Based (PB) Splines• Each control point and basis
function has own knot vectors• No mesh, points completely
self-contained• bi,j becomes ba: a loops over all
PB-splines in a given set
• Domains should overlap:– One PB-spline = point– Two = line– Need at least 3 for surface
• Domain of surface = a subset of the union of all domains
• No obvious best choice
ba
s
t
Build T-splines from PB-Spline Basis
Sederberg’s Key Insight:• Can construct mesh-free
basis functions that still satisfy partition of unity*
• Normalized over domain• Rational, but not NURBS
Building Blocks of T-splines
• Need to impose structure(?)• Once done, have T-splines• Evaluate by PB-spline basis• Same as B-splines, except• One sum over all control
points in domain instead of two in each direction:
aa
aa
nj
mia
tsB
tsBtsR
tNsNtsB
),(
),(),(
),()(),(
p
pp
p
n
aaa tsRts
0
),(),( pbb
*Can represent any polynomial up to the order of the basis
T-Meshes: Structure of the Domain
Define a T-mesh:• Grid of airtight but possibly
non-regular rectangles: Rule 1• Each edge has a knot value• Control points at junctions• Basis functions centered on
anchors*• Knot values for basis functions
collected along rays• Intersection of ray with edge:
add knot to local vector• Rule 2 designed to avoid
ambiguity in knot collection *Not discussed in paper!
Examples of Knot Construction
2
524
23
22
21
2
16
13
12
11
11
1
27
26
24
23
22
2
17
16
14
12
11
1
:
:
k
k
k
k
t
t
T-Spline Surfaces
Evaluating Points on Surface• Query for all domains that
enclose point (s,t)• Gives all basis functions and
points that must be summed• Price for flexibility: more
complex data structure
T-NURBS: • Group weight with control point• Replace B-spline basis function
with NURBS basis functions• Microwave 3 minutes and serve
Point (s,t)
Relevant control point
Merging NURBS with T-Splines
• Insert new knots to align knots between patches
• Create T-junctions to stitch patches together
• Average boundary control points across patches
• One row: C0 merge• Three rows: C2 merge• Resulting merge very smooth
Local Refinement with T-Splines
Figures from Doerfel, Buettler, & Simeon, Adaptive refinement with T-Splines
Local Refinement for Subdivision Surfaces
• T-NURCCs: Catmull-Clark subdivision surfaces with non-uniform knots & T-junctions
• Do a few global refinements• Subsequent steps can be
purely local (to smooth out extraordinary points)
• Shape control available through parameter in subdivision rule
• Rather complex rules required
Finite Elements with T-Splines
Local Refinement• Have a system to model• Want a solution at a given
accuracy level• Local refinement is tricky in
standard methods: get excess DOFs, expense
• T-splines allow local refinement around features of interest
• Big savings…?Regular T-Spline
The Biggest Problem With T-Splines?
Refinement Isn’t THAT Local• Need to keep T-mesh
structure with refinement• Must add new knots
besides the ones you actually want to add
• Sederberg et al. improved this a bit in a later paper
• Better local refinement algorithm, but with…
• No termination condition!
Local Refinement Test Problem
Advection-Diffusion Problem• Pool with steady flow along
45-degree angle• Pollutant flows in one side and
flows out the other• No diffusion: line between
polluted and unpolluted water should stay perfectly sharp
• Requires high refinement, but only along boundary layer
• Perfect test for T-splines
Adaptive Refinement Blow-Up
Hughes et al: Stayed Local Doerfel et al: Cascade Triggered
Good FAIL
Conclusion
• T-splines introduce T-junctions into NURBS• Reduce complexity by orders of magnitude• Allow smooth merges of NURBS patches• Pretty clever, careful formulation: props
• BUT local refinement requires more work, especially for adaptive refinement