Основы САПР (CAD,CAM,CAE) - (Кунву Ли)(2004) (951262), страница 43
Текст из файла (страница 43)
'жения Фы(и) и л'7(в) определены только на этих интервалах, что уже демонст";;-',. рировалось в главе 6. Это верно как для периодических узлов, так и для пепе;;:."риодических. Мы будем рассматривать только непериодические узлы по тем же !:. причинам, что и раньше. В этом случае функции сопряжения В-сплайна будут ;';,совпадать с функциями сопряжения поверхности Безье, если Й = я+ 1, / = гл+ 1. ;,'.
Поэтому можно утверждать, что поверхность Безье является лишь частным слу';,'''чаем В-сплайновой поверхности, а уравнение (7.32) описывает как поверхности ;;,': 'Безье, так и В-сплайновые. Чаще всего порядки л и 1 принимаются равными 4, :.:; поскольку степени уравнений, описывающих поверхности, не должны ирены ';:.', шать 3. ~:-" . В-онлайновая поверхность с непериодическими узлами обладает свойствами, на -!':„'. поминаюшими поверхность Безье (например, четыре угла задающего многогран ,';: ника лежат на поверхности, а граничные кривые представляют собой В-сплайны ;, определяемые соответствующими подмножествами задающих точек).
Покажем, "', что значению параметра и = 0 соответствует граничная кривая, являющаяся В- сплайном. Подстановка и = 0 в уравнение (7.32) дает' Р(0, )=ХЬ;,,А; ()1 Аь()=ХР.,Ад,(.). (7.33) г-в ьа -е ~=о В соответствии с формулой (7.33), граничная кривая при и = 0 является В-сплай- ном с задающими точками Рвл, Род, ..., Рр . Аналогичным образом можно пока- зать, что и остальные граничные кривые являются В-сплайнами, а их задающие точки являются крайними вершинами задающего многогранника. 7.6.1.
Вычисление В-сплайновой поверхности Координаты х. у и г точки на В-сплайновой поверхности, определяемой значе- ниами паРамет)юв и = ио о = ое, вычислЯютсЯ по фоРмУле л т Р(и,гв) = ~~,~> Рый7, (вв)Ц,(ое). -о ~-в Выражение (7.34) можно переписать. раскрыв суммирование по с (7.34) ' при выводе (7,33) исвольэоввлсл тат факт, что 1~~',", вр)чы(в)1, о = ре- :::. где Ре) — задающие точки, расположенные в вершинах задающего многограннн':;.""' ка, как и для поверхности Безье, а Ж„~(и) и ЛМ(о) — функции сопряжения, ис- (7.35) 7.7. Поверхность й0КВВ Р(и,во) =~~,Р„,Л~,«( о) Ло,(ио)+ («-о з «« Ш 1 Г~с„Р«Л',«(оо)~Ль (ио)+".
+~ХРо«Л««(оо) Л'.«(ио). «.о «=а Выражение (7.39) мы вычислим также при помощи алгоритма Кокса — де Бура по задающим точкам С, и узловым значениям о. ~„'::ЖЖфйфференцирование В-сплайновой поверхности ,Йв'.нр1нчннам, изложенным в разделе 7.5.2, достаточно часто возникает необхо- 4атмрсть вычисления производных вида дР(и,в) дР(и, о) ди «Ь« -' в;п(3(а)11)о~лйной точке поверхности.
Вычислить производную по и для В-сплай- )Воз~$~ф)М~Фркиости в точках и = ио и о = оо можно так, как показано ниже. Произ- :,)йдй~у:Жво:вьгчисляется аналогичным образом. 1зокйр1)во('вьыражение (7.32), записав в явном виде сумму по у: Р(и,о) = ~ Р«оЛ«...(и) Хо«(о)+ ~~„Ро,йы(и) Жь«(о)+ ... + (7.37) +Г12 Р, Л«ы(и) Л««(о). О=о "Мйфференцируя выражение (7.37) по и, получим: дР(и,в) И Г.о, ди 0и 1«.о + — р Рыбаса(и)~Ю, (о)+ ... + — ~~ Р, Ж, (и) Ф„«(о), :Коэффициент перед Фоl(о) в формуле (7.38) представляет собой произволную ':Й"'сйлвйна с задающими точками Р«> и можег быть вычислен для произвольного значения ио на основе соображений, изложенных в разделе 6.5.3.
Обозначим зна- ".«1В«Мне этого коэффициента символом Со. Аналогичным обРазом вычислЯютсЯ ;к(озффициенты перед Л«,«(о), Л«о«(о), ..., Ф„,«(о). Их мы обозначим Сь Со, ..., С . Восле этого выражение (7.38) можно будет записать так дР(и,о) — =СоЛ7„( )+С,Л«„(в)+ ... +С Л'„«(о) = ',~ С«Л'««(о) (739) «-о (7.38) .
Сумма ~„,Р Л«,«(во) может быть вычислена при помощи алгоритма Кокса — де Бура по задающим точкам Ро„и узловым точкам параметра о (см. приложение'Ж). Обозначим эту сумму символом Со. Все прочие суммы вычисляются зналопочным образом и обозначаются Сь ..., С„. После этого становится возмож:нозм записать уравнение в форме Р(ио,оо)=соЛо«(ио)+С,Фы(~о)+... +С„Л«„«(и ). (736) Ввфа«хение (7,36) также вычисляется при помощи алгоритма Кокса — де Бура по ' -'вз«1фощим точкам С> и узловым значениям и. Перейдя к одноролным координатам задающих точек, из уравнения В-сплайна мы получили уравнение Х(«КВ5-кривой.
Точно так же уравнение поверхности КПКВБ получается из В-сплайновой поверхности: 2 ' А. Ь,з Р;, И, (и)Л~х «(о) А, 2 ', Ь„, Л«„(и)Л'л«(о) ю о«о где Ри — векторы задающих точек с компонентами х, у и г, а Ь;,. — однородные координаты задающих точек. Обратите внимание, что узловые значения и диапззоны значений параметров совпадают с указанными в формуле (7.32).
Уравнение (7АО) становится уравнением В-сплайновой поверхности при Ь;„= 1. ';' ' Покажите самостоятельно, что при Ьч —— 1 знаменатель (7АО) тождественно равен 4' единице. Следовательно, уравнение В-сплайновой поверхности является част'"',:-.' ным случаем уравнения Х(«КВ5-поверхности. Поверхность Х(«КВ5 к тому же позволяет точно описать квадратичные поверхности, такие как цилиндр, конус, сфера, парабслоил и гиперболоид. Зтн поверхности называются квадратичными, потому что их уравнения имеют степень 2 по и и о. Уравнение ХПКВ5-поверхности часто используется для внутреннего прсдставления квадратичных поверхностей в системах геометрического моделирования.
Проиллюстрируем использование уравнений ХПКВ5-поверхности в системах объемного моделирования на нескольких примерах. Первый пример: поверх;,-''. ность, полученная трансляцией кривой (рис. 7.6). Предположим„что транслируемая кривая задана Х(«КВ5-уравнением. Это предположение не накладывает никаких ограничений, поскольку уравнение любой кривой нз рассмотренных нами может быть преобразовано к форме ХПКВ5. Пусть порядок этой кривой Ь узловые значения С„(р = О, 1...о т + 1), задающие точки Р« (т + 1 штук). 2; Ь, Р, Л«ь«(о) (7.41) Ь Л «(о) «-.о Граничная кривая поверхности ЛЧЗКВ5 представляет собой ИПКВ5-кривую с соответствующими задающими точками, которые являются крайними вершинами задающего многогранника поверхности.
Порялок и узловые значения граничной кривой совпадают с теми же характеристиками поверхности в соответствующем направлении. Мгя уже показали, что этим свойством обладают В-сплайновые поверхности. Следовательно, задающие точки, порядок и узловые значения поверхности в одном из направлений, совпадающем с направлением изменения параметра кривой, получаются из характеристик транслируемой кривой, поскольку она является одной из граничных кривых. В частности, задающими точками на :г))й<цзи,из краев поверхиости будут точки Р; (рис.
7.6). Далее, порядок поверхио'сти' в паправлеиии о будет равен 1, а узловые зиачеиия будут равны гл (если иа'правлеиия параметров выбрать так, как показано иа рис. 7.6). ркс. «.П. ~омрлность тра сллцнн '42д)щко'Вам':дужка информация о характеристиках поверхности в направле,)н~~„-"Дуй)г)з)лагаьчся, что направление и совпадает с направлением трансляции ;((Е~''; 7Д$:,й'виачит, в этом иаправлеиии достаточно линейного уравнения. Сле.1пя(й~й~~у~',.г)орцдок М)КВБ-кривой в этом направлении будет равен 2 и задаю;.~()1.:,,О(~рФ-тоже будет две.
Узловые значения в направлении и будут равны О, О, ~':4: Ф Йацрррв узловых точек будет два. Одии йабор, как уже отмечалось, получа- ~,'М 'Рйгд второй иабор получается трансляцией Р. иа расстояние И в направ:уйй~~~,'~й(ггсдядни. Одиорпцпые координаты для обоих наборов будут совпадать .:;Кфд1)Зги)йтуемрй кривой, Итак, координаты х, у и г задающих точек Р;, и одно'-'(м«)1~ь~е-Йврдииаты Ьу описываются следующими выражениями.' Раз =Р;; Рьт =Р, +~(а; (7А2) Ь =~з =Ь,, «4саг.:-';""':-1)асстояпие трансляции, а а — единичный вектор в направлении трансляЦи)1 '-',."" :Урзлцепие И()КВБ-поверхности может быть записано так, как показано ниже. 'ВЙЗЙФлеиие осуществляется подстаиовкой нужных значений параметров: ~„~„ЬгзРм Жег(и)М«г(о) Р(и,р)= ' ~ (0<и <1, Ср, <р <С„„). (7.43) 2 1 Ь,-„.Ф,г(и)Лгг(о) !.Ог-О :~?~ййтл1те внимание, что Лгг(о) в уравнении (7АЗ) определяется узловыми зиаче- Я(~МРЩ1 «л ЬП)КЮ-уравиеиие (7АЗ) может использоваться для представления любой погФхцлсти, полученной тркисляцией кривой.
Например, это ХСКВЗ-уравиеиие )(к)йФГ быль рримеиеио для описания цилиндрической поверхности, полученной псзяпией полуокружиости, лежащей в плоскости гу, вдоль оси г (рис. 7.7). иам цузкио задать Х1)КВЯ-представлеиие полуокружвости. Воспользу- емся результатами примера 6.6. Задающие точки булут иметь следующие координаты: Р =(1,0,0), Ь, =1; Р, =(1,1,0), Ь, = — '; ,Гг' Р, = (ОЛ,О), Ь, = 1; Р =( — 1,1,0), Ь Г2 Р, =( — 1,0,0), Ь, =1.
порядок кривой должен быль равен 3, а ее узловые значения равны О, О, О, 1, 1, 2, 2, 2. Координаты задающих точек цилиндрической поверхности будут такими: Рао = Ро Рга = Ро + Нй Ьао = Ь~,о = 1' Ра~ =Р~ Рм Р~ +Н'г Ьа~ Ьм Г2 Раг Р2 Раг Р2 + Н)г1 Ья,2 1,2 1 Р, =Р, Рз-— Р +НК Ь =Ь, ,Гг' Р, =Р„Рл =Р„+НК Ь „=Ь,„=1, где Рагл Рр „, Рог, Рал и Ра4 обозначают задающие точки нижней дуги, а Р,л, Р, ь Р1г, Р, з и Р,л — задающие точки верхней дуги; Ь вЂ” единичный вектор в иаправлеиии оси г. МЗКВЯ-уравиеиие цилиндрической поверхности получается подстаиовкой Р; и Ь; в уравнение (7АЗ) с учетом того, что 1 = 3 и гл = 4.
Узловые значения в направлении о равны О, О, О, 1, 1, 2, 2, 2, а в направлении и оии равны О, О, 1, 1. Рнс. 7.7. Трансляция лолуокртжностн Рассмотрим другой пример — поверхность вращения. Пусть врашаемая кривая лежит в плоскости хг, ось вращения совпадает с осью г, а направление кривой совпадает с направлением параметра р создаваемой поверхиости (рис. 7.8).
Предположим, что мы имеем дело с М) КВЯ-кривой порядка 1 с узловыми зиаче- х .=РО, =Р РО Р РР . Рцс. 7.8. Поверхность вращения О.у ,Ййофо((1)бо~: ойо((лошие этого метода приводится в работе 11261. девять задающих 1чООйрк".Йдверхонофги имеют следующие координаты: =Ь,; 1 =Ь,.—; ~Г2 Р, =Р,, Ры =Роз +"р)=РО +хОЬ Р =Р, -хз(=Р, -х,(1-1) Рзз = Ра.' хо 1 = Р; -х.'(21 - Д, 44 Рзз хр 1 РО гху ~ Рзз =Ры -х,)=Р, — х,(21+ 1) Ро, =РО„+х,(=Р, -х,(0+ 1) Ртз Роз +хуо РО О,у О =Ь, ~Г2 =Ь; О' =Ь .—; ',Гг' =Ь,; =Ь хГ2 =Ь. l' ЬО У)1азненне поверхности может быть записано в виде '4)$Мфф,(р, О, 1, ..., во + 1).и задающими точками Р(по+, 1 пггук) и Ь, (однород'~рй 'координаты задающих точек).