Utils

For convenince the following utils are provided.

Jacobian

To compute the Jacobian matrix and its generalized determinant a function Jacobian is provided.

Patches = readMultipatch("assets/sphere.dat")

uEvalpoints = collect(0:0.01:1.0)
vEvalpoints = collect(0:0.01:1.0)

J, dJ = Jacobian(Patches[1], uEvalpoints, vEvalpoints)

Greville Sites

To compute the Greville sites [3]

\[\gamma_i = \cfrac{u_{i+1}+ \dots + u_{i+p}}{p} \qquad i = 1, \dots, N\]

corresponding to a given knot vector with entries $u_i$ and a polynomial degree $p$ the function greville is provided.

p = 2

kVec = generateKnotVec(5, p)
Bspl = Bspline(p, kVec)

gs = greville(Bspl)
5-element Vector{Float64}:
 0.0
 0.16666666666666666
 0.5
 0.8333333333333333
 1.0

Anchor Sites

To compute the anchors [4] corresponding to a given knot vector and a polynomial degree $p$ the function anchors is provided.

ac = anchors(Bspl)
5-element Vector{Float64}:
 0.0
 0.16666666666666666
 0.5
 0.8333333333333333
 1.0