www.mai.ru/science/trudy/
Труды МАИ. Выпуск №84
УДК 514.181.2:519.651
Применение вейвлетов в системах автоматизированного
проектирования
Битюков Ю.И.*, Калинин В.А.**
Московский авиационный институт (национальный исследовательский университет), МАИ, Волоколамское шоссе, 4, Москва, A-80, ГСП-3, 125993,
Россия *e-mail: [email protected] **e-mail: [email protected]
Аннотация
Данная статья посвящена применению теории вейвлетов в задачах геометрического моделирования конструкций летательных аппаратов. Представленные методы моделирования используются в CAD/CAM/CAE -системах изготовления конструкций из композиционных материалов. В качестве примера рассмотрена вентиляторная лопатка самолета МС-21.
Ключевые слова: вейвлет, системы автоматизированного проектирования, сплайн, геометрическое моделирование, алгоритм Чайкина, фильтр анализа, фильтр синтеза, блок фильтров.
Введение
При проектировании сложной техники постепенно происходит переход от традиционных средств обработки геометро-графической информации к безбумажным технологиям. Это открывает новые возможности по
использованию систем автоматизации проектирования, порождает новые технологии, связанные с использованием электронной модели объекта проектирования.
В настоящее время на предприятиях, занимающихся проектированием и изготовлением сложной авиационной техники, активно используются CAD/CAM/CAE/PDM-системы. Это обусловлено целым рядом причин, среди которых главное место занимают проблемы управления качеством выпускаемой продукции особенно при её выходе на мировой рынок. Базируясь на принципах оптимизации и контроля параметров изделий на всех этапах проектирования и изготовления, такие системы обеспечивают комплексное выполнение проектных работ при значительном сокращении их сроков и одновременном повышении качества. Основной целью при этом является постоянное снижение себестоимости выпускаемой продукции и обновление ее ассортимента, улучшение показателей надежности, ремонтопригодности, экономичности и др.
В CAD/CAM/CAE-системах традиционно уделяется повышенное внимание совершенствованию технологии геометрического трехмерного моделирования. Одним из основных достижений современного периода можно считать разработку методов моделирования кривых и поверхностей произвольной формы на основе технологии Bezier (Безье) и NURBS, ставшей международным промышленным стандартом для проектирования сложных криволинейных поверхностей. Однако главной проблемой здесь является не
столько сам процесс моделирования, сколько способы модификации и оптимизации созданных геометрических моделей, что очень критично при итерационном режиме работы конструктора. Кроме того, известно, что наибольший объем работ занимает не сам процесс проектирования, а итерационный процесс внесения в проект улучшающих изменений. Именно поэтому сегодня актуальными являются проблемы совершенствования методов геометрического моделирования трехмерных объектов, использующих стандартный для САО/САЕ/САМ-систем математический аппарат, а также адаптации этих методов для конкретных промышленных приложений.
Вейвлеты являются математическим инструментом для иерархического представления функций. Имея своими исконными областями применения теорию приближения, физику и обработку сигналов, вейвлеты с недавних пор стали использоваться во многих задачах геометрического моделирования преимущественно в компьютерной графике [6]. Некоторые применения в СЛО-системах можно найти в работе [4]. Если в компьютерной графике бывает достаточно лишь видимой гладкости кривых и поверхностей, то в СЛО/СЛМ/СЛЕ-системах требуются поверхности, принадлежащие различным классам гладкости Ск. Данная статья является развитием результатов, полученных в работах [1,2,3]. В этой статье мы построим вейвлет-базис на отрезке, на основе В-сплайна произвольного порядка п. С помощью такого вейвлет-базиса будут построены двумерные вейвлеты. На
основе этих построений будет обобщен известный алгоритм Чайкина построения кривых и поверхностей произвольного класса гладкости. Следует заметить, что в работе [3] вейвлет-базис был построен для случая п=3, а в работе [1] для случаев п=0,1,2,3.
Построение вейвлет-базиса на отрезке с использованием В-сплайнов Под вейвлет-преобразованием в теории вейвлетов понимается разложение функции по системе вейвлетов у]к - функций, каждая из
которых является сдвинутой и масштабированной (сжатой или растянутой) копией одной функции уе Ь2(К), называемой материнским вейвлетом:
У/к (х) = ¥(2 х - к).
Построение вейвлет-систем тесно связано с понятием кратномасштабного анализа (КМА) [10], т.е. последовательности
... с К! с V с V с ••• подпространств Ь (И), для которой и V = Ь (И); п V = {0}; /(х)еК0 </(2 • х)еУ., V/ еZ; существует функция среУ^,
называемая масштабирующей функцией или отцовским вейвлетом, такая, что последовательность (род }ыъ образует базис Рисса в У0.
Известно, что [7] масштабирующая функция удовлетворяет масштабному соотношению р(х) = У2 ^ щр(2х - к), щ е С.
kеZ
Последовательность {щ } называется масштабной последовательностью.
л
КМА приводит к базису в Ь (И). Как известно [9,11], применение таких базисов для разложения функции, определенной на отрезке, порождает искусственные скачки на краях, отраженные в значениях вейвлет-коэффициентов. Кроме того, это неэффективно с точки зрения вычислений. Поэтому полезными были бы вейвлет-системы на отрезке. Чтобы разложить функцию, определенную на отрезке [а;Ь] необходимо построить вейвлет-
Л
базис в Ь [а;Ь]. В этой статье мы рассмотрим подход, предложенный в статьях [3, 1] и применим его к построению вейвлет-базиса на отрезке в случае, когда в качестве масштабирующей функции выбран В-сплайн произвольного порядка п.
Для геометрических приложений мы будем рассматривать
действительное пространство . Рассмотрим действительные функции,
определенные на отрезке [а;Ь]. Пусть функция ре I? (К) удовлетворяет масштабному равенству р(х) = ^¡2^ыкр<2х - к), щ е К и имеет компактный
каждого у отличными от нуля на отрезке [а;Ь] будет лишь конечное число таких функций. Пусть для определенности это будут функции <0,< х,...,р]п_ 1. Для дальнейших построений изложим кратко подход к
построению вейвлет-систем на отрезке, предложенный в статье [3].
Рассмотрим последовательность У0 с У1 с... подпространств Ь]
носитель. Обозначим
Ясно, что для
V =1т д,../ —1} =
П/ -1
я=0
,,: а е R, я = П, - 1
= п ■
П; —1
Поскольку V—1 с V, то (р}_1к = : р/ ,. Введем обозначения [3]
я=0
Ф
(х) = (Мх),Р/д(х),...,^-п, —1(х)), Р = (Ра)"1—1
П,— 1 и,.—1
=0, ¿=0
Тогда Ф= ф р . Обозначим символом ортогональное дополнение к
пространству в пространстве V.. Такое ортогональное дополнение в
теории вейвлетов называется уточняющим или детализирующим подпространством [7], поскольку оно содержат информацию, необходимую для перехода от уровня разрешения у к уровню у+1. Поскольку V = V-! ®
и с V, то конечномерное пространство. Если
п •—1
Ж = ИпK■,0,^■л,...,-l}, = т/, то = . Функции у,,к
я=0
называются вейвлетами, а детализирующие пространства Ж. называются вейвлет-пространствами [7]. Снова введем в рассмотрение матрицы [3]
(х) = (у/,0(х),У,л(х),...у,т—1(х)), Qj =(^)
п,—1, т■—1—1 я=0, к=0
Тогда ¥ /—1 = Ф ^,. Следует заметить, что п, + т, = п,.+1 .
Пусть / е £2[<я; 6] и : £2[<я;6] ^ V - проектор. Тогда приближение можно разложить на более грубое приближение и уточняющее
сЖ г
слагаемое У1 /
П/ —1
п/—1—1
т/—1—1
/=X сР/к=Б—^+= X с—1,кР—1, к + X а/—1кУ/—1, к
к=0
к=0
к=0
Введем
в рассмотрение два вектора коэффициентов
С/ =(С/о,...,С/п._1) , DJ. =(,...,/ _1). Первый вектор описывает
приближение функции ^ а второй вектор представляет собой вейвлет-коэффициенты, которые характеризуют отклонение Б^/ от Б/. Имеем [3]
Ф. С. = Ф^С^ + = Ф. Р. С.—1 + Ф. д.. Б/_1. Отсюда находим [3]
С. = рС^! + . По данному равенству можно восстановить
приближение Б./ по более грубому приближению Б и вейвлет-
коэффицентам. Поскольку линейные операторы (проекторы)
V — 15 V — определяются некоторыми матрицами А , В, то
г
С= А.С., Dj_1 = В.С.. Графически вейвлет-разложение аппроксимации
Б/ и вейвлет-восстановление этой аппроксимации можно изобразить в виде
диаграмм
А. А1
С. - С.—1 - ...С1 -С0
Р1
С. ^ С.—1 ^ ...С1 ^ С0
□ омп
□ в.
п
п а
Под вейвлет-преобразованием функции / будем понимать нахождение векторов С0 ,D0 ,D1,...,D /-1.
Известна [3] связь между матрицами А - ,В. и р д :
Р
В
В
д
л .
A
B.,
=( ^ Q. Г ■
Заметим, что
AJ • PJ = Е, B. • Q. =E, A. • Q. =0, B. • P/ = 0, P/ • A. +Q. • B. =E. (1)
Матрица ^ в статье [3] определяется из однородной системы
линейных уравнений Tj • QJ. = 0, где Tj = PJ (ф., Ф. )
а
[(ф, ф)] = ((р ^ Pj *))п о - матрица скалярных произведений.
Матрицы ^ и р известны как фильтры синтеза. Матрицы Aj и B
известны как фильтры анализа. Множество {р,QJ,AJ,BJ} называется блоком фильтров.
Теперь применим описанный подход к построению вейвлет-системы на отрезке, используя в качестве масштабирующей функции В-сплайн произвольного порядка. Определим В-сплайны порядка п, как свертку [7]
N = N„—1 * N0, х):
г1, х е[0;1), 0, х € [0;1).
Отметим некоторые известные свойства В-сплайнов [7]. Во-первых, N (х) > 0, Ух. Во-вторых, 8ирр1и (х) = [0; п +1]. Хорошо известно [7]
преобразование Фурье функции N:
1п ( У ) =
/■ N П+1
1 Бт( у/2)
(У/2)
—г (п+1) у /2
Имеем ^°(2у) =1 (1 + е 1у ) = Я (у). Отсюда находим М>( у) 2^ > 0(У)
Мп (2у) = (N0(2 у) )й+1 = (у)$,( у) )й+1 = Мп (у) (8,(у) )П+1 = Мп (у )дя (у),
я ( у) = _!_ (1 + е~1у )П+1 =V гк е—ку = _^у Ск =_(я +1)!
я (у) = 2«+1(1 + е ) = 2-1I I Ще , Ся+1 = к! (я +1 — к)!
Поэтому
/~<к
Щ к е {0,1,..., П +1}; щ = 0, к £{0,1,..., я +1}.
Итак, функция (( х) = Ми (х), удовлетворяет масштабному равенству
П+1 (~< к
(х) = : СП+1 ((2 х — к).
к=0 2
Построим последовательность подпространств Vа с ¥аЛ с пространства 1?[0;а(я +1)], а = 1,2,..., используя функцию ((х). Имеем
1 и+1+2 т
(,т(х) = ((2}х — т) = - I СП+—12т(.+и(х).
я=2т
Функция (т (х) Ф 0 на отрезке [0; а (и +1)], если 0 < 2/х — т < и +1. Таким образом, т принимает следующие значения —и,...,2а(и +1) — 1 и т т + я +1
8иРР(,т =
п
[0;а( я +1)]. Графики функций ( /к на отрезке
2' 27
[0; а(и +1)] представлены на рис.1. Итак,
Ф/ =((, ,.",((,2/ а(и+1)-1), = 2 а(и + 1) + П .
Заметим, что линейное пространство yaJ =Нп{р/>„,р.,—п+1,...,Р7.,2/(п+1)—1}
представляет собой пространство сплайнов степени п дефекта 1 с узлами на
а(п +1) 2а(п +1) / ч
сетке А: 0 < —:—1--— < —:—1--— <... < а ( п +1), поскольку В-сплайны
2] а(п +1) — п 2] а(п +1) — п
образуют базис в таком пространстве [12]. Как известно [13], для любой
функции / е С [0;а(п +1)] и любого числа е > 0 существует для некоторого у
такой сплайн Я е ^ , что |^ — [0;а(п+1)] < е .
Поскольку множество непрерывных функций всюду плотно в
пространстве Ь [0;а( п +1)], то мы получаем и ^} = Ь [0;а( п +1)].
Пусть х е[0;а( п +1)], тогда у = 2 х е[0;2а(п +1)]. На отрезке [0;2а(п +1)] отличными от нуля могут быть только следующие В-сплайны
N (У + п), 1п (у + п — 1),..., 1п (у),..., 1п (у — 2 а(п +1) +1). Из известного [7] тождества X N (х — к) = 1, Ух е И, следует
keZ
2>а(n+1)-1 2J а(n+1)-1 2J а(n+1)-1
X <Pi* (x) = X N (2> x - k) = X N (у - k) = 1, Vx e[0;a(n + 1)].
k=-n k=-n k=- n
Поскольку dim Va > = 2J a(n +1) + n и Va > = V M © W, 1, то
dimW.^ = 2J-1a(n +1).
( п +1)!
Учитывая, что С., = ( )! = Сп;^, и обозначив рт = СГ+1,
т!(п +1 — т)!
получаем для четных п = 2к
р0 = С2к+1,р1 = С2к+1,..., рк = С2к+1, рк+1 = рк,рк+2 = рк—1,...,Р2к+1 = р0 , для нечетных и = 2к + 1
р0 = С2к+2, р1 = С2к+2,.", рк = С2к+2, рк+1 = С2к+2, рк+2 = рк,..., р2к+2 = р0 ■
Рис. 1. Графики функций (,т, / = 1,и = 2, т = —2,—1,0,...,5, а = 1
Введем обозначение
Р =
(Рo,л—рк,рк^Рl,Рo,0,...,0)Т, я = 2к; (Рo,Рl,...,рк,рк+^рк,...,Рl,Рo,0,...,0)Т, я = 2к+1
р еИ
2/а( я+1)+я
Кроме того, определим оператор Я :Кт ^ К™ следующим правилом
Я а =
V я
т > я > 0;
а=( й^.^ ¿т
(aи+l,...,ат,0,...,0) , — т < Ы < 0;
Если Ы i т, то Яа = 0. Отметим некоторые свойства данного оператора.
Лемма 1. Справедливы следующие равенства
1) Если к ,/> 0, то ( Як+а )Т • Ь = ( Як а )Т • ( Я_,Ь );
2) Если /, у > 0 или /, у < 0, то Rj+Jа = р7а;
Т
3) Если а = (а 1,...,ак,0,...,0)Т е Ит, Ь = (¿1,...,Ьт)Т, то аТ • Ь = (Ят_ка)Т •
и
Я , о Я а = Я ,а, 0<я <т-к, / >0.
4) Если а =
0,...,0, а 1,..., ак
V I У
е Ит, Ь =
0,...,0, ¿1,..., Ь,
V п
е Ит, то
аТ • Ь = ( К_ т;п(/,п)а ) • Ш1п(/,п)Ь .
Доказательство. Докажем первое свойство, остальные очевидны.
т—к—.
(Кк+.а) • Ь = (0,...,0,а1,...,а,,—^.) •(¿1,...,Ьт)= X аЬ
г=1
пк+.+1 '
( К а )Т( К—. Ь) = ( 0,...,0, а,,..., а^Т,..., Ьт ,0,...,0) =
= 0Ь.+1 + ... + 0Ь.+к + alЬJ+k+l + ... + am-J-A =( Кк+.а )Т • Ь . ■
Используя введенные выше обозначения, матрицу р можно записать
следующим образом:
^ = \пГ((пР),(К—п+2Р),. .,(Кп—2+2а(п+1)Р)) .
(2)
Для определения матрицы Т рассмотрим скалярные произведения
п+1
чк = (N (•), N (• — к)) = 11п (х) N (х — к) ах = | N (х) N (х—к) йх.
Ясно, что ч = 0, к < —п — 1, к > п +1. Кроме того,
Чк =
п+1
| N (х) N (х — к) йх, 0 < к < п +1;
к
п+к+1
| N (х) N (х — к)йх, — п — 1 < к < 0.
Т
Т
0
<
п+1-к
, П.
Заметим, что
п+1
Як = \Яп (х)Ып (х - к)йх = \ Ып(у + к)^(у)йу = д_к, к = 0,1,..
к 0
Легко видеть, что, если ввести в рассмотрение матрицы
к+1
Л = (^,к)Г-п, к=0, П = , 0 = КД,^, где Ла = | ^п(^п(* _ ,
к
о =
Л0,п Л,п Л,п ... Лп-1,п
п п п
Лп 2 Л, 2 Л ... 2 Л
5=п-1 5=п-1 5=п-1
п п п
Л,п 2 Л* 2 Л, ... 2 Л
£=п-1 5=п-2 5=п-2
п п п
Л,п 2 Л 2 Л ... 2 Л
5=п-1
5=п-2
5=п-3
Лп-1,п 2 Лп-2,5 2 Лп-3,5 ... 2А
5=п-1
5=п-2
5=1
0 =
п-1 2 Л, 5=0 п-2 2 Л-1, 5=0 п-3 2 Л-2,5 . 5=0 .. Л1-п,0
п-2 2 л-1, 5=0 п-2 22 Л 5=0 п-3 2 Л-1, . 5=0 .. Л2-п,0
п-3 2 Л-2, 5=п—1 п-3 , 2 Л-1,5 5=п-2 п ^ Л, . 5=п-3 .. Л3-п,0
Л-п,п Л2-п,0 Л3-п,0 ..• Л0,0
и векторы
¿1 =(Ю11,Ю21,...,®И1, Ч Д..^0 )Т , ¿2 =(®12,®22,...,®и 2, Ч ,0,...,0 )Г,...,
¿и = = ,...,^ИИ,Я1,...,ЯИ,0,...,0)Т 6= К2п+1)+п, и1 =( 0,...,0, Ч Я1,вц,...,вп1 )Т , и2 =(0,...Д Яп,..., Я2,012,...,9П2 )T,...,
иИ =(0,...,0,ч,вп,...,вш)Т еК2,
Я =,Ч^ 1,...,Я1,Я0,Я1,...,Чп, 1,Яп,0,...,0)Т еК2-(п+1)+п, то матрица [(Фу-, Фу-)] может быть представлена в виде
^)] = ^Г ( ¿1,...,ё п ^ Я Л-Я 2 «(»+1)-»-1Я,и1,...,и п) . Перейдем теперь к построению матрицы
2. • Т = 2. • PTJ
(\П / \21а(п+1)+п, 21а(п+1 )+п
.о>О)„.:, ()
Пусть
г г+1, = (К—п+и р )Т • а,, г = ^ ., п—I * =I ., п;
^+1—2.—1а(п+1), , = (п+2г Р )Т • и,, г = а(п + п — 1 + ^1 + ^ Я = 1,..., п . По лемме 1, для , = 0,1,...,2а(п +1) — п — 1, имеем
tl+u+n+l={R_n+2l р)Г • Дд = рГ °^)С1 = РГ '^-тЛ-По определению векторов р и д, получаем
РТ • Кп—2г+Л = 0 < (, — 2г > 2) V (, — 2г < —3п — 1). Обозначим м>1+3п = РТ • Яп+1 q, I = —3п,...,1. Далее, для г > 0, , = 1,...,п имеем
{К+2$)Т • = РГ • Д^А = РГ • оД_я)(1,.
Поскольку Я_ па, = Я_{2п+1—,^ , то ( Кп+2г Р)Т • а, = РТ • К— (2п+1—,+2г) q . Следовательно,
(Кп+2гР)Т • а, = 0 <, — 2г < 0.
Заметим, что (Кп+2г Р)Т ап = РТ^— п—1—2Л и (К+2г Р^ q = РТ • ^ п—2Л .
По лемме 1, для г = 0,1,...,2_1а(п +1) — 1, получаем
(К— п+2гР)Т • и, = (КгР)Т • Кпи, . Но Кпи, = К2 а(п+1)+,_lq , поэтому
(К— п+2гР)Т • и, = (К Р^ • К2 а(п+1)+,—Л . По лемме 1 имеем
(К-п+2гРГ • и, = РТ • Я2а(п+1)+,—1—2Я . Следовательно,
(Я-и+2/Р) • и = 0 < , — 2г > п + 3 — 2) а(п +1).
Заметим, что
(К— п+2, Р)Т а(п+1)—п—Л = РТ • К
-2г+2Jа( п+1)-
_lq и (Я— п+2гР)Т • и 1 = РТ • Я2а(й+1)_2q
Итак, теперь можно выписать матрицу Т . Пусть
^ = (Щ Щ Щ ... Щ3п Щ3п+1 0-0) е И
Т р2'' а(п+1 )+п _
=(г,,, Г,,2... 1и, 0...0)Т е И2 ап+п, , = 1,...,п;
Б, =(0,...,0, Я,.,,...,Я„,)Т е .+1)+'■, , = 1,...,п
Тогда
Т=1
( Кщ^ )Т
Т \
(
( К2.а( п+1)_2п_2^
Л
« 2",а(и+1)-2и+и
7Э 0 7Э
"« 2}а(п+1)-2+п
Т Т w + &)
w + Б п)
Очевидно, что имеют место равенства
РТ • К_2п+, q = РТ • Rn+l-,q, г = ^ ., , ,
п
п + —, п — четное; 2
п — 1
п +--, п — нечетное.
2
Поэтому для п = 2к имеем w = (щ, щ,...,щ^,,
_1,..., щ ^0,0,...,0)Т, а
для п = 2к + 1 W = ( W1,..., Щ3к, ^^ W3k+2, Щ3к+1, Щ3к,..., Щ Щ0,0,...,0)Т .
15
<
Итак, нужно найти 2Г 1а(п +1) линейно независимых решений
Ь^ =(К,к2,5,...,Л2гя(п+1)+п,,) системы линейных уравнений Т7Ь, = 0. Эти
решения и представляют собой столбцы матрицы ^ =(ЬХ,...,Ь2Г-1а(и+1)).
Поскольку ^Т. = ^ р = 2Г—1а( п +1) + п (по количеству линейно независимых столбцов), то ШшкегТ. = 2Г—1а(п +1). Поэтому такие линейно
независимые решения можно найти. Нам нужны не произвольные линейно независимые решения. Мы будем искать столбцы таким образом, чтобы
2Г а( п+1)+п
функции ^ 8 (х) = 2 к *' Р-пцг-1) (х), по возможности представляли
2=1
собой сдвинутые версии одной функции, т.е. имели бы одну форму (за исключением, конечно, граничных вейвлетов). Осуществить это можно следующим образом. Рассмотрим сначала случай п = 2к. Положим
Ъя =( 0,...,0, к
к
2к+2( 5-п—1)+1,5,...,к 2к+2( s—n—1)+6k+1,5,
1,0,...,0 )Т, 5 = п +1,...,2Г—11а( п +1) - п,
где
)Т
п2к+2(з-п-1)+1,з
к
2к+2( 5—п—1)+6 к+1,5 1
Т _ т"» 3п+2
Заметим, что
С/ ~ \Т \ (Д-ч*™) ^
(Я-вк^У
я—п, 2к+2(я—п)—\
' 5—п, 8к+2( 5—п)
... и
6к+($-п), 2к+2($-п)-\ ■■■ 1Ьк+($-п),%к+2(й-п)
Оставшиеся 2п решений, соответствующие граничным вейвлетам, мы выберем следующим образом. Для , = 1,2,...,п положим
И п_,+1 =( 0,...,0, к
2к—г+1,п_г+1' • • •''18к+2—2,,п—,+1
к,
1,1,0,...,0 )Т
где
* 1,
2к+1_г
* 1,
8к+2—2,
V" 6к+1—г, 2к+1_г 6к+1—г, 8к+2—2г у
к
2к—г +1,п—г+1
к
8к+1—2г,п—г+1 1
= 0,
у
2. 1 а(п+1)_п+г ( 0,...,0, к2Jа(п+1)—3п—1—2г,2J 1 а(п+1)-п+г ,..., к2-;'а(п+1)+^1,^-;' '«(п+^-п+г
К.
к
,1,0,...,0 )
где
^ г Л
2. 1 а(п+1)_2п+г, 2^п+1)_3п_1+2г ''' 2J 1 а(п+1)_2п+г, 2Jа(п+1)+г ^^2'_1а(п+1)+п, ^'а(п+1)_3п_1+2г ^2J_1а(п+1)+п, 2.а(п+1)+г У
^ Л
2 ■> а( п+1)—3п—1+2г,2. 1 а(п+1)_п+г
к
2.а(п+1)+г_1,2J 'а(п+1)_п+г 1
0.
На рис. 2 представлены графики некоторых вейвлетов для п=4.
Рассмотрим теперь случай п = 2к +1. Для г = п +1,..., 2J 1 (п +1) — п
положим Ь г =( 0,...Д кп+2(г—п—1)+1,..., кп+2(г_п_1)+3п ,1,0,...,° )Т , где
г—п, п+2(г—п—1)+3п+2
*г—п, п+2(г—п_1)+1 ... К \*г—п+3п,п+2(г—п_1)+1 ... *г_п+3п, п+2(г-п-1)+3п+2 у
п+2(г—п _1)+1
к.
V
п+2(г—п—1)+3п+1 1
= 0.
у
Для 2п граничных вейвлетов положим И. =(0,...,0,к,..,и,1,0,.,0) Ь.. =( 0,...,0,1, к. ,..., к. ,0,0,...,0)Т, г = 1,2,..., п где
2—1а(п+1)_п+г \ ' ' ' ' 2а(п+1)+2г—3п' ' 2а(п+1)+г' ' / ' ' ' '
^1, 2 ... ^1, 22+2п V ^2 п+2,2 ... ^2п+2, 22+2 п у
к,
к
V
22+2п—1 1
^2Г 1 а( п+1)—2 п+2, 2Га( п+1)+22—3п—1 ^^2Г—1 а(п+1)+п, 2Га(п+1)+22—3п—1 "'
Л
2Г 1 а(п+1)—2п+2, 2Га(п+1)+2 ^2Г—1 а(п+1)+п, 2Г а(п+1)+2 У
' 1
к
2Г а( п+1)+22—3п
к
V 2Г а( п+1)+2—1 у
= 0.
а)
б)
в)
г) д)
Рис. 2. Вейвлеты для п=4. а), б), в), г) граничные вейвлеты, д) внутренний
вейвлет Двумерные вейвлеты Рассмотрим теперь применение вейвлет-систем на отрезке к построению двумерных вейвлетов. Пусть даны последовательности Уол с с... с V'. с конечномерных подпространств Ь [аг; Ъ ],
масштабирующие функции ((2) и блоки фильтров РГ,2 ,АГ,2 ,ВГ,2, /=1,2.
Стандартный подход [10] к построению многомерных вейвлет-систем является взятие тензорных произведений функций из одномерных базисов.
Определим подпространства Vj = V jд ®V j,2 = lin|f ® f2: f g Vu, f2 gV',2}, где функция f ® f2 определяется правилом f ® f (x, У) = fi(x)f2(У) • Ясно, что функции из пространства V. могут быть представлены в виде
^ nj i_1 Л i nj 2 —1 Л nj i —1 Hj 2 —1
f ®f2(x,y)= X® x jj (x,y) = X X jjjxtf'oo•
k=0 s=0
k=0
У V
s=0
Очевидно, что функции рр) в рр ; образуют базис в пространстве V. .
2 2
Рассмотрим, как связаны между собой базисы пространств V:l и V.
Имеем
(n, ,1—1 Л
M=
m=0
Л,- 9—1 Л
'j ,1—1 nj, 2 —1 nj ,1—1 nj, 2 —1 x рж ® X PiM = X X pmkp? j ® j •
/=0 y
2
т,к/^7,s У j,m
m=0 /=0
n, i—1,nj,2 —1
'k ,s=0
Отсюда ^ V.2. Введем в рассмотрение матрицы Ф2 =(рР1) в рР1 ^Д
2 Т 2
Тогда предыдущее равенство можно записать в виде Ф. _ 1 = PJ ,0 PJ,2.
Определим пространства Ж2 следующим образом V/ = »Д 0 Ж2_1. Поскольку к..,, = V._1,г 0 Ж-и, то
V = ГД 0 (Ж—1,1 ® ^ ) 0 ( V—и в Ж—1,2 ) 0 (Ж—1,1 в Ж—1,2 ).
Отсюда =(Ж—1,1 в V.—12) 0(^—и в Ж—1,2 )0(Ж—1,1 в Ж—1,2). Таким образом, базис в пространстве Ж, образуют функции
к ®с}г=г-1 ® г к-—1 -Кк ®^г=г—1.
Заметим, что, если ввести в рассмотрение матрицы
Ш2 =((1) ^(//(2)\"Г- 1-1, :Г,2-1 Ш2 = Л,/!) 1-1 2-1 Ш2 = Л„(1) Й^(2Л:Г. 1-1 '-1
Ш1,Г = ( ® ^ )к=0, 5=0 , Ш2,Г = (^У1к ® )5=0 , Ш' = ® ^ ^ ^ ,
то, как и выше, получим Ш' = Р^Ф^, Ш' = ^дФ' Ш^. = ОТдФ^. Пусть / е Ь2 ([а; Ъ ]х [а; Ъ ]) и : Ь2 ([а1; Ъ1 ] х [а2; Ъ2 ]) ^ V'2 - проектор.
Тогда
пГ ,1—1 пГ ,2 —1 пГ ,1—1 пГ ,2 —^ пГ—1,1—1 п Г=1,2 —1
«г/ = 2 2 ® =22 2 2 ' +
к=0 5=0
:=0 /=0 :=0 /=0
V
:Г'—1,1—1 пГ—1,2 —1 пГ—1,1—1 :г'—1,2 —1 :Г—1,1—1 :Г—1,2 —1
22 к ^¿р/;2 + 2 2 'р',кчЦ + 2 2 ¿Сч'М;.
к ........ГГ ,2
к=0 5=0 к=0 5=0 к=0 5=0
Г
Если ввести в рассмотрение матрицы
п ( Г \пг-1—1,пг ,2—1 о ( Г ,1—1,п ,2—1 и /1 г \пг ,1 —1,:Г ,2—1 ~ СГ = (' )^ , КГ = (\ =0, 5=0 , НГ' = (^ \=0,5=0 , °Г' =
то из последнего равенства получаем
С = + 0,,1^-1Р,Т2 + Р1НГ-10Т,2 + 0,,1Ог-10Т,2 . (3)
Поскольку линейные операторы (проекторы)
: V Г4 ^ V Г_и, : V ^ определяются матрицами
Л / Г, ЛпГ-12—1-пГ 2—1 О (иГ, ЛпГ-12—1-пГ 2—1
Аг; =(ак:), „ „ ,ВЛ2 =(Ъ': )' ' , то должны иметь место равенства
-" V 'к=0, :=0 -" V /к=0, :=0
«Г-1,2- -1 :'-1,1 -1
5=0 /=0
(!2к = 2 '' + 2 ^ 'Г
Отсюда находим
п—1,1 _1 п.—1,2 _1 т.—1,1 _1 п.—1,2 _1
РР1к вРт =X X аЦаЦР\, в р» + X X ЬЦаЩ вр<1 +
,=0 и=0 1=0 и=0
п.—1,1 _1 т.—1,2 _1 mj■—1,1_1 т.—1,2 _1
. ,2„(1) о...(2) . V и! . ,2
П ,1—1 пj ,2 —1 п! ,1—1 П ,2 —1
+ X X а^ир—^ в^Д, + X X в^Д„.
,=0 ,=0 /=0 ,=0
Поэтому
а1'1 = X X а/ а],\а],2; г/-1 = X X С ЬЦа],2;
,,и / ; / ; к,т ,,к и ,т ' /,и / ; / ; к,т /,к и ,т'
к=0 т=0 к=0 т=0
ПJ,1-1 п!,2 —1 ПМ —1 ПJ,2 —1
у-1 = X X С а'2; й/"1 = X X а/ Ь/Ь2.
,,у / ; / ; к,т ,,к у,т ' /,, / ; / ; к,т /,к ,,т
к=0 т=0 к=0 т=0
Итак,
С—1=АЛА^; 1=В,^; Н—, = АС^; ^=В . (4)
Формулы (4) дают вейвлет-разложение аппроксимации £./ функции
двух аргументов, а формула (3) дает вейвлет-восстановление этой аппроксимации.
Алгоритм Чайкина и его обобщение
Пусть =(хЛу.^) е И3, г = 1,2,...,N. Фиксируем в пространстве
3 • •
Я декартову систему координат 0,У,к. Пусть cJ,г = xJ,гi + yJ,i \ + zJ,jk вершины ломаной у. и у - номер итерации. Согласно алгоритму Чайкина [2, 5], переход от ломаной у]. к ломаной у.+1 с вершинами су+11,су+12,...,+1, = 2А _ 2 осуществляется следующим образом:
3 1 13 , „ ЛГ ,
^+1,2,—1 = 4 cj,г + 4 ^+1; ^+1,2, = 4 С^г + - С^,,^ г = 1,2,..., N _ 1 . (5)
Равенства (5) можно представить в матричном виде. Введем в рассмотрение
матрицы
С,
с г ,1 сТ
С Г ,2
СТ
V С Г N у
'3 1 1 3
р-=4
3 1 13
31 13
Здесь матрица РГ (она совпадает с матрицей (2) при п=2) имеет размер
х , при этом = 2—1 — 2, Ы0 = N. - = 1,2,.... Тогда равенства (5)
Г Г
примут вид С-+1 = РГ+1 • СГ. Из формул (5) находим
_3 _3 ._
С- ,2 2 С-+1,22—1 2 С-+1,22 - С - ,2+1 2 С- +1,22 2 С' +1,22—1, ? 1,.", N 1.
3 1
Из последнего равенства находим с^ = — 2 - — _3,2 = 2,..., N.
Следовательно, для 2 = 2,..., N — 1 имеем [5]
1
3
3
1
с = — с +— с +— с --с
СГ,2 4 сГ'+1,22—3 + ^ сг'+1,22—2 + ^ с-'+1,22—1 ^ с-'+1,22 :
или, если ввести в рассмотрение матрицу [5] размера х N.
' 6 — 2 —13 3 — 1
м
1 3 3 — 1
1 3 3 — 1 - 2 6
то Су = Ау+1 • С]+1. Заметим, что А] • Р = Е.
Под кратномасштабной кривой будем понимать кривую с
параметрическим представлением
2> а(п+1)—1
г}: г7(г) = Е 7(г)• 7 = Ф
к=—п
V
7п
ст
С ],—п+1
^ 7 ,27а( п+1)—1 У
, г е [0;а(п +1)], (6)
т.е., если ^ (г) = (х^г),у (г), г, (г))т, то х] у/^ г/-) е а. Пусть
С =
гст
],—п
ст
7,—п+1
^ 7,27а(п+1)—1 У
Б,
т~ п
п+1
^ ^у,27а(п+1)—1 У
Тогда, если С, = P7.Cт.-l + Qт■Dт.-l, то
ф С =Ф.РС., +Ф.QD., = Ф + ¥ ,.
7 7 7 7 7—1 7 V/ 7 — 7—1 7 — 7 — 7—1
Отсюда получается схема последовательной модификации кривой г (г) = г—1 (г) + е м, где 7 = ¥ /-1, 7 = 1,2,.... Покажем, что описанный
выше алгоритм Чайкина укладывается в данную схему.
Пусть п=2, N = 3 • 27 + 2 и Р., ^, А, В " блок фильтров для
последовательности вложенных подпространств У0 с ^ с... пространства I2 [0;3], построенной на основе В-сплайна 2-го порядка. Заметим, что 2 • - 2 = 3 • 2' + 2 = А//. Согласно алгоритму Чайкина См = А/С/, но А/Р/ = Е, поэтому Су_| = А^/^С, = , где С] = VJ.А^С,. Поскольку для алгоритма Чайкина С; = Р;С,,, то С' =РА.С, =Р,А.Р.С, 1 =Р,-С, 1 =С,.
Здесь был использован тот факт, что А/Р/ = Е. Итак, См = А7С7. Пусть
БГ-1 = ВГСГ. Тогда СГ = РГСГ—1 + QJ'—1. Следует заметить, что в алгоритме
Чайкина Б = ВС = = 0. Таким образом, действительно алгоритм
Чайкина представляет собой вейвлет-восстановление кривой класса гладкости
Используя аналогичную схему восстановления можно обобщить алгоритм Чайкина для получения кривых произвольного класса гладкости ^ А именно, рассмотрим произвольную ломаную, заданную набором вершин
сг-п.cг',_и+l,...,с-2.-а(п+1)-1. Положим С = P;C;_1, 5 = - +1,..., где ps определяется
равенством (2). В результате получаем вейвлет-восстановление некоторой кривой класса
На рис.3 а) представлена начальная ломаная (синяя пунктирная линия), ломаная после трех последовательных преобразований Чайкина (зеленая жирная линия) и соответствующая кратномасштабная кривая (красная тонкая линия). На рисунке 3 б) показано применение обобщения алгоритма Чайкина.
Под кратномасштабной поверхностью будем понимать поверхность с параметрическим представлением
2Г'а(я+1)—1 2к Р(:+1)-1
' (и, V) = 2 2 <( (и( (V), и е [0;а(п +1)], V е[0;Д: +1)],
где ' = ' 1 + у-к ] + .
Если ввести в рассмотрение матрицы
х-,к = (' ); у-,к = (' ); = (' ), то вектор-функцию г(иv) можно представить в виде:
Г (и, V) = (ф- (и) • X- -Фк (V)7, ф- (и) • У- -Фк (V)7, ф- (и) • -Фк ^)Т)Т.
Заметим, что при каждом фиксированном щ е[0;«(п +1)] или v0 е[0;Д: +1)] мы получаем кратномасштабную кривую.
а) п=2 б) п=5
Рис. 3. Алгоритм Чайкина и его обобщение. а) стандартный алгоритм Чайкина (п=2); б) обобщенный алгоритм Чайкина (п=5) Преобразование поверхности осуществим в два этапа. Сначала применим к ломаным с вершинами с', 5 = —:, —: +1,..., 2к /?(: +1) — 1 обобщенный алгоритм Чайкина. В результате получим набор вершин с/5, 5 = -7п, -1п +1,..., 2А+1 Р{т +1) -1. Далее применим обобщенный алгоритм
Чайкина к ломаным с вершинами Ц8, ¡ = -п,-п + \,...,2'а(п + \)-\.
Указанные преобразования можно свести к преобразованию строк и столбцов матриц Xjк, Yjк, Z]к:
у = р у рт • V = Р V Рт • 7 = Р 7 Рт
Xj+1,k+1 1 j+1Xj,k1 к+1; +1 ,к +1; +1,к+1 1j+1Zj,k1k+1 •
Согласно равенствам (6) данное преобразование поверхности представляет собой вейвлет-восстановление некоторой поверхности класса гладкости Стш(т,п)-1. На рис. 4 показана вентиляторная лопатка для двигателя самолета МС-21, изготавливаемая из композиционных материалов методом выкладки, смоделированная рассмотренным выше методом.
Рис. 4. Вентиляторная лопатка Заключение
В данной статье мы рассмотрели применение теории вейвлетов в геометрическом моделировании, методы и алгоритмы которого составляют основу для систем автоматизированного проектирования. Был построен вейвлет-базис на отрезке, используя В-сплайн произвольного порядка. На основе такого вейвлет-базиса в статье построены двумерные вейвлеты и получены формулы для вейвлет-разложения и вейвлет-восстановления функций одного и двух аргументов. Показано, что известный алгоритм
Чайкина является частным случаем этих формул. Было получено обобщение этого алгоритма для построения кривых и поверхностей произвольного порядка гладкости.
Библиографический список
1. Eric J.Stollnitz, Tony D. DeRose, David H. Salesin. Wavelets for computer graphics: A primer. IEEE Computer Graphics and Applications, 15(3): pp. 7684, May 1995 (part 1) and 15(4): pp. 75-85, July 1995 (part 2).
2. Chaikin G.M. An algoritm for high speed curve generation. Computer Graphics and Image Processing, 3(4): pp. 346-349, December 1974.
3. A. Finkelstein and David H. Salesin, Multiresolution Curves, in Siggraph '94 Proceedings ACM SIGGRAPH, Addison-Wesley eds., pp. 261-268, 1994.
4. Giancarlo Amati, Alfredo Liverani, Gianni Caligiana. The Reuse of Free-Form Surface Features: A Wavelet Approach. Proceedings of the IASTED International Conference APPLIED SIMULATION AND MODELLING, June 28-30, 2004, Rhodes, Greece, pp. 247-252.
5. Mohamed F. Hassan, Neil A. Dodgson. Reverse Subdivision. Advances in Multiresolution for Geometric Modelling, Springer, 2005, pp. 271-283
6. Столниц Э., ДеРоуз Т., Салезин Д. Вейвлеты в компьютерной графике: Пер. с англ. - Ижевск: НИЦ "Регулярная и хаотическая динамика", 2002. -272 с.
7. Смоленцев Н.К. Основы теории вейвлетов. Вейвлеты в Ма1ЪаЬ. - М.: ДМК Пресс, 2005. - 304 с.
8. Фрейзер М. Введение в вэйвлеты в свете линейной алгебры: Пер. с англ. -М.: БИНОМ. Лаборатория знаний, 2008. - 487 с.
9. Добеши И. Десять лекций по вэйвлетам. - Ижевск: НИЦ «Регулярная и хаотическая механика», 2001. - 464 с.
10.Новиков И.Я., Протасов В.Ю., Скопина М.А. Теория всплесков. - М.: ФИЗМАТЛИТ, 2005. - 616 с.
11.Малла С. Вэйвлеты в обработке сигналов: Пер. с англ. - М.: Мир, 2005.671 с.
12.Завьялов Ю.С., Квасов Б.И., Мирошниченко В.Л. Методы сплайн-функций. - М.: Наука, 1980. - 352 с.
13.Стечкин С.Б., Субботин Ю.Н. Сплайны в вычислительной математике. М.: Наука, 1976. - 248 с.