|
Макеты страниц
3.13. Треугольные сплайновые поверхностиРассмотрим поверхности, которые можно считать обобщением треугольной поверхности Безье. Они строятся в виде взвешенной суммы некоторых характеристических точек. Каждая характеристическая точка входит в сумму с коэффициентом, который является функцией координат двухмерной точки на области определения параметров поверхности. Каждая такая функция отлична от нуля на некоторой ограниченной двухмерной области. Базисные функции координат и и v двухмерных точек, отличные от нуля на ограниченных двухмерных областях простой формы, называют двухмерными В-сплайнами или симплексными сплайнами. Они представляют собой аналоги рассмотренных выше В-сплайнов и имеют с ними много общего. Рассмотрим аналогию между В-сплайнами и симплексными сплайнами. Каждый В-сплайн строится на последовательности узлов. Узлами последовательности можно разделить область определения В-сплайна на полуоткрытые подобласти. При этом каждое значение параметра В-сплайна может принадлежать только одной подобласти. Область определения симплексного сплайна можно разбить на несколько подобластей. Каждая точка Полуоткрытая выпуклая область.Через [V] обозначим выпуклую область, которую покрывает некоторый выпуклый многоугольник V, а через
Рис. 3.13.1. Полуоткрытая выпуклая область На рис. 3.13.1 приведена полуоткрытая выпуклая область. Для области, показанной на рис. 3.13.1, внутренние точки многоугольника и точки сплошных линий принадлежат [V), а точки пунктирных линий и точки их стыковки со сплошными линиями не принадлежат [V). Симплексный сплайн.Симплексные сплайны являются аналогами ненормированных В-сплайнов. Они представляют собой кусочно-полиномиальные функции точек двухмерного пространства. Каждый симплексный сплайн больше нуля внутри своей полуоткрытой выпуклой области и равен нулю вне области. Пусть задана последовательность двухмерных точек Точки Симплексный сплайн
где
где Симплексный сплайн В общем случае симплексный сплайн Обратим внимание на аналогию формулы Кокса-Де Бура (2.8.30) и формулы (3.13.1). Обе формулы описывают рекуррентное соотношение для сплайна В обоих случаях вычисления начинаются со сплайнов нулевого порядка для А несовпадающих узлов. Эту аналогию можно продолжить для пространств большей размерности. Для симплексного сплайна можно вычислить производную в направлении любого вектора на плоскости параметров. Пусть дан двухмерный вектор
Производная симплексного сплайна (3.13.1) в направлении вектора t вычисляется по формуле
Производные симплексных сплайнов На рис. 3.13.2 приведен симплексный сплайн первого порядка, построенный на прямоугольной области (значение симплексного сплайна откладывается в направлении, перпендикулярном плоскости параметров сплайна).
Рис. 3.13.2. Симплексный сплайн первого порядка На рис. 3.13.3 приведен симплексный сплайн третьего порядка, построенный на шести несовпадающих узлах.
Рис. 3.13.3. Симплексный сплайн третьего порядка
Рис. 3.13.4. Симплексный сплайн пятого порядка с кратными узлами Последовательность узлов B-сплайна может содержать кратные узлы. Необходимо только, чтобы в последовательности нашлись хотя бы два не лежащих на одной прямой узла. Узлы Некоторые узлы симплексного сплайна могут лежать внутри его выпуклого многоугольника. На рис. 3.13.5 приведен симплексный сплайн третьего порядка, построенный на шести узлах, три из которых лежат в вершинах треугольной области, а остальные три узла совпадают и лежат в центре этой треугольной области. Все производные в центре такого сплайна теряют непрерывность. Некоторые узлы симплексного сплайна могут лежать на границе его выпуклого многоугольника.
Рис. 3.13.5. Симплексный сплайн третьего порядка с тремя кратными узлами в центре
Рис. 3.13.6. Симплексный сплайн второго порядка На рис. 3.13.6 приведен симплексный сплайн второго порядка, построенный на пяти узлах, четыре из которых лежат вдоль стороны треугольника. На этой стороне производные сплайна и сам симплексный сплайн терпят разрыв. В местах концентрации узлов значение симплексного сплайна заметно больше, чем в остальных местах.
Рис. 3.13.7. Симплексный сплайн седьмого порядка Если все узлы симплексного сплайна расположены в вершинах его выпуклого многоугольника, то чем больше порядок сплайна, тем меньше центральная существенно отличная от нуля часть сплайна. На рис. 3.13.7 приведен симплексный сплайн, узлы которого лежат в вершинах правильного десятиугольника. Трехиндексные функции Бернштейна (3.12.4) являются частными случаями симплексных сплайнов. Функция Бернштейна
с точностью до множителя равна симплексному сплайну Пусть точки
где DMS поверхности.NURBS кривые мы строим на семействе В-сплайнов, которые имеют общие узлы. Носители (области определения) В-сплайнов перекрываются. Это позволяет стоить гладкие кривые. В-сплайны NURBS кривых нормированы, их сумма для каждого значения параметра равна единице, что позволяет вводить для характеристических точек веса. При построении поверхностей на семействе симплексных сплайнов нужно, чтобы сплайны семейства имели общие узлы, а их полуоткрытые выпуклые области перекрывались. В противном случае сплайновая поверхность не будет гладкой. Кроме того, если сумма симплексных сплайнов для каждой двухмерной точки параметрической области поверхности будет равна единице, то это позволит нам строить рациональные поверхности, в которых характеристические точки могут иметь веса. Дамен (Dahmen), Микели (Micchelli) и Зайдель (Seidel) предложили один из способов построения поверхностей на базе симплексных сплайнов. Этот способ имеет много общего со способом построения треугольных поверхностей Безье.
Рис. 3.13.8. Триангуляция в качестве области определения DMS поверхности Поверхности, построенные этим способом, называют DMS сплайнами или Областью определения DMS поверхности служит правильная триангуляция О некоторой двухмерной области. Триангуляция считается правильной, если она состоит из невырожденных не перекрывающих друг друга треугольников, стыкующихся по общим ребрам. Пример правильной триангуляции приведен на рис. 3.13.8. Пусть вершины триангуляции описываются двухмерными радиус-векторами Рассмотрим некоторый треугольник
Рис. 3.13.9. Узловые облака вершин треугольника для Совокупность всех узлов в вершинах рассматриваемого треугольника На каждой последовательности узлов найдем выпуклую область
где Радиус-вектор
Внешнее суммирование выполняется по всем треугольникам области определения поверхности О. Внутреннее суммирование в формуле (3.13.6) выполняется по всем возможным последовательностям узлов треугольника В общем случае DMS поверхность является кусочно-полиномиальной функцией степени В работе [39] показано, что сумма всех отличных от нуля в заданной точке
Это свойство позволяет строить рациональные поверхности. Каждой характеристической точке
Никаких ограничений на расположение узлов в узловых облаках мы не накладывали, за исключением того, что треугольники, образованные узлами
|
Оглавление
|