You are on page 1of 207

A SHORT REVIEW of CAGD TOOLS for

ISOGEOMETRIC ANALYSIS

Carla Manni
Dipartimento di Matematica, Università di Roma “ Tor Vergata”

SIMAI 2008
Minisymposium
IsoGeometric Analysis: a New Paradigm for the Discretization of PDEs
Rome, September 16, 2008

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.1/56


Isogeometric Analysis

a method for the analysis of problems governed by PDE:

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.2/56


Isogeometric Analysis

a method for the analysis of problems governed by PDE:


more accurate modeling of complex geometries/exact
representations of common engeneering shapes

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.2/56


Isogeometric Analysis

a method for the analysis of problems governed by PDE:


more accurate modeling of complex geometries/exact
representations of common engeneering shapes

[J.A. Cottrell , T.J.R. Hughes, Y. Bazilevs, CMAME, 2005]

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.2/56


Isogeometric Analysis

a method for the analysis of problems governed by PDE:


more accurate modeling of complex geometries/exact
representations of common engeneering shapes
geometrically exact: no matter how coarse is the
discretization

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.2/56


Isogeometric Analysis

a method for the analysis of problems governed by PDE:


more accurate modeling of complex geometries/exact
representations of common engeneering shapes
geometrically exact: no matter how coarse is the
discretization

[J.A. Cottrell , T.J.R. Hughes, Y. Bazilevs, CMAME, 2005]

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.2/56


Isogeometric Analysis

a method for the analysis of problems governed by PDE:


more accurate modeling of complex geometries/exact
representations of common engeneering shapes
geometrically exact: no matter how coarse is the
discretization
simplified mesh refinement

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.2/56


Isogeometric Analysis

a method for the analysis of problems governed by PDE:


more accurate modeling of complex geometries/exact
representations of common engeneering shapes
geometrically exact: no matter how coarse is the
discretization
simplified mesh refinement
“the solution space for dependent variables is represented in terms of
the same functions which represent the geometry”
[Huges-Cottrel-Bazilevs, 2005]

Isogeometric analysis

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.2/56


Isogeometric Analysis (based on NURBS)
exact description of the geometery at any level

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.3/56


Isogeometric Analysis (based on NURBS)
exact description of the geometery at any level

[J.A. Cottrell , T.J.R. Hughes, Y. Bazilevs, CMAME, 2005]

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.3/56


Isogeometric Analysis (based on NURBS)
exact description of the geometery at any level

several efficient possibilities of refinement


h− refinement (knot-insertion/knot-refinement)
p− refinement (degree-elevation/degree-raising)
k− refinement (suitable combinations of the previous)

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.3/56


Isogeometric Analysis (based on NURBS)
exact description of the geometery at any level

several efficient possibilities of refinement


h− refinement (knot-insertion/knot-refinement)
p− refinement (degree-elevation/degree-raising)
k− refinement (suitable combinations of the previous)

h−refinement, [J.A. Cottrell , T.J.R. Hughes, Y. Bazilevs, CMAME, 2005]

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.3/56


Isogeometric Analysis (based on NURBS)
exact description of the geometery at any level

several efficient possibilities of refinement


h− refinement (knot-insertion/knot-refinement)
p− refinement (degree-elevation/degree-raising)
k− refinement (suitable combinations of the previous)

[J.A. Cottrell , T.J.R. Hughes, A. Reali, CMAME, 2007]

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.3/56


Isogeometric Analysis (based on NURBS)
exact description of the geometery at any level

several efficient possibilities of refinement


h− refinement (knot-insertion/knot-refinement)
p− refinement (degree-elevation/degree-raising)
k− refinement (suitable combinations of the previous)
easy treatment of smooth “elements” ⇒ suitable for “high
regular” problems

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.3/56


Isogeometric Analysis (based on NURBS)
exact description of the geometery at any level

several efficient possibilities of refinement


h− refinement (knot-insertion/knot-refinement)
p− refinement (degree-elevation/degree-raising)
k− refinement (suitable combinations of the previous)
easy treatment of smooth “elements” ⇒ suitable for “high
regular” problems
easy treatment regions with low smoothness

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.3/56


Isogeometric Analysis (based on NURBS)
exact description of the geometery at any level

several efficient possibilities of refinement


h− refinement (knot-insertion/knot-refinement)
p− refinement (degree-elevation/degree-raising)
k− refinement (suitable combinations of the previous)
easy treatment of smooth “elements” ⇒ suitable for “high
regular” problems
easy treatment regions with low smoothness

existence of efficient and stable algorithms for evaluation


and representation

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.3/56


Isogeometric Analysis (based on NURBS)
exact description of the geometery at any level

several efficient possibilities of refinement


h− refinement (knot-insertion/knot-refinement)
p− refinement (degree-elevation/degree-raising)
k− refinement (suitable combinations of the previous)
easy treatment of smooth “elements” ⇒ suitable for “high
regular” problems
easy treatment regions with low smoothness

existence of efficient and stable algorithms for evaluation


and representation
“In a sense, Isogeometric Analysis [based on NURBS] is a superset of FEA”
[Cottrel-Bazilevs-Beirao da Vega-Cottrell-Huges-Sangalli, 2006]

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.3/56


Goal

present basic algorithms/properties of B-splines of salient


interest

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.4/56


Goal

present basic algorithms/properties of B-splines of salient


interest

propose a possible alternative to the rational (NURBS)


model

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.4/56


Outline

B-splines
definition
main properties
main algorithms

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.5/56


Outline

B-splines
definition
main properties
main algorithms

B-splines → NURBS

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.5/56


Outline

B-splines
definition
main properties
main algorithms

B-splines → NURBS

Alternatives to the rational model

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.5/56


B-splines

B-spline functions/curves/surfaces are NOT special


piecewise polynomial (p.p.) functions/curves/surfaces

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.6/56


B-splines

B-spline functions/curves/surfaces are NOT special


piecewise polynomial (p.p.) functions/curves/surfaces

B-splines are a special form to represent any p.p.


function/curve/surface

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.6/56


B-splines

B-spline functions/curves/surfaces are NOT special


piecewise polynomial (p.p.) functions/curves/surfaces

B-splines are a special form to represent any p.p.


function/curve/surface

Why are B-splines so popular?

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.6/56


B-splines

B-spline functions/curves/surfaces are NOT special


piecewise polynomial (p.p.) functions/curves/surfaces

B-splines are a special form to represent any p.p.


function/curve/surface

Why are B-splines so popular?


they are the best way to represent p.p. both from the
geometric and computational point of view

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.6/56


B-splines

B-spline functions/curves/surfaces are NOT special


piecewise polynomial (p.p.) functions/curves/surfaces

B-splines are a special form to represent any p.p.


function/curve/surface

Why are B-splines so popular?


they are the best way to represent p.p. both from the
geometric and computational point of view
there exist efficient and stable algorithms for their
evaluation/manipulation

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.6/56


Notation: control polygon

U :=< ϕ1 (t), · · · , ϕm (t) >, < 1, t >⊂ U

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.7/56


Notation: control polygon

U :=< ϕ1 (t), · · · , ϕm (t) >, < 1, t >⊂ U


curves in Rd 1 c3
m
X 0.8

C(t) := ci ϕi (t), 0.6 c2 c4


i=1 0.4
c6
ci ∈ Rd control points 0.2

0
c5
1.5

1.5
1
1
0.5
0.5

c1
0 0

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.7/56


Notation: control polygon

U :=< ϕ1 (t), · · · , ϕm (t) >, < 1, t >⊂ U


curves in Rd 1 c3
m
X 0.8

C(t) := ci ϕi (t), 0.6 c2 c4


i=1 0.4
c6
ci ∈ Rd control points 0.2

0
c5
1.5

1.5
1
1
0.5
0.5

c1 0 0

3.5

scalar functions 3
m
X 2.5
f (t) := ci ϕi (t), 2

 i=1   1.5
m
X ξ∗
t
 =  i  ϕi (t), 1

f (t) i=1 ci 0.5


*
ξ1
* ξ2
T 0
ξi∗ , ci ∈ R2 control points
−0.5
0 1 2 3 4 5 6 7

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.7/56


Notation: control polygon

U :=< ϕ1 (t), · · · , ϕm (t) >, < 1, t >⊂ U


curves in Rd 1 c3
m
X 0.8

C(t) := ci ϕi (t), 0.6 c2 c4


i=1 0.4
c6
ci ∈ Rd control points 0.2

0
c5
1.5

1.5
1
1
0.5
0.5

control polygon c1 0 0

3.5

scalar functions 3
m
X 2.5
f (t) := ci ϕi (t), 2

 i=1   1.5
m
X ξ∗
t
 =  i  ϕi (t), 1

f (t) i=1 ci 0.5


*
ξ1
* ξ2
T 0
ξi∗ , ci ∈ R2 control points
−0.5
0 1 2 3 4 5 6 7

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.7/56


Bernstein polynomials
 
(p) p − 1 i−1
Bi (t) := t (1 − t)p−i 1

i−1 0.9

0.8

i = 1, · · · , p, t ∈ [0, 1] 0.7

0.6

0.5

0.4

0.3

0.2

0.1

0
0 0.2 0.4 0.6 0.8 1

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.8/56


Bernstein polynomials p : order=degree+1
 
(p) p − 1 i−1
Bi (t) := t (1 − t)p−i 1

i−1 0.9

0.8

i = 1, · · · , p, t ∈ [0, 1] 0.7

0.6

0.5

0.4

0.3

0.2

0.1

0
0 0.2 0.4 0.6 0.8 1

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.8/56


Bernstein polynomials p : order=degree+1
 
(p) p − 1 i−1
Bi (t) := t (1 − t)p−i 1

i−1 0.9

0.8

0.7

i = 1, · · · , p, t ∈ [0, 1] 0.6

0.5

positivity:
0.4
(p)
Bi (t) ≥ 0, t ∈ [0, 1] 0.3

0.2

0.1

0
0 0.2 0.4 0.6 0.8 1

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.8/56


Bernstein polynomials p : order=degree+1
 
(p) p − 1 i−1
Bi (t) := t (1 − t)p−i 1

i−1 0.9

0.8

0.7

i = 1, · · · , p, t ∈ [0, 1] 0.6

0.5

positivity:
0.4
(p)
Bi (t) ≥ 0, t ∈ [0, 1] 0.3

0.2

partition of unity: (p) 0.1


Pp
i=1 Bi (t) = 1, ∀t 0
0 0.2 0.4 0.6 0.8 1

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.8/56


Bernstein polynomials p : order=degree+1
 
(p) p − 1 i−1
Bi (t) := t (1 − t)p−i 1

i−1 0.9

0.8

0.7

i = 1, · · · , p, t ∈ [0, 1] 0.6

0.5

positivity:
0.4
(p)
Bi (t) ≥ 0, t ∈ [0, 1] 0.3

0.2

partition of unity: (p) 0.1


Pp
i=1 Bi (t) = 1, ∀t 0
0 0.2 0.4 0.6 0.8 1

Computational consequences: well conditioned basis

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.8/56


Bernstein polynomials p : order=degree+1
 
(p) p − 1 i−1
Bi (t) := t (1 − t)p−i 1

i−1 0.9

0.8

0.7

i = 1, · · · , p, t ∈ [0, 1] 0.6

0.5

positivity:
0.4
(p)
Bi (t) ≥ 0, t ∈ [0, 1] 0.3

0.2

partition of unity: (p) 0.1


Pp
i=1 Bi (t) = 1, ∀t 0
0 0.2 0.4 0.6 0.8 1

Geometric consequences
p. unity ⇒ affine invariance
p p
(p) (p)
X X
d
pi ∈ R , C(t) = pi Bi (t) ⇒ AC(t)+q = (Api + q)Bi (t)
i=1 i=1

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.8/56


Bernstein polynomials p : order=degree+1
 
(p) p − 1 i−1
Bi (t) := t (1 − t)p−i 1

i−1 0.9

0.8

0.7

i = 1, · · · , p, t ∈ [0, 1] 0.6

0.5

positivity:
0.4
(p)
Bi (t) ≥ 0, t ∈ [0, 1] 0.3

0.2

partition of unity: (p) 0.1


Pp
i=1 Bi (t) = 1, ∀t 0
0 0.2 0.4 0.6 0.8 1

Geometric consequences
p. unity ⇒ affine invariance
p p
(p) (p)
X X
d
pi ∈ R , C(t) = pi Bi (t) ⇒ AC(t)+q = (Api + q)Bi (t)
i=1 i=1
p
1
positivity & p. unity ⇒ convex hull
p3

p
(p)
X
C(t) = pi−1 Bi (t) ∈ .
i=1 p0 p
2

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.8/56


Bernstein polynomials: recurrence relations
(3) (2) (2)
B2 (t) = 2t(1 − t) = (1 − t)t + t(1 − t) = (1 − t)B2 (t) + tB1 (t)

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.9/56


Bernstein polynomials: recurrence relations
(p) (p−1) (p−1)
Bi (t) = (1 − t)Bi (t) + tBi−1 (t)

 k − 1
(k) (k) (k)
Bi = 0, i < 1, i > k, Bi (t) = Bi (t) := ti−1 (1 − t)k−i , i = 1, · · · , k
i−1

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.9/56


Bernstein polynomials: recurrence relations
(p) (p−1) (p−1)
Bi (t) = (1 − t)Bi (t) + tBi−1 (t)

p p p−1
(p) (p) (p) (p−1) (p) (p−1) (p−1) (1)
X X X
ci Bi (t) = ci [(1−t)Bi (t)+tBi−1 (t)] = ci Bi (t) = ... = c1
i=1 i=1 i=1

(k−1) (k) (k)


ci := (1 − t)ci + tci+1 i = 1, · · · , k − 1

(4)
(3) c3
c2
(4) (2)
c2 c2
(2) (1) c3
(3)
c1 c1
(3) (4)
c1 c4

(4)
c1
A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.9/56
Bernstein polynomials: recurrence relations
(p) (p−1) (p−1)
Bi (t) = (1 − t)Bi (t) + tBi−1 (t)

p p p−1
(p) (p) (p) (p−1) (p) (p−1) (p−1) (1)
X X X
ci Bi (t) = ci [(1−t)Bi (t)+tBi−1 (t)] = ci Bi (t) = ... = c1
i=1 i=1 i=1

(k−1) (k) (k)


ci := (1 − t)ci + tci+1 i = 1, · · · , k − 1

(4)
(3) c3
c2
(4) (2)
c2 c2
(2) (1) c3
(3)
c1
de Casteljau algorithm
c1

(3) (4)
c1 c4
evaluation=convex combinations

(4)
c1
A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.9/56
Bernstein polynomials: (p)
Bi (t) = (1 − t)Bi
(p−1) (p−1)
(t) + tBi−1 (t)

Degree raising/Degree elevation


p p+1
(p) (p+1)
X X
IPp ⊂ IPp+1 ⇒ ci Bi (t) = ĉi Bi (t) .
i=1 i=1

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.10/56


Bernstein polynomials: (p)
Bi (t) = (1 − t)Bi
(p−1) (p−1)
(t) + tBi−1 (t)

Degree raising/Degree elevation


p p+1
(p) (p+1)
X X
IPp ⊂ IPp+1 ⇒ ci Bi (t) = ĉi Bi (t) .
i=1 i=1

p−i+1 i−1
ĉi := p ci + p ci−1

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.10/56


Bernstein polynomials: (p)
Bi (t) = (1 − t)Bi
(p−1) (p−1)
(t) + tBi−1 (t)

Degree raising/Degree elevation


p p+1
(p) (p+1)
X X
IPp ⊂ IPp+1 ⇒ ci Bi (t) = ĉi Bi (t) .
i=1 i=1

p−i+1 i−1
ĉi := p ci + p ci−1

Derivatives:
p p−1
(p) (p−1)
X X
C(t) := ci Bi (t) ⇒ C 0 (t) = (p − 1)(ci+1 − ci )Bi (t)
i=1 i=1
(p) (p−1) (p−1)
D(Bi )(t) = (p − 1)[Bi−1 (t) − Bi (t)]

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.10/56


Bernstein polynomials: (p)
Bi (t) = (1 − t)Bi
(p−1) (p−1)
(t) + tBi−1 (t)

Degree raising/Degree elevation


p p+1
(p) (p+1)
X X
IPp ⊂ IPp+1 ⇒ ci Bi (t) = ĉi Bi (t) .
i=1 i=1

p−i+1 i−1
ĉi := p ci + p ci−1

Derivatives:
p p−1
(p) (p−1)
X X
C(t) := ci Bi (t) ⇒ C 0 (t) = (p − 1)(ci+1 − ci )Bi (t)
i=1 i=1
(p) (p−1) (p−1)
D(Bi )(t) = (p − 1)[Bi−1 (t) − Bi (t)]

Z 1 1
Integration: (p)
Bi (t)dt =
0 p
"R #
t (p−1) Rt (p−1)
(p) 0 Bi−1 (s)ds 0 Bi (s)ds
Bi (t) = R 1 (p−1) − R 1 (p−1)
0 Bi−1 (t)dt 0 Bi (t)dt

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.10/56


Bernstein polynomials ...
(p) (p)
B1 · · · Bp is a Totally Positive (TP) basis for IPp

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.11/56


TP bases
A basis {ϕ1 , · · · , ϕp } of a space U is TP in I ⊂ R if any collocation matrix
 
ϕ1 (t1 ) ··· ϕp (t1 )
.. .. 
 
t1 < t2 < · · · < tr , ti ∈ I, i = 1, · · · , r


 . .  
ϕ1 (tr ) ··· ϕp (tr )

is Totally Positive (⇔ any subdeterminant ≥ 0)

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.12/56


TP bases
A basis {ϕ1 , · · · , ϕp } of a space U is TP in I ⊂ R if any collocation matrix
 
ϕ1 (t1 ) ··· ϕp (t1 )
.. .. 
 
t1 < t2 < · · · < tr , ti ∈ I, i = 1, · · · , r


 . .  
ϕ1 (tr ) ··· ϕp (tr )

is Totally Positive (⇔ any subdeterminant ≥ 0)


A matrix is TP iff it is the product of positive “bidiagonal” matrices
0 0 0

1 1 1

2 2 2

3 3 3

4 4 4

5 5 5

6 6 6

7 7 7

8 8 8

9 9 9

10 10 10

11 11 11
0 2 4 6 8 10 12 0 2 4 6 8 10 0 2 4 6 8 10

{ϕ1 , · · · , ϕm } TP basis c1 , · · · , cm ∈ R ⇒
Pm
# sign ch. ( i=1 ci ϕi (t)) ≤ # sign ch. (c1 , · · · , cm ).

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.12/56


TP bases
A basis {ϕ1 , · · · , ϕp } of a space U is TP in I ⊂ R if any collocation matrix
 
ϕ1 (t1 ) ··· ϕp (t1 )
.. .. 
 
t1 < t2 < · · · < tr , ti ∈ I, i = 1, · · · , r


 . .  
ϕ1 (tr ) ··· ϕp (tr )

is Totally Positive (⇔ any subdeterminant ≥ 0)

TP⇒ Variation diminishing


any hyperplane crosses
Pm
i=1 ci ϕi (t) at most as many times as
its control polygon

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.12/56


Bernstein polynomials ...
(p) (p)
B1 · · · Bp is a Totally Positive (TP) basis for IPp

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.13/56


Bernstein polynomials ...
(p) (p)
B1 · · · Bp is a Totally Positive (TP) basis for IPp

(p) (p)
B1 · · · Bp is the best normalized TP basis IPp it is the
normalized B-basis for IPp

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.13/56


Bernstein polynomials ...
(p) (p)
B1 · · · Bp is a Totally Positive (TP) basis for IPp

(p) (p)
B1 · · · Bp is the best normalized TP basis IPp it is the
normalized B-basis for IPp

A (normalized and) TP basis {B1 , · · · , Bp } of U is a B-basis if for any (normalized and) TP basis
{ϕ1 , · · · , ϕp } of U the matrix K
   
ϕ1 ··· ϕ p = B1 ··· Bp K

is (stochastic and) TP.

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.13/56


Bernstein polynomials ...
(p) (p)
B1 · · · Bp is a Totally Positive (TP) basis for IPp

(p) (p)
B1 · · · Bp is the best normalized TP basis IPp it is the
normalized B-basis for IPp


has minimum condition number (among p. bases)
p
Φ := (ϕ1 , · · · , ϕp ) positive basis of IPp , q(t) :=
P
i=1 ci ϕi (t)

p
X
CΩ (q(t), t) := |ci |ϕi (t) Condition number of q w.r.t. Φ
i=1

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.13/56


Bernstein polynomials ...
(p) (p)
B1 · · · Bp is a Totally Positive (TP) basis for IPp

(p) (p)
B1 · · · Bp is the best normalized TP basis IPp it is the
normalized B-basis for IPp


has minimum condition number (among p. bases)

has optimal geometric properties (among TP bases)

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.13/56


B-Bases: geometric properties
(p) (p)
{B1 , · · · , Bp } B-basis, {ϕ1 , · · · , ϕp } TP basis
n p
(p)
X X
C(t) := qj ϕj (t) = pi Bi (t),
j=0 i=1


p1 , · · · , pp “lies between” q1 , · · · , qp and C

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.14/56


B-Bases: geometric properties
(p) (p)
{B1 , · · · , Bp } B-basis, {ϕ1 , · · · , ϕp } TP basis
q1 q =p
3 3
n p
(p)
X X
C(t) := qj ϕj (t) = pi Bi (t),
j=0 i=1
p
1

p
⇓ 2

p1 , · · · , pp “lies between” q1 , · · · , qp and C


p =q q
0 0 2

p1 , · · · , pp better description of C : shape less “overemphasized”

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.14/56


Bernstein polynomials ...
(p) (p)
B1 · · · Bp is a Totally Positive (TP) basis for IPp

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.15/56


Bernstein polynomials ...
(p) (p)
B1 · · · Bp is a Totally Positive (TP) basis for IPp

(p) (p)
B1 · · · Bp is the normalized B-basis for IPp

m 1

0.9

0.8
(p)
Bj (t) (p) 0.7

inf{ (p) : Bi (t) 6= 0} = 0, ∀ i 6= j 0.6

Bi (t) 0.5

0.4

0.3

0.2

⇓ 0.1

0
0 0.2 0.4 0.6 0.8 1

it has optimal geometric and computational properties

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.15/56


Bernstein polynomials ...
(p) (p)
B1 · · · Bp is a Totally Positive (TP) basis for IPp

(p) (p)
B1 · · · Bp is the normalized B-basis for IPp

m 1

0.9

0.8
(p)
Bj (t) (p) 0.7

inf{ (p) : Bi (t) 6= 0} = 0, ∀ i 6= j 0.6

Bi (t) 0.5

0.4

0.3

0.2

⇓ 0.1

0
0 0.2 0.4 0.6 0.8 1

it has optimal geometric and computational properties

all the given properties can be obtained by blossoms

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.15/56


B-splines

Ξ := {ξ1 ≤ ξ2 ≤ · · · ≤ ξn+p } knots


· · · < ξi = ξi+1 = · · · = ξi+ρi −1 < ξi+ρi , 1 ≤ ρi ≤ p multiplicity

usually
ξ1 = · · · = ξp < · · · < ξn+1 = · · · = ξn+p


1 if t ∈ [ξi , ξi+1 )
(1)
Bi,Ξ (t) :=
0 elsewhere

(p) t−ξi (p−1) ξi+p −t (p−1)


Bi,Ξ (t) := ξi+p−1 −ξi i,Ξ (t)
B + ξi+p −ξi+1 i+1,Ξ (t)
B

i-th B-spline, of order p, with knots Ξ

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.16/56


B-splines

Ξ := {ξ1 ≤ ξ2 ≤ · · · ≤ ξn+p } knots


· · · < ξi = ξi+1 = · · · = ξi+ρi −1 < ξi+ρi , 1 ≤ ρi ≤ p multiplicity

usually
ξ1 = · · · = ξp < · · · < ξn+1 = · · · = ξn+p


1 if t ∈ [ξi , ξi+1 )
(1)
Bi,Ξ (t) :=
0 elsewhere

(p) t−ξi (p−1) ξi+p −t (p−1)


Bi,Ξ (t) := ξi+p−1 −ξi i,Ξ (t)
B + ξi+p −ξi+1 i+1,Ξ (t)
B

1 1 1 1

0.9 0.9 0.9 0.9

0.8 0.8 0.8 0.8

0.7 0.7 0.7 0.7

0.6 0.6 0.6 0.6

0.5 0.5 0.5 0.5

0.4 0.4 0.4 0.4

0.3 0.3 0.3 0.3

0.2 0.2 0.2 0.2

0.1 0.1 0.1 0.1

0 0 0 0
0 0.5 1 1.5 2 2.5 3 3.5 4 0 1 2 3 4 5 0 1 2 3 4 5 6 0 1 2 3 4 5 6 7

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.16/56


B-splines

Ξ := {ξ1 ≤ ξ2 ≤ · · · ≤ ξn+p } knots


· · · < ξi = ξi+1 = · · · = ξi+ρi −1 < ξi+ρi , 1 ≤ ρi ≤ p multiplicity

usually
ξ1 = · · · = ξp < · · · < ξn+1 = · · · = ξn+p


1 if t ∈ [ξi , ξi+1 )
(1)
Bi,Ξ (t) :=
0 elsewhere

(p) t−ξi (p−1) ξi+p −t (p−1)


Bi,Ξ (t) := ξi+p−1 −ξi i,Ξ (t)
B + ξi+p −ξi+1 i+1,Ξ (t)
B

1 1 1 1

0.9 0.9 0.9 0.9

0.8 0.8 0.8 0.8

0.7 0.7 0.7 0.7

0.6 0.6 0.6 0.6

0.5 0.5 0.5 0.5

0.4 0.4 0.4 0.4

0.3 0.3 0.3 0.3

0.2 0.2 0.2 0.2

0.1 0.1 0.1 0.1

0 0 0 0
0 1 2 3 4 5 0 1 2 3 4 5 6 0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8 9

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.16/56


B-splines: evaluation
(p) t−ξi (p−1) ξi+p −t (p−1)
Bi,Ξ (t) := ξi+p−1 −ξi i,Ξ (t)
B + ξi+p −ξi+1 i+1,Ξ (t)
B
(p) (p−1) (p−1) t−ξi
Bi,Ξ (t) := ωi,p (t)Bi,Ξ (t) + (1 − ωi+1,p (t))Bi+1,Ξ (t) ωi,p (t) := ξi+p−1 −ξi

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.17/56


B-splines: evaluation
(p) t−ξi (p−1) ξi+p −t (p−1)
Bi,Ξ (t) := ξi+p−1 −ξi i,Ξ (t)
B + ξi+p −ξi+1 i+1,Ξ (t)
B
(p) (p−1) (p−1) t−ξi
Bi,Ξ (t) := ωi,p (t)Bi,Ξ (t) + (1 − ωi+1,p (t))Bi+1,Ξ (t) ωi,p (t) := ξi+p−1 −ξi

(p) (p)
X
C(t) := ci Bi,Ξ (t), t ∈ [ξr , ξr+1 )

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.17/56


B-splines: evaluation
(p) t−ξi (p−1) ξi+p −t (p−1)
Bi,Ξ (t) := ξi+p−1 −ξi i,Ξ (t)
B + ξi+p −ξi+1 i+1,Ξ (t)
B
(p) (p−1) (p−1) t−ξi
Bi,Ξ (t) := ωi,p (t)Bi,Ξ (t) + (1 − ωi+1,p (t))Bi+1,Ξ (t) ωi,p (t) := ξi+p−1 −ξi

(p) (p)
X
C(t) := ci Bi,Ξ (t), t ∈ [ξr , ξr+1 )

(p) (p) (p−1) (p−1) (p−1) (p−1)


X X X
ci Bi,Ξ (t) = ci [ωi,p (t)Bi,Ξ (t)+(1−ωi+1,p (t))Bi+1,Ξ (t)] = cj Bj,Ξ (t)
i i j

(1) (1) (1)


X
= ··· = cj Bj,Ξ (t) = cr
j

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.17/56


B-splines: evaluation
(p) t−ξi (p−1) ξi+p −t (p−1)
Bi,Ξ (t) := ξi+p−1 −ξi i,Ξ (t)
B + ξi+p −ξi+1 i+1,Ξ (t)
B
(p) (p−1) (p−1) t−ξi
Bi,Ξ (t) := ωi,p (t)Bi,Ξ (t) + (1 − ωi+1,p (t))Bi+1,Ξ (t) ωi,p (t) := ξi+p−1 −ξi

(p) (p)
X
C(t) := ci Bi,Ξ (t), t ∈ [ξr , ξr+1 )

(p) (p) (p−1) (p−1) (p−1) (p−1)


X X X
ci Bi,Ξ (t) = ci [ωi,p (t)Bi,Ξ (t)+(1−ωi+1,p (t))Bi+1,Ξ (t)] = cj Bj,Ξ (t)
i i j

(1) (1) (1)


X
= ··· = cj Bj,Ξ (t) = cr
j

(k−1) (k) (k)


ci := ωi,k (t)ci + (1 − ωi,k (t))ci−1 , k = p, p − 1, ...

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.17/56


B-splines: evaluation
(p) t−ξi (p−1) ξi+p −t (p−1)
Bi,Ξ (t) := ξi+p−1 −ξi i,Ξ (t)
B + ξi+p −ξi+1 i+1,Ξ (t)
B
(p) (p−1) (p−1) t−ξi
Bi,Ξ (t) := ωi,p (t)Bi,Ξ (t) + (1 − ωi+1,p (t))Bi+1,Ξ (t) ωi,p (t) := ξi+p−1 −ξi

(p) (p)
X
C(t) := ci Bi,Ξ (t), t ∈ [ξr , ξr+1 )

(p) (p) (p−1) (p−1) (p−1) (p−1)


X X X
ci Bi,Ξ (t) = ci [ωi,p (t)Bi,Ξ (t)+(1−ωi+1,p (t))Bi+1,Ξ (t)] = cj Bj,Ξ (t)
i i j

(1) (1) (1)


X
= ··· = cj Bj,Ξ (t) = cr
j

(k−1) (k) (k)


ci := ωi,k (t)ci + (1 − ωi,k (t))ci−1 , k = p, p − 1, ...
convex combination

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.17/56


B-splines: evaluation
(p) t−ξi (p−1) ξi+p −t (p−1)
Bi,Ξ (t) := ξi+p−1 −ξi i,Ξ (t)
B + ξi+p −ξi+1 i+1,Ξ (t)
B
(p) (p−1) (p−1) t−ξi
Bi,Ξ (t) := ωi,p (t)Bi,Ξ (t) + (1 − ωi+1,p (t))Bi+1,Ξ (t) ωi,p (t) := ξi+p−1 −ξi

(p) (p)
X
C(t) := ci Bi,Ξ (t), t ∈ [ξr , ξr+1 )

(p) (p) (p−1) (p−1) (p−1) (p−1)


X X X
ci Bi,Ξ (t) = ci [ωi,p (t)Bi,Ξ (t)+(1−ωi+1,p (t))Bi+1,Ξ (t)] = cj Bj,Ξ (t)
i i j

(1) (1) (1)


X
= ··· = cj Bj,Ξ (t) = cr
j

(k−1) (k) (k)


ci := ωi,k (t)ci + (1 − ωi,k (t))ci−1 , k = p, p − 1, ...
convex combination

de Boor Algorithm
A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.17/56
B-splines: properties
(p) t−ξi (p−1) ξi+p −t (p−1)
Bi,Ξ (t) := ξi+p−1 −ξi i,Ξ (t)
B + ξi+p −ξi+1 i+1,Ξ (t)
B
1 1 1 1

0.9 0.9 0.9 0.9

0.8 0.8 0.8 0.8

0.7 0.7 0.7 0.7

0.6 0.6 0.6 0.6

0.5 0.5 0.5 0.5

0.4 0.4 0.4 0.4

0.3 0.3 0.3 0.3

0.2 0.2 0.2 0.2

0.1 0.1 0.1 0.1

0 0 0 0
0 1 2 3 4 5 0 1 2 3 4 5 6 0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8 9

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.18/56


B-splines: properties
(p) t−ξi (p−1) ξi+p −t (p−1)
Bi,Ξ (t) := ξi+p−1 −ξi i,Ξ (t)
B + ξi+p −ξi+1 i+1,Ξ (t)
B
1 1 1 1

0.9 0.9 0.9 0.9

0.8 0.8 0.8 0.8

0.7 0.7 0.7 0.7

0.6 0.6 0.6 0.6

0.5 0.5 0.5 0.5

0.4 0.4 0.4 0.4

0.3 0.3 0.3 0.3

0.2 0.2 0.2 0.2

0.1 0.1 0.1 0.1

0 0 0 0
0 1 2 3 4 5 0 1 2 3 4 5 6 0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8 9

(p)
p.p. Bi,Ξ ∈ IPp , t ∈ [ξj , ξj+1 ]

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.18/56


B-splines: properties
(p) t−ξi (p−1) ξi+p −t (p−1)
Bi,Ξ (t) := ξi+p−1 −ξi i,Ξ (t)
B + ξi+p −ξi+1 i+1,Ξ (t)
B
1 1 1 1

0.9 0.9 0.9 0.9

0.8 0.8 0.8 0.8

0.7 0.7 0.7 0.7

0.6 0.6 0.6 0.6

0.5 0.5 0.5 0.5

0.4 0.4 0.4 0.4

0.3 0.3 0.3 0.3

0.2 0.2 0.2 0.2

0.1 0.1 0.1 0.1

0 0 0 0
0 1 2 3 4 5 0 1 2 3 4 5 6 0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8 9

(p)
p.p. Bi,Ξ ∈ IPp , t ∈ [ξj , ξj+1 ]
(p)
positivity Bi,Ξ ≥ 0

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.18/56


B-splines: properties
(p) t−ξi (p−1) ξi+p −t (p−1)
Bi,Ξ (t) := ξi+p−1 −ξi i,Ξ (t)
B + ξi+p −ξi+1 i+1,Ξ (t)
B
1 1 1 1

0.9 0.9 0.9 0.9

0.8 0.8 0.8 0.8

0.7 0.7 0.7 0.7

0.6 0.6 0.6 0.6

0.5 0.5 0.5 0.5

0.4 0.4 0.4 0.4

0.3 0.3 0.3 0.3

0.2 0.2 0.2 0.2

0.1 0.1 0.1 0.1

0 0 0 0
0 1 2 3 4 5 0 1 2 3 4 5 6 0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8 9

(p)
p.p. Bi,Ξ ∈ IPp , t ∈ [ξj , ξj+1 ]
(p)
positivity
1

Bi,Ξ ≥0 p=3

compact (minimum) support


(p)
Bi,Ξ (t) = 0, t ∈
/ [ξi , ξi+p ]

0
(p)
Bi,Ξ (t) = 0, t ∈ [ξr , ξr+1 ], i 6= r, r−1, .., r−p+1 ξ
i
ξ
i+1
ξ
i+2
ξ
i+3

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.18/56


B-splines: a special case

Ξ := {ξ1 = 0 = · · · = 0 = ξp < ξp+1 = 1 = · · · = 1 = ξp+p } knots



1 if t ∈ [ξi , ξi+1 )
(1)
Bi,Ξ (t) :=
0 elsewhere

(p) t−ξi (p−1) ξi+p −t (p−1)


Bi,Ξ (t) := ξi+p−1 −ξi i,Ξ (t)
B + ξi+p −ξi+1 i+1,Ξ (t)
B

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.19/56


B-splines: a special case

Ξ := {ξ1 = 0 = · · · = 0 = ξp < ξp+1 = 1 = · · · = 1 = ξp+p } knots



1 if t ∈ [ξi , ξi+1 )
(1)
Bi,Ξ (t) :=
0 elsewhere

(p) t−ξi (p−1) ξi+p −t (p−1)


Bi,Ξ (t) := ξi+p−1 −ξi i,Ξ (t)
B + ξi+p −ξi+1 i+1,Ξ (t)
B
1

0.9

0.8

0.7

0.6

0.5

0.4

0.3

0.2

0.1

0
0 0.2 0.4 0.6 0.8 1

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.19/56


B-splines: a special case

Ξ := {ξ1 = 0 = · · · = 0 = ξp < ξp+1 = 1 = · · · = 1 = ξp+p } knots



1 if t ∈ [ξi , ξi+1 )
(1)
Bi,Ξ (t) :=
0 elsewhere

(p) t−ξi (p−1) ξi+p −t (p−1)


Bi,Ξ (t) := ξi+p−1 −ξi i,Ξ (t)
B + ξi+p −ξi+1 i+1,Ξ (t)
B
1 1

0.9 0.9

0.8 0.8

0.7 0.7

0.6 0.6

0.5 0.5

0.4 0.4

0.3 0.3

0.2 0.2

0.1 0.1

0 0
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.19/56


B-splines: a special case

Ξ := {ξ1 = 0 = · · · = 0 = ξp < ξp+1 = 1 = · · · = 1 = ξp+p } knots



1 if t ∈ [ξi , ξi+1 )
(1)
Bi,Ξ (t) :=
0 elsewhere

(p) t−ξi (p−1) ξi+p −t (p−1)


Bi,Ξ (t) := ξi+p−1 −ξi i,Ξ (t)
B + ξi+p −ξi+1 i+1,Ξ (t)
B
1 1 1

0.9 0.9 0.9

0.8 0.8 0.8

0.7 0.7 0.7

0.6 0.6 0.6

0.5 0.5 0.5

0.4 0.4 0.4

0.3 0.3 0.3

0.2 0.2 0.2

0.1 0.1 0.1

0 0 0
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.19/56


B-splines: a special case

Ξ := {ξ1 = 0 = · · · = 0 = ξp < ξp+1 = 1 = · · · = 1 = ξp+p } knots



1 if t ∈ [ξi , ξi+1 )
(1)
Bi,Ξ (t) :=
0 elsewhere

(p) t−ξi (p−1) ξi+p −t (p−1)


Bi,Ξ (t) := ξi+p−1 −ξi i,Ξ (t)
B + ξi+p −ξi+1 i+1,Ξ (t)
B
1 1 1

0.9 0.9 0.9

0.8 0.8 0.8

0.7 0.7 0.7

0.6 0.6 0.6

0.5 0.5 0.5

0.4 0.4 0.4

0.3 0.3 0.3

0.2 0.2 0.2

0.1 0.1 0.1

0 0 0
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1

Bernstein polynomials

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.19/56


B-splines: properties ...
(p) t−ξi (p−1) ξi+p −t (p−1)
Bi,Ξ (t) := ξi+p−1 −ξi i,Ξ (t)
B + ξi+p −ξi+1 i+1,Ξ (t)
B

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.20/56


B-splines: properties ...
(p) (p−1) (p−1)
Bi,Ξ (t) := ωi,p (t)Bi,Ξ (t) + (1 − ωi+1,p (t))Bi+1,Ξ (t)
t−ξi
ωi,p (t) := ξi+p−1 −ξi

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.20/56


B-splines: properties ...
(p) (p−1) (p−1)
Bi,Ξ (t) := ωi,p (t)Bi,Ξ (t) + (1 − ωi+1,p (t))Bi+1,Ξ (t)
t−ξi
ωi,p (t) := ξi+p−1 −ξi

ψip (τ ) := (ξi+1 − τ ) · · · (ξi+p−1 − τ ), ψi1 (τ ) = 1

ωip ψip (τ ) + (1 − ωip )ψi−1,p = (t − τ )ψi,p−1 (τ )

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.20/56


B-splines: properties ...
(p) (p−1) (p−1)
Bi,Ξ (t) := ωi,p (t)Bi,Ξ (t) + (1 − ωi+1,p (t))Bi+1,Ξ (t)
t−ξi
ωi,p (t) := ξi+p−1 −ξi

ψip (τ ) := (ξi+1 − τ ) · · · (ξi+p−1 − τ ), ψi1 (τ ) = 1

ωip ψip (τ ) + (1 − ωip )ψi−1,p = (t − τ )ψi,p−1 (τ )

P (p) P (p−1) (p−1)


i ψip (τ )Bi,Ξ (t) = i ψip (τ )[(ωi,p (t)Bi,Ξ (t) + (1 − ωi+1,p (t))Bi+1,Ξ (t)] =

P (p−1)
i [ωip ψip (τ ) + (1 − ωip )ψi−1,p ]Bi,Ξ (t) =

Pn (p−1) (1)
(t) = ... = (t − τ )p−1
P
(t − τ ) i=1 ψi,p−1 (τ )Bi,Ξ i ψi,1 (τ )Bi,Ξ (t)

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.20/56


B-splines: properties ...
(p) (p−1) (p−1)
Bi,Ξ (t) := ωi,p (t)Bi,Ξ (t) + (1 − ωi+1,p (t))Bi+1,Ξ (t)
t−ξi
ωi,p (t) := ξi+p−1 −ξi

ψip (τ ) := (ξi+1 − τ ) · · · (ξi+p−1 − τ ), ψi1 (τ ) = 1

ωip ψip (τ ) + (1 − ωip )ψi−1,p = (t − τ )ψi,p−1 (τ )

P (p) P (p−1) (p−1)


i ψip (τ )Bi,Ξ (t) = i ψip (τ )[(ωi,p (t)Bi,Ξ (t) + (1 − ωi+1,p (t))Bi+1,Ξ (t)] =

P (p−1)
i [ωip ψip (τ ) + (1 − ωip )ψi−1,p ]Bi,Ξ (t) =

Pn (p−1) (1)
(t) = ... = (t − τ )p−1
P
(t − τ ) i=1 ψi,p−1 (τ )Bi,Ξ i ψi,1 (τ )Bi,Ξ (t)

(p)
τ )p−1
P
(t − = i ψip (τ )Bi,Ξ (t), t ∈ [ξp , ξn+1 ]

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.20/56


B-splines: properties ...
(p)
τ )p−1
P
(t − = i ψip (τ )Bi,Ξ (t), t ∈ [ξp , ξn+1 ]

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.21/56


B-splines: properties ...
(p)
τ )p−1
P
(t − = i ψip (τ )Bi,Ξ (t), t ∈ [ξp , ξn+1 ]
Taylor exp. ⇒ Marsden’s identity:
n
(p)
X
q(t) = λip (q)Bi,Ξ (t), ∀q ∈ IPp , t ∈ [ξp , ξn+1 ]
i=1
p
X (−D)r−1 ψip (τ ) p−r
λip (f ) := D f (τ ), ψip (τ ) := (ξi+1 − τ ) · · · (ξi+p−1 − τ )
r=1
(p − 1)!

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.21/56


B-splines: properties ...
(p)
τ )p−1
P
(t − = i ψip (τ )Bi,Ξ (t), t ∈ [ξp , ξn+1 ]
Taylor exp. ⇒ Marsden’s identity:
n
(p)
X
q(t) = λip (q)Bi,Ξ (t), ∀q ∈ IPp , t ∈ [ξp , ξn+1 ]
i=1
p
X (−D)r−1 ψip (τ ) p−r
λip (f ) := D f (τ ), ψip (τ ) := (ξi+1 − τ ) · · · (ξi+p−1 − τ )
r=1
(p − 1)!

1
q(t) = 1 ⇒ λip (q) = 1 ⇒ (local) p. unity
n
(p)
X
1= Bi,Ξ (t), t ∈ [ξp , ξn+1 ],
i=1

i
(p)
X
1= Br,Ξ (t), t ∈ [ξi , ξi+1 ],
r=i−p+1 0

ξ ξ ξ
i−2 i i+1

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.21/56


B-splines: properties ...
(p)
τ )p−1
P
(t − = i ψip (τ )Bi,Ξ (t), t ∈ [ξp , ξn+1 ]
Taylor exp. ⇒ Marsden’s identity:
n
(p)
X
q(t) = λip (q)Bi,Ξ (t), ∀q ∈ IPp , t ∈ [ξp , ξn+1 ]
i=1
p
X (−D)r−1 ψip (τ ) p−r
λip (f ) := D f (τ ), ψip (τ ) := (ξi+1 − τ ) · · · (ξi+p−1 − τ )
r=1
(p − 1)!

ξi+1 +···+ξi+p−1
q(t) = t ⇒ λip (q) = p−1
=: ξi∗ Greville abscissas
n
(p)
X
t= ξi∗ Bi,Ξ (t), t ∈ [ξp , ξn+1 ]
i=1

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.21/56


B-splines: properties ...
(p)
τ )p−1
P
(t − = i ψip (τ )Bi,Ξ (t), t ∈ [ξp , ξn+1 ]
Taylor exp. ⇒ Marsden’s identity:
n
(p)
X
q(t) = λip (q)Bi,Ξ (t), ∀q ∈ IPp , t ∈ [ξp , ξn+1 ]
i=1
p
X (−D)r−1 ψip (τ ) p−r
λip (f ) := D f (τ ), ψip (τ ) := (ξi+1 − τ ) · · · (ξi+p−1 − τ )
r=1
(p − 1)!

P (p)
SΞ,p := { j cj Bj,Ξ }

(p)
X
f (t) = λip (f )Bi,Ξ (t), ∀f ∈ SΞ,p ,
i

projector: de Boor-Fix

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.21/56


B-splines: properties ...
positivity+ (local) p. unity ⇒ (local) convex hull

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.22/56


B-splines: properties ...
positivity+ (local) p. unity ⇒ (local) convex hull
curves in Rd c
i−1
p=3

n
(p)
X
C(t) := ci Bi,Ξ (t), ci ∈ Rd control points
i=1
c
i

t ∈ [ξi , ξi+1 ] ⇒ only ci−p+1 , · · · ci−1 , ci act .

c
i−2

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.22/56


B-splines: properties ...
positivity+ (local) p. unity ⇒ (local) convex hull
curves in Rd c
i−1
p=3

n
(p)
X
C(t) := ci Bi,Ξ (t), ci ∈ Rd control points
i=1
c
i

t ∈ [ξi , ξi+1 ] ⇒ only ci−p+1 , · · · ci−1 , ci act .

c
i−2

3.5

scalar functions 2.5


p=4

    2
n
t X ξi∗ (p) 1.5
 =   Bi,Ξ (t),
f (t) ci c
i=1 1 6

0.5
*
ξ2
t ∈ [ξi , ξi+1 ] ⇒ only ci−p+1 , · · · , ci−1 , ci act 0
*
ξ =ξ ξ ξ =ξn=ξ
1 4 6 n+1 n+4
−0.5
0 1 2 3 4 5 6 7

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.22/56


B-splines: properties ...
positivity+ (local) p. unity ⇒ (local) convex hull
curves in Rd c
i−1
p=3

n
(p)
X
C(t) := ci Bi,Ξ (t), ci ∈ Rd control points
i=1
c
i

t ∈ [ξi , ξi+1 ] ⇒ only ci−p+1 , · · · ci−1 , ci act .

Cp,Ξ c
i−2

3.5

scalar functions 2.5


p=4

    2
n
t X ξi∗ (p) 1.5
 =   Bi,Ξ (t),
f (t) ci c
i=1 1 6

0.5
*
ξ2
t ∈ [ξi , ξi+1 ] ⇒ only ci−p+1 , · · · , ci−1 , ci act 0
*
ξ =ξ ξ ξ =ξn=ξ
1 4 6 n+1 n+4
−0.5
0 1 2 3 4 5 6 7

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.22/56


B-splines: knots multiplicity
Given:
Ξ̂ := {ξ̂1 < ξ̂2 < · · · < ξ̂l+1 }, break − points

ν := {ν2 , · · · , νl , }, #smootness − conditions

ν
Pp, := {s : s|[ξ̂ ∈ IPp , s(j) (ξ̂i+ ) = s(j) (ξ̂i− ), j = 0, · · · , νi −1, i = 2, · · · , l} =: p.p.
Ξ̂ i ,ξ̂i+1 ]

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.23/56


B-splines: knots multiplicity
Given:
Ξ̂ := {ξ̂1 < ξ̂2 < · · · < ξ̂l+1 }, break − points

ν := {ν2 , · · · , νl , }, #smootness − conditions

ν
Pp, := {s : s|[ξ̂ ∈ IPp , s(j) (ξ̂i+ ) = s(j) (ξ̂i− ), j = 0, · · · , νi −1, i = 2, · · · , l} =: p.p.
Ξ̂ i ,ξ̂i+1 ]

Put:
Ξ := {ξ1 ≤ ξ2 ≤ · · · ≤ ξn+p }
ξ1 · · · < ξp ≤ ξ̂1 ≤ · · · ≤ ξ̂l+1 ≤ ξn+1 ≤ ξn+p

ξ̂j , occurs p − νj times in Ξ, j = 2, · · · , l

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.23/56


B-splines: knots multiplicity
Given:
Ξ̂ := {ξ̂1 < ξ̂2 < · · · < ξ̂l+1 }, break − points

ν := {ν2 , · · · , νl , }, #smootness − conditions

ν
Pp, := {s : s|[ξ̂ ∈ IPp , s(j) (ξ̂i+ ) = s(j) (ξ̂i− ), j = 0, · · · , νi −1, i = 2, · · · , l} =: p.p.
Ξ̂ i ,ξ̂i+1 ]

Put:
Ξ := {ξ1 ≤ ξ2 ≤ · · · ≤ ξn+p }
ξ1 · · · < ξp ≤ ξ̂1 ≤ · · · ≤ ξ̂l+1 ≤ ξn+1 ≤ ξn+p

ξ̂j , occurs p − νj times in Ξ, j = 2, · · · , l

(p) (p)
⇒ {B1,Ξ , · · · , Bn,Ξ } is a basis of Pp,
ν
Ξ̂
(Curry-Schoenberg)

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.23/56


B-splines: knots multiplicity
Given:
Ξ̂ := {ξ̂1 < ξ̂2 < · · · < ξ̂l+1 }, break − points

ν := {ν2 , · · · , νl , }, #smootness − conditions

ν
Pp, := {s : s|[ξ̂ ∈ IPp , s(j) (ξ̂i+ ) = s(j) (ξ̂i− ), j = 0, · · · , νi −1, i = 2, · · · , l} =: p.p.
Ξ̂ i ,ξ̂i+1 ]

Put:
Ξ := {ξ1 ≤ ξ2 ≤ · · · ≤ ξn+p }
ξ1 · · · < ξp ≤ ξ̂1 ≤ · · · ≤ ξ̂l+1 ≤ ξn+1 ≤ ξn+p

ξ̂j , occurs p − νj times in Ξ, j = 2, · · · , l

B-splines are a basis for p.p.

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.23/56


B-splines: knots multiplicity
Given:
Ξ̂ := {ξ̂1 < ξ̂2 < · · · < ξ̂l+1 }, break − points

ν := {ν2 , · · · , νl , }, #smootness − conditions

ν
Pp, := {s : s|[ξ̂ ∈ IPp , s(j) (ξ̂i+ ) = s(j) (ξ̂i− ), j = 0, · · · , νi −1, i = 2, · · · , l} =: p.p.
Ξ̂ i ,ξ̂i+1 ]

Put:
Ξ := {ξ1 ≤ ξ2 ≤ · · · ≤ ξn+p }
ξ1 · · · < ξp ≤ ξ̂1 ≤ · · · ≤ ξ̂l+1 ≤ ξn+1 ≤ ξn+p

ξ̂j , occurs p − νj times in Ξ, j = 2, · · · , l

B-splines are a basis for p.p.


(p) (p) (p) (p)
< B1,Ξ , · · · , Bn,Ξ > |[ξr ,ξr+1 ) =< Br−p+1,Ξ , · · · , Br,Ξ >≡ IPp |[ξr ,ξr+1 ) ⇒
(p) (p)
{B1,Ξ , · · · , Bn,Ξ } are locally lin. independent

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.23/56


B-splines: knots multiplicity ...

· · · < ξj = ξj+1 = · · · = ξj+ρi −1 < ξj+ρj , 1 ≤ ρj ≤ p multiplicity

(p)
Bi,Ξ is (at least) of class C p−ρj −1 at ξj

(p − ρj − 1 + 1) + ρj = p

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.24/56


B-splines: knots multiplicity ...

· · · < ξj = ξj+1 = · · · = ξj+ρi −1 < ξj+ρj , 1 ≤ ρj ≤ p multiplicity

(p)
Bi,Ξ is (at least) of class C p−ρj −1 at ξj

(p − ρj − 1 + 1) + ρj = p

# smoothness cond. + knot multiplicity=order

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.24/56


B-splines: knots multiplicity ...

· · · < ξj = ξj+1 = · · · = ξj+ρi −1 < ξj+ρj , 1 ≤ ρj ≤ p multiplicity

(p)
Bi,Ξ is (at least) of class C p−ρj −1 at ξj

(p − ρj − 1 + 1) + ρj = p

# smoothness cond. + knot multiplicity=order

1 1 1 1
p=4 p=4 p=4 p=4
0.9 0.9 0.9 0.9

0.8 0.8 0.8 0.8

0.7 0.7 0.7 0.7

0.6 0.6 0.6 0.6

0.5 0.5 0.5 0.5

0.4 0.4 0.4 0.4

0.3 0.3 0.3 0.3

0.2 0.2 0.2 0.2

0.1 0.1 0.1 0.1

0 0 0 0
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7

Ξ = [0, 1, 2, 3, 4, 5, 6, 7], [0, 1, 2, 3.9, 4, 5, 6, 7], [0, 1, 2, 4, 4, 5, 6, 7], [0, 1, 2, 4, 4, 4, 6, 7]

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.24/56


B-splines: knot insertion

(p)
X
Ξ := {· · · ≤ ξi ≤ ξi+1 ≤ · · · } ⊂ {· · · ≤ ξi ≤ ξ̄ ≤ ξi+1 ≤ · · · } =: Ξ̄, SΞ,p := { cj Bj,Ξ }
j

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.25/56


B-splines: knot insertion

(p)
X
Ξ := {· · · ≤ ξi ≤ ξi+1 ≤ · · · } ⊂ {· · · ≤ ξi ≤ ξ̄ ≤ ξi+1 ≤ · · · } =: Ξ̄, SΞ,p := { cj Bj,Ξ }
j

SΞ,p ⊂ SΞ̄,p

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.25/56


B-splines: knot insertion

(p)
X
Ξ := {· · · ≤ ξi ≤ ξi+1 ≤ · · · } ⊂ {· · · ≤ ξi ≤ ξ̄ ≤ ξi+1 ≤ · · · } =: Ξ̄, SΞ,p := { cj Bj,Ξ }
j

SΞ,p ⊂ SΞ̄,p

(p) (p)
X X
cj Bj,Ξ = c̄j Bj,Ξ̄
j j

c̄j = γj,p cj + (1 − γj,p )cj−1




 1 ξj+p−1 ≤ ξ̄

ξ̄−ξj
γj,p := ξj < ξ̄ < ξj+p−1
 ξj+p−1 −ξj

0 ξ̄ ≤ tj

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.25/56


B-splines: knot insertion

(p)
X
Ξ := {· · · ≤ ξi ≤ ξi+1 ≤ · · · } ⊂ {· · · ≤ ξi ≤ ξ̄ ≤ ξi+1 ≤ · · · } =: Ξ̄, SΞ,p := { cj Bj,Ξ }
j

SΞ,p ⊂ SΞ̄,p

(p) (p)
X X
cj Bj,Ξ = c̄j Bj,Ξ̄
j j

c̄j = γj,p cj + (1 − γj,p )cj−1




 1 ξj+p−1 ≤ ξ̄

ξ̄−ξj
γj,p := ξj < ξ̄ < ξj+p−1
 ξj+p−1 −ξj

0 ξ̄ ≤ tj

the new c.p. interpolates the old one at the new Greville abscissas

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.25/56


B-splines: knot insertion ...
the new contr. pol. interpolates the old one at the new Greville abscissas

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.26/56


B-splines: knot insertion ...
the new contr. pol. interpolates the old one at the new Greville abscissas

2.5

1.5

0.5

0 1 2 3 4 5 6

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.26/56


B-splines: knot insertion ...
the new contr. pol. interpolates the old one at the new Greville abscissas

3 3

2.5 2.5

2 2

1.5 1.5

1 1

0.5 0.5

0 0

0 1 2 3 4 5 6 0 1 2 3 4 5 6

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.26/56


B-splines: knot insertion ...
the new contr. pol. interpolates the old one at the new Greville abscissas

3 3

2.5 2.5

2 2

1.5 1.5

1 1

0.5 0.5

0 0

0 1 2 3 4 5 6 0 1 2 3 4 5 6

2.5

1.5

0.5

0 1 2 3 4 5 6

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.26/56


B-splines: knot insertion ...
the new contr. pol. interpolates the old one at the new Greville abscissas

3 3

2.5 2.5

2 2

1.5 1.5

1 1

0.5 0.5

0 0

0 1 2 3 4 5 6 0 1 2 3 4 5 6

3 3

2.5 2.5

2 2

1.5 1.5

1 1

0.5 0.5

0 0

0 1 2 3 4 5 6 0 1 2 3 4 5 6

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.26/56


B-splines: iterating knot insertion

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.27/56


B-splines: iterating knot insertion

2.5

1.5

0.5

0 1 2 3 4 5 6

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.27/56


B-splines: iterating knot insertion

3 3

2.5 2.5

2 2

1.5 1.5

1 1

0.5 0.5

0 0

0 1 2 3 4 5 6 0 1 2 3 4 5 6

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.27/56


B-splines: iterating knot insertion

3 3

2.5 2.5

2 2

1.5 1.5

1 1

0.5 0.5

0 0

0 1 2 3 4 5 6 0 1 2 3 4 5 6

2.5

1.5

0.5

0 1 2 3 4 5 6

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.27/56


B-splines: iterating knot insertion

3 3

2.5 2.5

2 2

1.5 1.5

1 1

0.5 0.5

0 0

0 1 2 3 4 5 6 0 1 2 3 4 5 6

3 3

2.5 2.5

2 2

1.5 1.5

1 1

0.5 0.5

0 0

0 1 2 3 4 5 6 0 1 2 3 4 5 6

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.27/56


B-splines: iterating knot insertion corner cutting

3 3

2.5 2.5

2 2

1.5 1.5

1 1

0.5 0.5

0 0

0 1 2 3 4 5 6 0 1 2 3 4 5 6

3 3

2.5 2.5

2 2

1.5 1.5

1 1

0.5 0.5

0 0

0 1 2 3 4 5 6 0 1 2 3 4 5 6

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.27/56


B-splines: iterating knot insertion corner cutting
the finer the knot sequence, the closer is the control polygon to the function being represented

3 3

2.5 2.5

2 2

1.5 1.5

1 1

0.5 0.5

0 0

0 1 2 3 4 5 6 0 1 2 3 4 5 6

3 3

2.5 2.5

2 2

1.5 1.5

1 1

0.5 0.5

0 0

0 1 2 3 4 5 6 0 1 2 3 4 5 6

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.27/56


B-splines: iterating knot insertion
the finer the knot sequence, the closer is the control polygon to the function being represented

kf − Cp,Ξ k ≤ const|Ξ|2 kD2 f k,


|Ξ| := max(ξi+1 − ξi )
i

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.28/56


B-splines: iterating knot insertion
the finer the knot sequence, the closer is the control polygon to the function being represented

kf − Cp,Ξ k ≤ const|Ξ|2 kD2 f k,


|Ξ| := max(ξi+1 − ξi )
i


convergence under knot refinement

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.28/56


B-splines: iterating knot insertion
the finer the knot sequence, the closer is the control polygon to the function being represented

kf − Cp,Ξ k ≤ const|Ξ|2 kD2 f k,


|Ξ| := max(ξi+1 − ξi )
i

CAGD: knot insertion/knot refinement


l
Isogeometric Analysis: h-refinement

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.28/56


B-splines: iterating knot insertion corner cutting
the finer the knot sequence, the closer is the control polygon to the function being represented

kf − Cp,Ξ k ≤ const|Ξ|2 kD2 f k,


|Ξ| := max(ξi+1 − ξi )
i

CAGD: knot insertion/knot refinement


l
Isogeometric Analysis: h-refinement

knot refinement: successive convex combinations

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.28/56


B-splines: more on knot insertion
(p)
X
Ξ := {· · · ≤ ξi ≤ ξi+1 ≤ · · · } ⊂ {· · · ≤ ξi ≤ ξ̄ ≤ ξi+1 ≤ · · · } =: Ξ̄, SΞ,p := { cj Bj,Ξ }
j

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.29/56


B-splines: more on knot insertion
(p)
X
Ξ := {· · · ≤ ξi ≤ ξi+1 ≤ · · · } ⊂ {· · · ≤ ξi ≤ ξ̄ ≤ ξi+1 ≤ · · · } =: Ξ̄, SΞ,p := { cj Bj,Ξ }
j

P (p) P (p)
j c j B j,Ξ = j c̄j Bj,Ξ̄ , c̄j = γj,p cj + (1 − γj,p )cj−1 ,

# sign ch. (...c̄j ...) ≤ # sign ch. (..., cj , ...).

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.29/56


B-splines: more on knot insertion
(p)
X
Ξ := {· · · ≤ ξi ≤ ξi+1 ≤ · · · } ⊂ {· · · ≤ ξi ≤ ξ̄ ≤ ξi+1 ≤ · · · } =: Ξ̄, SΞ,p := { cj Bj,Ξ }
j

P (p) P (p)
j c j B j,Ξ = j c̄j Bj,Ξ̄ , c̄j = γj,p cj + (1 − γj,p )cj−1 ,

# sign ch. (...c̄j ...) ≤ # sign ch. (..., cj , ...). 1

0.9
p=4
0.8

x := ξi = ξi+1 = · · · = ξi+p−2 < ξi+p−1 0.7

0.6

0.5

⇓ 0.4

0.3

0.2

0.1
P (p) (p)
c B
j j j,Ξ (x) = c i−1 i−1,Ξ (x) = ci−1
B 0
0 1 2 3 4 5 6 7

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.29/56


B-splines: more on knot insertion
(p)
X
Ξ := {· · · ≤ ξi ≤ ξi+1 ≤ · · · } ⊂ {· · · ≤ ξi ≤ ξ̄ ≤ ξi+1 ≤ · · · } =: Ξ̄, SΞ,p := { cj Bj,Ξ }
j

P (p) P (p)
j c j B j,Ξ = j c̄j Bj,Ξ̄ , c̄j = γj,p cj + (1 − γj,p )cj−1 ,

# sign ch. (...c̄j ...) ≤ # sign ch. (..., cj , ...). 1

0.9
p=4
0.8

x := ξi = ξi+1 = · · · = ξi+p−2 < ξi+p−1 0.7

0.6

0.5

⇓ 0.4

0.3

0.2

0.1
P (p) (p)
c B
j j j,Ξ (x) = c i−1 i−1,Ξ (x) = ci−1
B 0
0 1 2 3 4 5 6 7

evaluation at t = x :
insert x in Ξ p − 1 times and take the coeff.

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.29/56


B-splines: more on knot insertion
(p)
X
Ξ := {· · · ≤ ξi ≤ ξi+1 ≤ · · · } ⊂ {· · · ≤ ξi ≤ ξ̄ ≤ ξi+1 ≤ · · · } =: Ξ̄, SΞ,p := { cj Bj,Ξ }
j

P (p) P (p)
j c j B j,Ξ = j c̄j Bj,Ξ̄ , c̄j = γj,p cj + (1 − γj,p )cj−1 ,

# sign ch. (...c̄j ...) ≤ # sign ch. (..., cj , ...). 1

0.9
p=4
0.8

x := ξi = ξi+1 = · · · = ξi+p−2 < ξi+p−1 0.7

0.6

0.5

⇓ 0.4

0.3

0.2

0.1
P (p) (p)
c B
j j j,Ξ (x) = c i−1 i−1,Ξ (x) = ci−1
B 0
0 1 2 3 4 5 6 7

evaluation at t = x :
insert x in Ξ p − 1 times and take the coeff.

(p)
# sign ch. ( j cj Bj,Ξ (t))≤ # sign ch. (..., cj , ...)
P

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.29/56


B-splines: B-basis
(p) (p)
B1,Ξ · · · Bn,Ξ is a Totally Positive basis for SΞ,p

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.30/56


B-splines: B-basis
(p) (p)
B1,Ξ · · · Bn,Ξ is a Totally Positive basis for SΞ,p

(p) (p)
B1,Ξ · · · Bn,Ξ is the normalized B-basis for SΞ,p

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.30/56


B-splines: B-basis
(p) (p)
B1,Ξ · · · Bn,Ξ is a Totally Positive basis for SΞ,p

(p) (p)
B1,Ξ · · · Bn,Ξ is the normalized B-basis for SΞ,p

any collocation matrix is TP


optimal geometric and computational properties

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.30/56


B-splines: B-basis
(p) (p)
B1,Ξ · · · Bn,Ξ is a Totally Positive basis for SΞ,p

(p) (p)
B1,Ξ · · · Bn,Ξ is the normalized B-basis for SΞ,p

any collocation matrix is TP


optimal geometric and computational properties

all the given properties can be obtained by blossoms

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.30/56


B-splines: degree elevation

IPp ⊂ IPp+1

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.31/56


B-splines: degree elevation

IPp ⊂ IPp+1

# smoothness cond. + knot multiplicity=order

Ξ := {· · · < ξr = · · · = ξr+ρr −1 < · · · } ⊂ {· · · < ξr = · · · = ξr+ρr < · · · } =: Ξ̄

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.31/56


B-splines: degree elevation

IPp ⊂ IPp+1

# smoothness cond. + knot multiplicity=order

Ξ := {· · · < ξr = · · · = ξr+ρr −1 < · · · } ⊂ {· · · < ξr = · · · = ξr+ρr < · · · } =: Ξ̄

SΞ,p ⊂ SΞ̄,p+1

i+p
(p) 1 X (p+1)
Bi,[ξi ,··· ,ξi+p ] = Br,[ξi ,··· ,ξr ,ξr ,···ξi+p ]
p
r=i

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.31/56


B-splines: degree elevation

IPp ⊂ IPp+1

# smoothness cond. + knot multiplicity=order

Ξ := {· · · < ξr = · · · = ξr+ρr −1 < · · · } ⊂ {· · · < ξr = · · · = ξr+ρr < · · · } =: Ξ̄

SΞ,p ⊂ SΞ̄,p+1

i+p
(p) 1 X (p+1)
Bi,[ξi ,··· ,ξi+p ] = Br,[ξi ,··· ,ξr ,ξr ,···ξi+p ]
p
r=i

1 1 1 1

0.9 0.9 0.9 0.9

0.8 0.8 0.8 0.8

0.7 0.7 0.7 0.7

0.6 0.6 0.6 0.6

0.5 0.5 0.5 0.5

0.4 0.4 0.4 0.4

0.3 0.3 0.3 0.3

0.2 0.2 0.2 0.2

0.1 0.1 0.1 0.1

2 = + +
0 0 0 0
0 0.5 1 1.5 2 0 0.5 1 1.5 2 0 0.5 1 1.5 2 0 0.5 1 1.5 2

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.31/56


B-splines: iterating degree elevation
repeated degree elevation leads to a sequence of control. pol. that converges to the spline

 
1
kf − Cm,Ξ̄ k = O , f ∈ SΞ,p , m > p
m

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.32/56


B-splines: iterating degree elevation
repeated degree elevation leads to a sequence of control. pol. that converges to the spline

 
1
kf − Cm,Ξ̄ k = O , f ∈ SΞ,p , m > p
m


convergence under degree elevation

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.32/56


B-splines: iterating degree elevation
repeated degree elevation leads to a sequence of control. pol. that converges to the spline

 
1
kf − Cm,Ξ̄ k = O , f ∈ SΞ,p , m > p
m
CAGD: degree elevation/degree raising

Isogeometric Analysis: p-refinement

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.32/56


B-splines: iterating degree elevation
repeated degree elevation leads to a sequence of control. pol. that converges to the spline

 
1
kf − Cm,Ξ̄ k = O , f ∈ SΞ,p , m > p
m
CAGD: degree elevation/degree raising

Isogeometric Analysis: p-refinement

degree elevation: blossoms

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.32/56


B-splines
(p) t−ξi (p−1) ξi+p −t (p−1)
Bi,Ξ (t) := ξi+p−1 −ξi i,Ξ (t)
B + ξi+p −ξi+1 i+1,Ξ (t)
B

Derivatives:
P (p) P ci −ci−1 (p−1)
D( i ci Bi,Ξ (t)) = i (p − 1) ξi+p−1 −ξi i,Ξ (t)
B
(p) 1 (p−1) 1 (p−1)
(Bi,Ξ )0 (t) = (p − 1)[ ξi+p−1 −ξi Bi,Ξ (t) − ξi+p −ξi+1 i+1,Ξ (t)]
B

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.33/56


B-splines
(p) t−ξi (p−1) ξi+p −t (p−1)
Bi,Ξ (t) := ξi+p−1 −ξi i,Ξ (t)
B + ξi+p −ξi+1 i+1,Ξ (t)
B

Derivatives:
P (p) P ci −ci−1 (p−1)
D( i ci Bi,Ξ (t)) = i (p − 1) ξi+p−1 −ξi i,Ξ (t)
B
(p) 1 (p−1) 1 (p−1)
(Bi,Ξ )0 (t) = (p − 1)[ ξi+p−1 −ξi Bi,Ξ (t) − ξi+p −ξi+1 i+1,Ξ (t)]
B
linear quadratic cubic
2−fold 3−fold 4−fold

B
B

DB
DB

D2B 2
D B

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.33/56


B-splines
(p) t−ξi (p−1) ξi+p −t (p−1)
Bi,Ξ (t) := ξi+p−1 −ξi i,Ξ (t)
B + ξi+p −ξi+1 i+1,Ξ (t)
B

Derivatives:
P (p) P ci −ci−1 (p−1)
D( i ci Bi,Ξ (t)) = i (p − 1) ξi+p−1 −ξi i,Ξ (t)
B
(p) 1 (p−1) 1 (p−1)
(Bi,Ξ )0 (t) = (p − 1)[ ξi+p−1 −ξi Bi,Ξ (t) − ξi+p −ξi+1 i+1,Ξ (t)]
B

Integral recurrence relation:


(p) Rt (p−1) (p−1) Rt (p−1) (p−1)
Bi (t) = −∞ δi,Ξ Bi,Ξ (s)ds − −∞ δi+1,Ξ Bi+1,Ξ (s)ds
(p) 1
δi,Ξ := R (p)
+∞
−∞ Bi,Ξ (s)ds

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.33/56


B-splines
(p) t−ξi (p−1) ξi+p −t (p−1)
Bi,Ξ (t) := ξi+p−1 −ξi i,Ξ (t)
B + ξi+p −ξi+1 i+1,Ξ (t)
B

Derivatives:
X (p+1)
X ci − ci−1 (p)
D( ci Bi,Ξ (t)) = p Bi,Ξ (t)
ξi+p − ξi
i i

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.34/56


B-splines
(p) t−ξi (p−1) ξi+p −t (p−1)
Bi,Ξ (t) := ξi+p−1 −ξi i,Ξ (t)
B + ξi+p −ξi+1 i+1,Ξ (t)
B

Derivatives:
X (p+1)
X ci − ci−1 (p)
D( ci Bi,Ξ (t)) = p Bi,Ξ (t)
ξi+p − ξi
i i

Integration:
 
Z tX n r−1 i
(p)
X X ξp+j − ξj  (p+1)
ci Bi,Ξ (s)ds =  cj Bi,Ξ (t)
ξ1 i=1 p
i=1 j=1

ξ1 ≤ t ≤ ξ r

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.34/56


Tensor-product B-splines surfaces

Ξ := {ξ1 ≤ ξ2 ≤ · · · ≤ ξn+p }, Υ := {υ1 ≤ υ2 ≤ · · · ≤ υm+q }

n,m
(p) (q)
X
S(u, v) = ci,j Bi,Ξ (u)Bi,Υ (v)
i=1,j=1

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.35/56


Tensor-product B-splines surfaces

Ξ := {ξ1 ≤ ξ2 ≤ · · · ≤ ξn+p }, Υ := {υ1 ≤ υ2 ≤ · · · ≤ υm+q }

n,m
(p) (q)
X
S(u, v) = ci,j Bi,Ξ (u)Bi,Υ (v)
i=1,j=1

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.35/56


Tensor-product B-splines surfaces

Ξ := {ξ1 ≤ ξ2 ≤ · · · ≤ ξn+p }, Υ := {υ1 ≤ υ2 ≤ · · · ≤ υm+q }

n,m
(p) (q)
X
S(u, v) = ci,j Bi,Ξ (u)Bi,Υ (v)
i=1,j=1

−1

−2

−3

−4
5
0 25
10 15 20
−5 0 5

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.35/56


NURBS : Non Uniform Rational B-Splines
(p)
Given {Bi,Ξ (t), i = 1, · · · }, W := {wi ≥ 0, i = 1, · · · }, weights
(p)
(p) wi Bi,Ξ (t)
Ri,Ξ,W (t) := P (p)
n
j=1 wi Bi,Ξ (t)

NURBS: projective transformation of B-splines

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.36/56


NURBS : Non Uniform Rational B-Splines
(p)
Given {Bi,Ξ (t), i = 1, · · · }, W := {wi ≥ 0, i = 1, · · · }, weights
(p)
(p) wi Bi,Ξ (t)
Ri,Ξ,W (t) := P (p)
n
j=1 wi Bi,Ξ (t)

NURBS: projective transformation of B-splines


positivity
p. of unity
compact support
smoothness
...

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.36/56


NURBS : ...
quadratic NURBS exactly represent (segments of) conic
sections  
1−t2
Ex. unit circle 2t 1

,
1+t 1+t2
2
0.8

0.6

0.4

0.2

−0.2 0 0.2 0.4 0.6 0.8 1 1.2

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.37/56


NURBS : ...
quadratic NURBS exactly represent (segments of) conic
sections  
1−t2
Ex. unit circle 2t 1

,
1+t 1+t2
2
0.8

0.6

0.4

0.2

−0.2 0 0.2 0.4 0.6 0.8 1 1.2

NURBS possess nice properties of B-splines and allow


exact description of the geometry for a large set of objects
of practical interest

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.37/56


NURBS : ...
quadratic NURBS exactly represent (segments of) conic
sections  
1−t2
Ex. unit circle 2t 1

,
1+t 1+t2
2
0.8

0.6

0.4

0.2

−0.2 0 0.2 0.4 0.6 0.8 1 1.2

NURBS possess nice properties of B-splines and allow


exact description of the geometry for a large set of objects
of practical interest

NURBS are an efficient tool for Isogeometric Analysis

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.37/56


NURBS: parametrization of conic sections ...
1

0.8

0.6

0.4

0.2
 
0
1−t2 2t
−0.2
1+t2
, 1+t 2 : 200 “equispaced” points
−0.4

−0.6

−0.8

−1
−1 −0.5 0 0.5 1

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.38/56


NURBS: parametrization of conic sections ...
1

0.8

0.6

0.4

0.2
 
0
1−t2 2t
−0.2
1+t2
, 1+t 2 : 200 “equispaced” points
−0.4

−0.6

−0.8

−1
−1 −0.5 0 0.5 1
1

0.8

0.6

0.4

0.2

−0.2 (sin(t), cos(t)) : 200 equispaced points


−0.4

−0.6

−0.8

−1
−1 −0.5 0 0.5 1

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.38/56


NURBS: parametrization of conic sections ...
1

0.8

0.6

0.4

0.2

−0.2 NURBS parametrization t ∈ [0, 1] :


−0.4 100 “equispaced” points
−0.6

−0.8

−1
−1 −0.5 0 0.5 1

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.39/56


NURBS: parametrization of conic sections ...
1

0.8

0.6

0.4

0.2

−0.2 NURBS parametrization t ∈ [0, 1] :


−0.4 100 “equispaced” points
−0.6

−0.8

−1
−1 −0.5 0 0.5 1
1

0.8

0.6

0.4

0.2

−0.2 (sin(t), cos(t)) : 100 equispaced points


−0.4

−0.6

−0.8

−1
−1 −0.5 0 0.5 1

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.39/56


NURBS: parametrization of conic sections ...
1

0.8

0.6

0.4

0.2

−0.2 NURBS parametrization t ∈ [0, 1] :


−0.4 100 “equispaced” points
−0.6

−0.8

−1
−1 −0.5 0 0.5 1
1

0.8

0.6

0.4

0.2

−0.2 (sin(t), cos(t)) : 100 equispaced points


−0.4

−0.6

−0.8

−1
−1 −0.5 0 0.5 1

only straight lines have rational repres. w.r.t. arc length


A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.39/56
Drawbacks of the rational model

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.40/56


Drawbacks of the rational model
rational curves require additional parameters (weights)
whose selection is often not clear

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.40/56


Drawbacks of the rational model
rational curves require additional parameters (weights)
whose selection is often not clear
the derivative of a degree-p integral curve is of degree
p − 1: the derivative of a degree-p rational curve is of
degree 2p...

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.40/56


Drawbacks of the rational model
rational curves require additional parameters (weights)
whose selection is often not clear
the derivative of a degree-p integral curve is of degree
p − 1: the derivative of a degree-p rational curve is of
degree 2p...
exact integration of rational curves is hard and requires
(whenever possible) non rational forms

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.40/56


Drawbacks of the rational model
rational curves require additional parameters (weights)
whose selection is often not clear
the derivative of a degree-p integral curve is of degree
p − 1: the derivative of a degree-p rational curve is of
degree 2p...
exact integration of rational curves is hard and requires
(whenever possible) non rational forms
the rational model cannot encompass transcendental
curves: many of them (helix, cicloid, ...) are of interest in
applications

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.40/56


Drawbacks of the rational model
rational curves require additional parameters (weights)
whose selection is often not clear
the derivative of a degree-p integral curve is of degree
p − 1: the derivative of a degree-p rational curve is of
degree 2p...
exact integration of rational curves is hard and requires
(whenever possible) non rational forms
the rational model cannot encompass transcendental
curves: many of them (helix, cicloid, ...) are of interest in
applications
parametrization of conic sections does not correspond to
natural arc-length parametrization: unevenly spaced
points

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.40/56


Alternatives to the rational model

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.41/56


Alternatives to the rational model
rational model

IPp → B − splines → NURBS

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.41/56


Alternatives to the rational model
rational model

IPp → B − splines → NURBS

alternative < 1, t, · · · , tp−3 , tp−2 , tp−1 >



< 1, t, · · · , tp−3 , u(t), v(t) > =: IPu,v
p , p≥4

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.41/56


Alternatives to the rational model
rational model

IPp → B − splines → NURBS

alternative < 1, t, · · · , tp−3 , tp−2 , tp−1 >



< 1, t, · · · , tp−3 , u(t), v(t) > =: IPu,v
p , p≥4

select IPu,v
p to exactly represent salient profiles

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.41/56


Alternatives to the rational model
rational model

IPp → B − splines → NURBS

alternative < 1, t, · · · , tp−3 , tp−2 , tp−1 >



< 1, t, · · · , tp−3 , u(t), v(t) > =: IPu,v
p , p≥4

select IPu,v
p to exactly represent salient profiles
construct a basis of IPu,v
p analogous to Bernstein
polynomials (B-basis)

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.41/56


Alternatives to the rational model
rational model

IPp → B − splines → NURBS

alternative < 1, t, · · · , tp−3 , tp−2 , tp−1 >



< 1, t, · · · , tp−3 , u(t), v(t) > =: IPu,v
p , p≥4

select IPu,v
p to exactly represent salient profiles
construct a basis of IPu,v
p analogous to Bernstein
polynomials (B-basis)
construct spline spaces with sections in IPu,v
p with
suitable bases for them (analogous to B-splines)

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.41/56


Alternatives to the rational model...
natural choices

IPu,v
p :=< 1, t, · · · , t p−3
, cos ωt, sin ωt >,

IPu,v
p :=< 1, t, · · · , t p−3
, cosh ωt, sinh ωt >,
conic sections, helix, cicloid ...

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.42/56


Alternatives to the rational model...
IPu,v
p :=< 1, t, · · · , t p−3 , u(t), v(t) >, p ≥ 3 t ∈ [0, 1]

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.43/56


Alternatives to the rational model...
IPu,v
p :=< 1, t, · · · , t p−3 , u(t), v(t) >, p ≥ 3 t ∈ [0, 1]

< u(p−2) , v (p−2) >Tchebycheff in [0, 1] (∀ element6= 0 has at most 1 zero)

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.43/56


Alternatives to the rational model...
IPu,v
p :=< 1, t, · · · , t p−3 , u(t), v(t) >, p ≥ 3 t ∈ [0, 1]

< u(p−2) , v (p−2) >Tchebycheff in [0, 1] (∀ element6= 0 has at most 1 zero)


p has Bernstein-like basis (B-basis=optimal)


IPu,v

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.43/56


Alternatives to the rational model...
IPu,v
p :=< 1, t, · · · , t p−3 , u(t), v(t) >, p ≥ 3 t ∈ [0, 1]

< u(p−2) , v (p−2) >Tchebycheff in [0, 1] (∀ element6= 0 has at most 1 zero)


p has Bernstein-like basis (B-basis=optimal)


IPu,v
Ex:
(u, v) = (cos ωt, sin ωt), 0 < ω < π
(u, v) = (cosh ωt, sinh ωt), 0 < ω
....

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.43/56


Alternatives to the rational model...
IPu,v
p :=< 1, t, · · · , t p−3 , u(t), v(t) >, p ≥ 3 t ∈ [0, 1]

< u(p−2) , v (p−2) >Tchebycheff in [0, 1] (∀ element6= 0 has at most 1 zero)


p has Bernstein-like basis (B-basis=optimal)


IPu,v
Ex:
(u, v) = (cos ωt, sin ωt), 0 < ω < π
(u, v) = (cosh ωt, sinh ωt), 0 < ω
....
TRIG
1

0.9
p=4
0.8
ω=π/4
0.7

0.6

0.5

0.4

0.3

0.2

0.1

0
0 0.2 0.4 0.6 0.8 1

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.43/56


Alternatives to the rational model...
IPu,v
p :=< 1, t, · · · , t p−3 , u(t), v(t) >, p ≥ 3 t ∈ [0, 1]

< u(p−2) , v (p−2) >Tchebycheff in [0, 1] (∀ element6= 0 has at most 1 zero)


p has Bernstein-like basis (B-basis=optimal)


IPu,v
Ex:
(u, v) = (cos ωt, sin ωt), 0 < ω < π
(u, v) = (cosh ωt, sinh ωt), 0 < ω
....
TRIG EXP
1 1

0.9 0.9
p=4 p=4
0.8
ω=π/4 0.8 ω=10
0.7 0.7

0.6 0.6

0.5 0.5

0.4 0.4

0.3 0.3

0.2 0.2

0.1 0.1

0 0
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.43/56


IPp :
u,v
Bernstein-like basis
IPu,v
p :=< 1, t, · · · , t p−3 , u(t), v(t) >, p ≥ 3 t ∈ [0, 1]

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.44/56


IPp :
u,v
Bernstein-like basis
IPu,v
p :=< 1, t, · · · , t p−3 , u(t), v(t) >, p ≥ 3 t ∈ [0, 1]

recurrence relation

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.44/56


IPp :
u,v
Bernstein-like basis
IPu,v
p :=< 1, t, · · · , t p−3 , u(t), v(t) >, p ≥ 3 t ∈ [0, 1]

recurrence relation 1
TRIG

ω=π/2
(2) (2) 0.9

B1,u,v , B2,u,v unique elements in < u(p−2) , v (p−2) > s.t. 0.8

0.7

0.6

0.5

0.4

(2) (2) (2) (2)


B1,u,v (0) = 1, B1,u,v (1) = 0, B1,u,v (0) = 0, B1,u,v (1) =1
0.3

0.2

0.1

0
0 0.2 0.4 0.6 0.8 1

(p) R1 (p)
δi,u,v := 0 Bi,u,v (t)dt.
(p) Rt (p−1) (p−1) Rt (p−1) (p−1)
Bi,u,v (t) := 0 Bi−1,u,v (t)ds/δi−1,u,v − 0 Bi,u,v (t)ds/δi,u,v ,

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.44/56


IPp :
u,v
Bernstein-like basis
IPu,v
p :=< 1, t, · · · , t p−3 , u(t), v(t) >, p ≥ 3 t ∈ [0, 1]

recurrence relation 1
TRIG

ω=π/2
(2) (2) 0.9

B1,u,v , B2,u,v unique elements in < u(p−2) , v (p−2) > s.t. 0.8

0.7

0.6

0.5

0.4

(2) (2) (2) (2)


B1,u,v (0) = 1, B1,u,v (1) = 0, B1,u,v (0) = 0, B1,u,v (1) =1
0.3

0.2

0.1

0
0 0.2 0.4 0.6 0.8 1

(p) R1 (p)
δi,u,v := 0 Bi,u,v (t)dt.
(p) Rt (p−1) (p−1) Rt (p−1) (p−1)
Bi,u,v (t) := 0 Bi−1,u,v (t)ds/δi−1,u,v − 0 Bi,u,v (t)ds/δi,u,v ,

Bernstein p.
"R #
t (p−1) Rt (p−1)
(p) 0 Bi−1 (s)ds 0 Bi (s)ds
Bi (t) = R 1 (p−1) − R 1 (p−1)
0 Bi−1 (t)dt 0 Bi (t)dt

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.44/56


IPp :
u,v
Bernstein-like basis
IPu,v
p :=< 1, t, · · · , t p−3 , u(t), v(t) >, p ≥ 3 t ∈ [0, 1]

recurrence relation 1
TRIG

ω=π/2
(2) (2) 0.9

B1,u,v , B2,u,v unique elements in < u(p−2) , v (p−2) > s.t. 0.8

0.7

0.6

0.5

0.4

(2) (2) (2) (2)


B1,u,v (0) = 1, B1,u,v (1) = 0, B1,u,v (0) = 0, B1,u,v (1) =1
0.3

0.2

0.1

0
0 0.2 0.4 0.6 0.8 1

(p) R1 (p)
δi,u,v := 0 Bi,u,v (t)dt.
(p) Rt (p−1) (p−1) Rt (p−1) (p−1)
Bi,u,v (t) := 0 Bi−1,u,v (t)ds/δi−1,u,v − 0 Bi,u,v (t)ds/δi,u,v ,

degree raising

p p+1
(p) (p+1)
X X
u,v u,v
IPp ⊂ IPp+1 ⇒ pi Bi,u,v (t) = p̂i Bi,u,v (t)
i=1 i=1

(p)
D (i−1) Bi,u,v (0)
p̂i := θi pi + (1 − θi )pi−1 , θi := (p+1)
D (i−1) Bi,u,v (0)

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.44/56


(Generalized) B-splines
Ξ := {ξ1 ≤ ξ2 ≤ · · · ≤ ξn+p }, Ω := {..., ωi , ....}, TRIG.: ωi < π
ξi+1 −ξi

sin ωi (t−ξi )

 sin ωi (ξi+1 −ξi )
 if t ∈ [ξi , ξi+1 )
(2)
Bi,Ω,Ξ (t) := sinsinω ω(ξi (ξi+2 −t)
if t ∈ [ξi+1 , ξi+2 )
 i i+2 −ξi+1 )

 0 elsewhere
(p) Rt (p−1) (p−1) Rt (p−1) (p−1)
Bi,Ω,Ξ (t) = −∞ i,Ω,Ξ Bi,Ω,Ξ (s)ds
δ − −∞ δi+1,Ω,Ξ Bi+1,Ω,Ξ (s)ds

(p) 1
δi,Ω,Ξ := R (p)
+∞
−∞ Bi,Ω,Ξ (s)ds

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.45/56


(Generalized) B-splines
Ξ := {ξ1 ≤ ξ2 ≤ · · · ≤ ξn+p }, Ω := {..., ωi , ....}, TRIG.: ωi < π
ξi+1 −ξi

sin ωi (t−ξi )

 sin ωi (ξi+1 −ξi )
 if t ∈ [ξi , ξi+1 )
(2)
Bi,Ω,Ξ (t) := sinsinω ω(ξi (ξi+2 −t)
if t ∈ [ξi+1 , ξi+2 )
 i i+2 −ξi+1 )

 0 elsewhere
(p) Rt (p−1) (p−1) Rt (p−1) (p−1)
Bi,Ω,Ξ (t) = −∞ i,Ω,Ξ Bi,Ω,Ξ (s)ds
δ − −∞ δi+1,Ω,Ξ Bi+1,Ω,Ξ (s)ds

(p) 1
δi,Ω,Ξ := R (p)
+∞
−∞ Bi,Ω,Ξ (s)ds

B-splines
(p) Rt (p−1) (p−1) Rt (p−1) (p−1)
Bi (t) = −∞ i,Ξ Bi,Ξ (s)ds
δ − −∞ δi+1,Ξ Bi+1,Ξ (s)ds

(p) 1
δi,Ξ := R (p)
+∞
−∞ Bi,Ξ (s)ds

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.45/56


(Generalized) B-splines
Ξ := {ξ1 ≤ ξ2 ≤ · · · ≤ ξn+p }, Ω := {..., ωi , ....}, TRIG.: ωi < π
ξi+1 −ξi

sin ωi (t−ξi )

 sin ωi (ξi+1 −ξi )
 if t ∈ [ξi , ξi+1 )
(2)
Bi,Ω,Ξ (t) := sinsinω ω(ξi (ξi+2 −t)
if t ∈ [ξi+1 , ξi+2 )
 i i+2 −ξi+1 )

 0 elsewhere
(p) Rt (p−1) (p−1) Rt (p−1) (p−1)
Bi,Ω,Ξ (t) = −∞ i,Ω,Ξ Bi,Ω,Ξ (s)ds
δ − −∞ δi+1,Ω,Ξ Bi+1,Ω,Ξ (s)ds

(p) 1
δi,Ω,Ξ := R (p)
+∞
−∞ Bi,Ω,Ξ (s)ds

TRIG EXP EXP


1 1 1

0.9
p=4
0.9 p=4 0.9
p=4
0.8 ω =pi/2 0.8
ω =i 0.8 ωi=i
i i
0.7 0.7 0.7

0.6 0.6 0.6

0.5 0.5 0.5

0.4 0.4 0.4

0.3 0.3 0.3

0.2 0.2 0.2

0.1 0.1 0.1

0 0 0
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.45/56


(Generalized) B-splines ...
(p)
{Bi,Ω,Ξ (t), i = 1, · · · },
properties

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.46/56


(Generalized) B-splines ...
(p)
{Bi,Ω,Ξ (t), i = 1, · · · },
properties
positivity
p. of unity
compact support
smoothness
derivative
local linear independence
...

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.46/56


(Generalized) B-splines ...
(p)
{Bi,Ω,Ξ (t), i = 1, · · · },
properties
positivity
p. of unity
compact support
smoothness
derivative
local linear independence
...
shape properties {..., ωi , ...}

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.46/56


(Generalized) B-splines ...
(p)
{Bi,Ω,Ξ (t), i = 1, · · · }, 2
EXP

1.8

properties 1.6

positivity
1.4
ω =2
5
1.2

p. of unity 1

0.8

compact support 0.6

0.4

smoothness 0.2

derivative
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5

local linear independence


...
shape properties {..., ωi , ...}

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.46/56


(Generalized) B-splines ...
(p)
{Bi,Ω,Ξ (t), i = 1, · · · }, 2
EXP

1.8

properties 1.6

positivity
1.4
ω =2
5
1.2

p. of unity 1

0.8

compact support 0.6

0.4

smoothness 0.2

derivative
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
2

local linear independence


1.8

1.6

... 1.4

1.2

shape properties {..., ωi , ...} 1

0.8

0.6

0.4

0.2

0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.46/56


(Generalized) B-splines ...
(p)
{Bi,Ω,Ξ (t), i = 1, · · · },

(p) (p)
ωi → 0 ⇒ Bi,Ω,Ξ (t) → Bi,Ξ (t)

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.47/56


(Generalized) B-splines ...
(p)
{Bi,Ω,Ξ (t), i = 1, · · · },

(p) (p)
ωi → 0 ⇒ Bi,Ω,Ξ (t) → Bi,Ξ (t)
unified treatment by complex arithmetic

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.47/56


(Generalized) B-splines ...
(p)
{Bi,Ω,Ξ (t), i = 1, · · · },

(p) (p)
ωi → 0 ⇒ Bi,Ω,Ξ (t) → Bi,Ξ (t)
unified treatment by complex arithmetic
trig. and exponent. parts can be mixed

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.47/56


(Generalized) B-splines: knot insertion

(p)
X
Ξ := {· · · ≤ ξi < ξi+1 ≤ · · · } ⊂ {· · · ≤ ξi ≤ ξ̄ < ξi+1 ≤ · · · } =: Ξ̄, SΞ,Ω,p := { cj Bj,Ξ,Ω }
j

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.48/56


(Generalized) B-splines: knot insertion

(p)
X
Ξ := {· · · ≤ ξi < ξi+1 ≤ · · · } ⊂ {· · · ≤ ξi ≤ ξ̄ < ξi+1 ≤ · · · } =: Ξ̄, SΞ,Ω,p := { cj Bj,Ξ,Ω }
j

SΞ,Ω,p ⊂ SΞ̄,Ω,p

(p) (p)
X X
cj Bj,Ω,Ξ = c̄j Bj,Ω,Ξ̄
j j

c̄j = γj,p cj + (1 − γj,p )cj−1



1 j ≤i−p 
1 j≤i


 
 δ(p−1)
 

j,Ω,Ξ sin ωi (ξ̄−ξi )
γj,p := (p−1) γj,p−1 i − p < j < i − r + 1 γj,2 := j=i

 δ
j,Ω,Ξ̄
 sin ωi (ξi+1 −ξi )

0 j ≥i+1

 
0 j ≥i−r+1

r mult. of ξ̄ in Ξ

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.48/56


Tensor-product (Generalized) B-splines surfaces

Ξ := {ξ1 ≤ ξ2 ≤ · · · ≤ ξn+p }, Υ := {υ1 ≤ υ2 ≤ · · · ≤ υm+q }, Ω := {...ωi ...}, Λ := {...λj ...}

n,m
(p) (q)
X
S(s, t) = ci,j Bi,Ω,Ξ (s)Bi,Λ,Υ (t)
i=1,j=1

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.49/56


Tensor-product (Generalized) B-splines surfaces

Ξ := {ξ1 ≤ ξ2 ≤ · · · ≤ ξn+p }, Υ := {υ1 ≤ υ2 ≤ · · · ≤ υm+q }, Ω := {...ωi ...}, Λ := {...λj ...}

n,m
(p) (q)
X
S(s, t) = ci,j Bi,Ω,Ξ (s)Bi,Λ,Υ (t)
i=1,j=1

(s cos(t), s sin(t), t) helicoid

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.49/56


Conclusion
NURBS are a powerful tool in Isogeometric analysis due
to their ability to exactly represent profiles of interest in
applications and to the wealth of efficient algorithms for
their manipulation

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.50/56


Conclusion
NURBS are a powerful tool in Isogeometric analysis due
to their ability to exactly represent profiles of interest in
applications and to the wealth of efficient algorithms for
their manipulation

NURBS are not a requisite ingredient in Isogeometric analysis


[Huges-Cottrel-Bazilevs, 2005]

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.50/56


Conclusion
NURBS are a powerful tool in Isogeometric analysis due
to their ability to exactly represent profiles of interest in
applications and to the wealth of efficient algorithms for
their manipulation

NURBS are not a requisite ingredient in Isogeometric analysis


[Huges-Cottrel-Bazilevs, 2005]

Generalized (trigonometric/hyperbolic) B-splines could


offer a possible alternative to the rational model

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.50/56


References: Bernstein p. & B-splines
Hoschek, J., D. Lasser, Fundamentals of Computer Aided Geometric Design, A K
Peters, (1993)
de Boor, C.; A Practical Guide to Spline, Springer, Revised edition, (2001)
Prautzsch, H., Boehem, W., Paluszny, M.; Bézier and B-spline Techniques,
Springer (2002)
Schumaker, L.L.; Spline Functions: Basic Theory, third edition, Cambridge U. P.,
(2007)
MATLAB: Spline Toolbox

...

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.51/56


References: B-bases
Karlin, S., Total Positivity Stanford University Press, Stanford, (1968)
de Boor, C.; Pinkus, A.: The approximation of a totally positive band matrix by a
strictly banded totally positive one. Linear Algebra Appl. (1982),
Ando T., Totally positive matrices, Linear Algebra Appl. (1987),
Carnicer, J. M.; Peña, J. M. Shape preserving representations and optimality of the
Bernstein basis. Adv. Comput. Math. (1993),
Carnicer J.M., Peña J.M.: Totally positive bases for shape preserving curve design
and optimality of B-splines. CAGD(1994)
Rida T. Farouki, Tim N. T. Goodman: On the optimal stability of the Bernstein
basis. Math. Comput. (1996).
Mazure, M. L., Chebyshev–Bernstein bases, CAGD, (1999)
Peña J.M. (ed.): Shape Preserving Representations in Computer-Aided Geometric
Design. Nova Science Publishers, Inc., (1999)
Goodman, T.N.T., M. L. Mazure, Blossoming beyond extended Chebyshev
spaces,J. approx. Th. (2001)

...
A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.52/56
References: alternative to the rational model
Koch, P. E. and T. Lyche, Interpolation with exponential B-splines in tension, (1993)
Pottmann, H.,Wagner, M.G., Helix splines as example of affine Tchebycheffian
splines, Adv. Comput.Math. (1994)
Kvasov B., Sattayatham P.; GB-splines of arbitrary order, J. Comput. Appl. Math.
(1999)
Mainar, E., J. M. Peña and J. Sánchez-Reyes, Shape Preserving alternatives to
the rational Bézier model, CAGD, (2001)
Carnicer, J. M., Mainar, E., Pe na, J. M. , Critical length for design purposes and
Extended Chebyshev spaces. Const. Approx. (2004)
Costantini P., Lyche T., Manni, C.; On a class of weak Tchebycheff systems, Num.
Math. (2005)
Zhang, J.,Krause F., Zhang, H., Unifying C-curves and H-curves by extending the
calculation to complex numbers , CAGD (2005)
Wang, G., Fang M., Unified and extended form of three types of splines JCAM,
(2008)

... end
A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.53/56
Quasi-interpolation
quasi-interpolation: general approach to construct, with
low computational cost, efficient local approximants to a
given data set/function

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.54/56


Quasi-interpolation
quasi-interpolation: general approach to construct, with
low computational cost, efficient local approximants to a
given data set/function
P
f→ i λi (f )ϕi
{ϕ1 , · · · , ϕm } positive p.unity → stability,
{ϕ1 , · · · , ϕm } local support → local control
λi (f ) : depends on f and on its derivatives/integrals

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.54/56


Quasi-interpolation
quasi-interpolation: general approach to construct, with
low computational cost, efficient local approximants to a
given data set/function
P
f→ i λi (f )ϕi
{ϕ1 , · · · , ϕm } positive p.unity → stability,
{ϕ1 , · · · , ϕm } local support → local control
λi (f ) : depends on f and on its derivatives/integrals

q.i. based on B-splines/NURBS/Generalized B-splines


are widely studied

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.54/56


Quasi-interpolation
quasi-interpolation: general approach to construct, with
low computational cost, efficient local approximants to a
given data set/function
P
f→ i λi (f )ϕi
{ϕ1 , · · · , ϕm } positive p.unity → stability,
{ϕ1 , · · · , ϕm } local support → local control
λi (f ) : depends on f and on its derivatives/integrals

q.i. based on B-splines/NURBS/Generalized B-splines


are widely studied
q.i. could be a useful tool in Isogeometric analysis
(boundary conditions, error estimates, ...)

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.54/56


References: Quasi-interpolation
de Boor, C., The quasi-interpolant as a tool in elementary polynomial spline theory,
in Approximation theory I, 1973
Lyche, T.; Schumaker, L. L., Local spline approximation methods, J. Approximation
Theory 15 (1975)
Chui, C.K., Lai, M-J. A multivariate analog of Marsden’s identity and a
quasi-interpolation scheme, Constr. Approx. (1987)
Sablonnière, P.; Recent progress on univariate and multivariate polynomial or
spline quasi-interpolants, in Trends and Applications in Constructive Approximation, 2005.
Lyche, T.;Manni, C., Sablonnière, P.; Quasi-interpolation Projectors for Box Splines
JCAM, (2008)

...

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.55/56


GRAZIE per l’ATTENZIONE!

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.56/56


GRAZIE per l’ATTENZIONE!

A SHORT REVIEW of CAGD TOOLS for ISOGEOMETRIC ANALYSIS – p.56/56

You might also like