ПРОЕКТИРОВАНИЕ ТОПОГРАФИЧЕСКИХ ПОВЕРХНОСТЕЙ В  СИСТЕМАХ "ВЕКТОР" И CG

Болотов В.П.

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

Поверхность может формироваться по двум соседним изолиниям (рис.1), представленным в параметрическом виде в системе "Вектор", по линейной (рис. 2) интерполяции p=(1-t)* l1+ l2, по трем изолиниям по нелинейной интерполяции (рис.3), трем изолиниям или с использованием в качестве направляющих линий кривых второго, третьего (кривые Безье) или более порядков (сплайны, B-сплайны) системы "Вектор".

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

 
Рис. 1. Схема векторного формирования топоповерхности

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

В качестве исходных данных используется сетка изолиний, которая может быть сканирована и обведена в системе CorelDraw или ей подобной. При векторизации изолиний должны выполняться условия: линии должны быть однонаправленными (для серии одного класса изолиний), начала и концы линий должны располагаться по прямой или кривой линии, и линии должны быть заданы последовательно (для удобства системы "Вектор"), что выполнить, например, в CorelDraw не сложно. Далее линии сохраняются в формате .dxf и с помощью специальной программы преобразуются в формат с расширением .unl.

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

Рис. 2. Примеры формирования топографических поверхностей в системе CG по линейной интерполяции
 
Рис. 2. Примеры формирования топографических поверхностей в системе CG по линейной интерполяции