Разумно ли иметь следующее в BSpline?
У меня есть закрытый 3-го порядка (степень 2) BSpline, который имеет следующие параметры
9 контрольных точек 14 узловых точек
почему соотношение 9 + 3 + 2 = 14?
2 ответа
Соотношение между порядком b-сплайна (N), количеством контрольных точек (C) и количеством узлов (K) либо
К = С + О - 2
или же
К = С + О
Выбор зависит от соглашения, используемого для начального и конечного узлов.
В некоторых библиотеках, где старая вспомогательная библиотека OpenGL является важным примером, хранится дополнительный дубликат начального и конечного значения узла. Эти реализации будут иметь K = C + O. Если вы изучите алгоритмы, используемые для оценки b-spilnes, дублированные начальные и конечные значения узлов не требуются. По этой причине другие библиотеки, opennurbs и SDK Rhino 3d, являющиеся яркими примерами, имеют K = C + O - 2.
Более подробная информация доступна на http://wiki.mcneel.com/developer/onsuperfluousknot
Ваш B-сплайн может быть периоидным B-сплайном степени 2, в конце которого будут две дублированные контрольные точки, которые идентичны первым двум контрольным точкам. В таких случаях при отображении всех 11 контрольных точек будет выглядеть, как будто их только 9. Также возможно, что используемое программное обеспечение решит не сохранять две идентичные контрольные точки в структуре данных времени выполнения или в классе C++, и вы в конечном итоге увидеть 9 контрольных точек с 14 узлами.