306 COMPUTER AIDED ENGINEERING DESIGN
(a) Point cloud (b) Approximating surface (c) Error plot
Figure 10.13 An approximating B-spline patch for a segmented point cloud.
discussed above. The second is to fit B-spline curves at the boundaries of the segmented cloud and
later define a Coon’s patch using the same. Following the concepts developed in Chapters 5 and 7,
givenM control vertices Bi (i = 0, 1,...,M−1), a B-spline curve of order k is defined as
rB( ) = ( ), [ , ]
=0
–1
uNuuuu,+ min max
i
M
Σ i kk i ∈ (10.2)
Let a smooth parametric curve r(u) defined by the above equation pass through a sequence of data
points {Pi,i= 0,..., j}. If a data point lies on the B-spline curve, it must satisfy Eq. (10.2). Writing
the same for each of j data points yields
P 1 (u 1 ) = Nk,k(u 1 )B 0 + Nk,k+1(u 1 )B 1 +... + Nk,k+M–1(u 1 )BM–1
P 2 (u 2 ) = Nk,k(u 2 )B 0 + Nk,k+1(u 2 )B 1 +... + Nk,k+M–1(u 2 )BM–1
....
Pj(uj) = Nk,k(uj)B 0 + Nk,k+1(uj)B 1 +... + Nk,k+M–1(uj)BM–1 (10.3)
where 2 ≤k≤M≤j. This set of equations is written in matrix form as
P = CB (10.4)
with C
=
() ()
() ()
, 1 ,+ 1 1
,,+1
Nu N u
Nu N u
kk k k M
kk j kk M j
LL
MM M
MMM
LL
⎡
⎣
⎢
⎢
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
⎥
⎥
whereP,CandB are the point data, basis and defining polygon matrices, respectively. In case of
curve approximation, C is not a square matrix. The problem is over-specified and can be solved using
some mean sense. Noting that a matrix times its transpose is square, the defining polygon vertices for
a B-spline curve that smoothes the data is given by
B = [CTC]−^1 CTP (10.5)
Least square fitting technique of B-spline curves described above assumes that Cis known. Given the
orderkof the B-spline basis, the number of defining polygon vertices M, the parameter values