11.7. ОПИСАНИЕ ФОРМЫ ОБЪЕКТОВ И В-СПЛАЙНЫ
Встречаются прикладные задачи, в которых важно иметь очень точное описание формы кривой. Одним из примеров такой ситуации служит синтез очертаний символов для фотонаборных устройств, сопряженных с ЭВМ, который осуществляется математическими средствами. В некоторых выпускаемых промышленностью системах такого типа символы задаются с помощью вектора, содержащего код контура соответствующего символа. Полученный таким образом контур далее заполняется с помощью одного из алгоритмов типа, рассмотренного в разд. 8.2. В связи с тем, что этот метод основан на использовании векторов для представления линий, требуется задавать очень много таких векторов для того, чтобы очертания символов выглядели гладкими. (Наша книга напечатана с помощью такой системы.) Использование сплайнов для построения кривых по точкам открывает ряд интересных возможностей, поскольку в этом случае можно ограничиться заданием лишь точек-ориентиров, а не точек, действительно принадлежащих контуру. В следующем примере приводятся формулы, которые целесообразно использовать при решении указанных задач.
Пример 11.4. Рассмотрим форму квадратичного сплайна, точки склеивания которого распределены равномерно. Из уравнения (11.286) следует, что значения сплайна всегда определяются уравнением (11.30а), т. е. соответствующий сплайн проходит через середины сторон многоугольника, образованного точками-ориентирами. Дифференцирование уравнения (11.276) дает следующий результат.
Подстановка в уравнение или показывает, что при при этих значениях нормированной переменной и соответствующий сплайн касается сторон многоугольника, построенного на точках-ориентирах Перегруппировка членов уравнения (11.276) приводит к следующему выражению:
Поскольку, как можно убедиться, сумма и равна единице, то искомый сплайн лежит внутри треугольника, образованного вершиной многоугольника, построенного по точкам-ориентирам, и средними точками двух смежных с этой вершиной сторон.
Ограничения, налагаемые на расположения построенного в этом примере сплайна, являются значительно более жесткими, чем те, что были определены в утверждении 11.2. Таким образом, квадратичные сплайны с равномерным размещением узлов целесообразно использовать при решении таких прикладных задач, в которых требуется точное представление формы объекта и, в частности, необходимо воспроизвести гладкие очертания, опираясь на очень небольшое число экспериментальных точек. На рис. 11.9 представлены расположение исходных точек-ориентиров и построенный по ним сплайн, образующий очертания буквы. Изображение этой буквы определяется двенадцатью точками внешнего контура и
Рис. 11.9. Пример использования сплайнов, формируемых по точкам-ориентирам в базисе В-сплайнов для синтеза очертаний символов шрифта: а — многоугольник, построенный по точкам-ориентирам, простые точки-ориентиры, О точки-ориентиры, кратность которых равна двум; б - искомый сплайн
восемью точками двух внутренних контуров (по четыре на каждый). В этом отношении квадратичные сплайны предпочтительнее кубических, для которых соотношение между многоугольником точек-ориентиров и искомой кривой является не столь жестким. Теоретически для аппроксимации некоторой заданной кривой с одной и той же степенью точности при использовании квадратичного сплайна требуется больше узлов, чем при использовании кубического. Однако при решении многих прикладных задач рост числа используемых узлов не имеет значения. Читатели могут убедиться в справедливости этого замечания, попытавшись построить очертания буквы В, приведенной на рис. 11.9 (или какого-либо аналогичного контура) с помощью кубического сплайна. Кубический сплайн удобнее использовать при решении таких прикладных задач, в которых форма объекта задается последовательностью точек и касательными в них к искомой кривой. В этих случаях дуги, соединяющие узлы, легко строятся с помощью выражения, аналогичного (10.5).