spcrv
等間隔分割によるスプライン曲線
構文
spcrv(c,k)
spcrv(c)
spcrv(c,k,maxpnt)
説明
spcrv(c,k)
は、B スプライン係数が c
で次数が k
の一様な B スプライン曲線 f 上の点の密シーケンス f(tt) を提供します。明らかに、これは次の曲線となります。
B(·|a,...,z) は節点 a,...,z をもつ B スプラインで、n
は c
内の係数の数です。つまり、[d,n]
は size(c)
に等しくなります。
spcrv(c)
は、次数 k
として 4 を選択します。
spcrv(c,k,maxpnt)
は、少なくとも maxpnt
個の点が確実に生成されるようにします。生成されるサイト tt
の最大数の既定値は 100
です。
サイト シーケンス tt
が一様に満たすパラメーターの区間は、区間 [k
/2 .. (n-k
/2)] です。
出力は、配列 f(tt) で構成されます。
例
以下は、問題のある破線とその平滑化されたバージョンを示しています。
points = [0 0 1 1 0 -1 -1 0 0 ; 0 0 0 1 2 1 0 -1 -2]; plot(points(1,:),points(2,:),':') values = spcrv(points,3); hold on, plot(values(1,:),values(2,:)), hold off
アルゴリズム
少なくとも maxpnt
サイトになるまで、中間点での節点挿入が繰り返し使用されます。fnplt
を使用した方がより効率的である場合もあります。