1 function [Bu, nbfu] = nrb_crv_basisfun_der__ (points, nrb);
2 % __NRB_CRV_BASISFUN_DER__: Undocumented internal function
4 % Copyright (C) 2009 Carlo de Falco
5 % This software comes with ABSOLUTELY NO WARRANTY; see the file
6 % COPYING for details. This is free software, and you are welcome
7 % to distribute it under the conditions laid out in COPYING.
8 n = size (nrb.coefs, 2) -1;
14 spu = findspan (n, p, u, U);
15 nbfu = numbasisfun (spu, u, p, U);
17 N = basisfun (spu, u, p, U);
19 Nprime = basisfunder (spu, p, u, U, 1);
20 Nprime = squeeze(Nprime(:,2,:));
23 [Dpc, Dpk] = bspderiv (p, w, U);
24 D = bspeval (p, w, U, u);
25 Dprime = bspeval (p-1, Dpc, Dpk, u);
28 Bu1 = bsxfun (@(np, d) np/d , Nprime.', D);
29 Bu2 = bsxfun (@(n, dp) n*dp, N.', Dprime./D.^2);
30 Bu = w(nbfu+1) .* (Bu1 - Bu2).';