NURBS и другие рациональные сплайны

Введение в рациональные сплайны

Рациональный сплайн является, по определению, любой функцией, которая является отношением двух сплайнов:

r(x)=s(x)/w(x)

Это требует, чтобы w был со скалярным знаком, но s часто выбирается, чтобы быть с векторным знаком. Далее, желательно что w (x) не быть нулем ни для какого x интереса.

Рациональные сплайны популярны, потому что, в отличие от обычных сплайнов, они могут использоваться, чтобы описать определенные формы базовой конструкции, как конические секции, точно.

rsform: rpform, rBform

Два сплайна, s и w, в рациональном сплайне r (x) =s (x)/w (x) не должны быть связаны друг с другом. Они могли даже иметь различные формы. Но в контексте этого тулбокса удобно ограничить их, чтобы иметь ту же форму, и даже того же порядка и с теми же пропусками или узлами. Поскольку, под тем предположением можно представлять такой рациональный сплайн функцией сплайна (с векторным знаком)

R(x)=[s(x);w(x)]

чьи значения являются векторами с еще одной записью, чем значения рационального сплайна r и вызывают это rsform рационального сплайна, или, более точно, rpform или rBform, в зависимости от того, являются ли s и w в ppform или в B-форме. Внутренне, единственной вещью, которая отличает эти рациональные формы от их соответствующих обычных форм сплайна, rpform и B-формы, является их часть формы, т.е. строка, полученная через fnbrk(r,'form'). Этого достаточно, чтобы предупредить команды fn..., чтобы действовать соответственно на функцию в одних из rsforms.

Например, как сделан в fnval, очень легко получить r (x) из R (x). Если v является значением R в x, то v(1:end-1)/v(end) является значением r в x. Если кроме того, dv является DR (x), то (dv(1:end-1)-dv(end)*v(1:end-1))/v(end) является Dr (x). В более общем плане, формулой Лейбница,

Djs=Dj(wr)=i=0j(ji)DiwDjir

Поэтому

Djr=(Djsi=1j(ji)DiwDjir)/w

Это показывает, что можно вычислить производные r индуктивно, с помощью производных s и w (т.е. производных R) наряду с производными r порядка меньше, чем j, чтобы вычислить j th производная r. Эта индуктивная схема используется в fntlr, чтобы предоставить первому столько производных рационального сплайна. Существует соответствующая формула для частных и косых производных для многомерных рациональных сплайнов.

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте