Skip to main content
. Author manuscript; available in PMC: 2017 Mar 1.
Published in final edited form as: Comput Aided Geom Des. 2016 Mar 1;43:123–130. doi: 10.1016/j.cagd.2016.02.009

Algorithm.

Spline construction at an irregular node.

Input: B-spline-like control points cijk, i, j ∈ {1, 2}, k = 0, …, n − 1 (see Fig. 2a) of quadrilaterals surrounding an n ≠ 4-valent node.
Output: A C1 spline complex consisting of 4n polynomial pieces bk,αβ that is singularly parameterized at the central point (Fig. 2b).
  • Conversion to BB form: set aijk:=cijk for i, j ∈ {1, 2} and then compute the remaining coefficients aijk, i, j ∈ {0, 1, 2, 3} of the bicubic BB-patches ak(u, v), k = 1, …, n, as averages of the cijk so that the ak join C1 except at the irregular point a00k that we set to the average of the surrounding control points a00k:=k=1nc11k/n.

  • Subdivide the patches ak to get sub-patches hk,ij := Sak, i, j ∈ {1, 2}. When i +j > 2 then bk,ij := hk,ij.

  • Only the subpatches hk,11 that include the central point still require work. Abbreviating hαβ:=hαβk,11, we apply the projection P (cf. [Rei97, Sect.6]):
    (b11b21b12):=P(h11h21h12):=(P1P2P3P4P5P6P7P8P9)(h11h21h12) (1)
    where
    • Pν(j,k):=pνj-k, for ν = 1, …, 9, and j, k = 0, …, n − 1,

    • φn := 2π/n, ψ := arg((1 + sinφn)en/2), β := 1/10,

    • p1j=p2j=p3j=p4j=p7j=1/3n,p5j=p9j=(1+3cos(jφn))/3n,

    • p6j=(1+3cos(2ψ+jφn))/3n,p8j=(1+3cos(2ψ-jφn))/3n.

    Average b10k:=(b11k+b11k+1/2) for all edges and set b00k:=k=1nb11k/n for all vertices of valence n.