Главная > Разное > Кривые и поверхности на экране компьютера
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

Глава 4. Сплайновые поверхности

Общую задачу, рассматриваемую в этой главе, можно сформулировать так: по заданному множеству вершин с учетом их нумерации построить гладкую поверхность, которая, плавно изменяясь, проходила бы вблизи этих вершин и удовлетворяла некоторым дополнительным условиям. Эти условия могут иметь различный характер. Например, можно потребовать, чтобы искомая поверхность проходила через все заданные вершины или, проходя через заданные вершины, касалась заданных направлений, имела заданную регулярность и т. п.

При отыскании подходящего решения задачи приближения важную роль играет многогранная поверхность, вершины которой совпадают с точками заданного набора. Эту многогранную поверхность называют контрольной или опорной. Во многих случаях она довольно точно показывает, как будет проходить искомая поверхность, что особенно полезно при решении задачи сглаживания.

Мы будем рассматривать массивы, организованные как двумерные графы, топологически эквивалентные правильным прямоугольным сеткам. Сказанное означает, что в массиве

наряду с вершинами учитываются еще и связывающие их ребра

(рис. 4.1). Вершины

называются внутренними, а вершины

- граничными. Каждая внутренняя вершина имеет 4 соседние

Рис. 4.1

вершины, а каждая граничная - 3, за исключением четырех угловых вершин

у каждой из которых только две соседние вершины.

Так организованный массив часто называют контрольным или опорным графом искомой сплайновой поверхности.

В отличие от ситуации, рассматриваемой в гл. 2, в данном случае ограничения на множество вершин являются менее жесткими. Поэтому довольно естественно искать описание поверхности в более общей, параметрической форме.

Для отыскания подходящих параметрических уравнений нужной поверхности удобно воспользоваться способом, естественно связанным с интуитивным представлением о поверхности как о множестве точек, которое "заметает" кривая, движущаяся вдоль другой фиксированной кривой и изменяющая свою форму. Кроме того, желательно учесть и структуру опорного графа.

Попытаемся прояснить геометрический смысл параметрического уравнения вида

где некоторые функциональные коэффициенты. Положив

это уравнение можно переписать так:

Первое из этих соотношений будем рассматривать как параметрическое уравнение кривой Зафиксировав переменную получим на каждой из этих кривых по точке

По набору полученных точек определим кривую при помощи параметрического уравнения

(рис. 4.2).

Говорят, что уравнение (4.1) есть задание поверхности в виде тензорного произведения. Такие поверхности имеют целый ряд

преимуществ, одно из которых особенно существенно для наших целей, ибо позволяет перенести на двумерный случай многие результаты и наблюдения предыдущей главы, посвященной кривым. Дело в том, что при повышении размерности задачи неизбежно возникает большое число новых проблем. Ограничения на структуру опорных массивов и выбор в качестве рабочего одного из наиболее простых классов поверхностей позволяют удержать это число в рамках, разумных для первого знакомства.

Рис. 4.2

Если количество вершин в заданном множестве достаточно велико, то найти универсальные функциональные коэффициенты как правило, довольно затруднительно. К тому же может оказаться (а часто так и бывает), что найденные функции наряду с нужными свойствами обладают и такими, которые не всегда удовлетворительно согласуются с ожидаемым поведением соответствующей поверхности (например, поверхность, описываемая уравнением (4.1), с этими коэффициентами может осциллировать или отклоняться от заданного множества местами очень заметно).

Для успешного решения поставленной задачи приближения весьма удобно привлечь поверхности, составленные из элементарных фрагментов. В случае, когда эти элементарные фрагменты строятся по единой сравнительно простой схеме, такие составные поверхности принято называть сплайновыми поверхностями.

Параметрические уравнения каждого элементарного фрагмента ищутся в виде (4.1) с той лишь разницей, что всякий раз привлекается только часть заданных вершин множества При этом в качестве функциональных коэффициентов используются многочлены одинаковой степени.

Для описания элементарных поверхностей и вычисления их геометрических характеристик (необходимых при состыковке) часто используют функциональные коэффициенты, в которых функции многочлены, как правило, невысоких степенней, второй или третьей. Конечно, привлекая многочлены больших степеней, можно описывать весьма сложные поверхности. Однако у таких многочленов

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

Наибольшее распространение получили методы создания составных поверхностей, для построения которых используются бикубические многочлены (которые, кстати, активно использовались в гл. 2). Выбор в качестве функциональных коэффициентов бикубических многочленов позволяет учесть многие дифференциальные и внешне геометрические требования, накладываемые на искомую поверхность.

Высказанные соображения определят характер изложения разделов этой главы.

Глава начинается с описания минимально необходимого набора сведений из дифференциальной геометрии поверхностей. Затем рассматриваются различные классы поверхностей, при помощи которых можно решить поставленную задачу приближения: определяются элементарные поверхности (будущие фрагменты) и описываются их основные свойства. Такой подход поможет пользователю в выборе наиболее подходящего для него класса поверхностей. Часть из свойств формулируется в виде ответов на стандартный набор вопросов, среди которых есть, например, такие:

• какова гладкость построенной поверхности?

• каковы особенности расположения поверхности относительно заданных вершин опорного графа?

• как сказываются на форме поверхности изменения опорных вершин?

Полезно также знать как связаны между собой форма поверхности и простейшие геометрические преобразования (аффинные и проективные).

Напомним, что аффинные преобразования включают в себя вращение, растяжение и сжатие, параллельный перенос и их всевозможные комбинации, а к проективным преобразованиям, кроме того, относятся еще и преобразования перспективы.

Большинство из рассматриваемых классов поверхностей обладают свойством аффинной инвариантности. Есть среди них и проективно инвариантные. Хотя окончательный результат и не зависит от последовательности выполнения этих двух операций - преобразования набора опорных точек и построения поверхности, выбор порядка их исполнения может заметно снизить вычислительные затраты.

Использование рациональных поверхностей вносит в решение задачи приближения нужную гибкость, ибо в их описании принимают участие свободные числовые параметры. Возможность выбора позволяет заметно влиять на форму искомых поверхностей, а также учитывать предписанные свойства. Важно и то, что рациональные поверхности сохраняют многие из свойств, которыми обладают соответствующие нерациональные (полиномиальные) поверхности. А то обстоятельство, что рациональные поверхности ко всему еще и проективно-инвариантны, является одним из наиболее привлекательных их свойств, весьма полезных при визуализации.

Кроме того, показывается, как путем состыковки этих элементарных поверхностей можно получить составную поверхность, удовлетворяющую требуемым условиям, обсуждаются различные вопросы, связанные с программной реализацией рассматриваемых подходов (их особенности, преимущества и недостатки, вопросы устойчивости).

<< Предыдущий параграф Следующий параграф >>
Оглавление