Основы САПР (CAD,CAM,CAE) - (Кунву Ли)(2004) (951262), страница 44
Текст из файла (страница 44)
Можно предположить, что каждая задающая .уэска Р разделится на девять задающих точек, определяющих круговое попереч' ное сечение (рис. 7.8). ~ ~ Ь,Р, Л~ьо(~)жл,(в) Р(ип)= (О<и<4,Г, ~п<Г ) (744) с' с'. Ь„> Х,з(™Р',з(о) 1-0 р-0 ,,:,. Обратите внимание, что порядок поверхности в направлении и равен 3, потому у~О: что степени 2 достаточно для представления окружности. Узловые значения Ж у „-'- получаются из Х()КВБ-представления врашаемой кривой, а узловые значения ~~!;: АО следуют из узловых значений представления полуокружности: О, О, О, 1, 1, 2, ,ч 2,3,3,4,4,4.
':.!"... Ятобы вычислить координаты х, у и з точки на Х П КВЗ-поверхности, мы должны "' подставить соответствующие ей значения параметров и = ио и о = оо в уравне- О,'!:; ние (7А4). Тогда мы сможем заметить, что числитель и знаменатель в этом выра- ~~';,жхении имеют тот же вид, что и в уравнении В-сплайновой поверхности. Поэтому -.„, щы можем воспользоваться методом для вычисления В-сплайновых поверхно"„'стей, правда, с небольшим изменением для учета однородных координат: при ,: вычислении числителя Ь;зР;1 подставляется вместо Рьд а при вычислении знаме::Угвггелл Ь; подставлЯетсЯ вместо Рр л ,~' фоме того, можно вычислить производные Х()КВБ-поверхности, применив мето"'. 'ды, использованные для вычисления В-сплайновой поверхности и ее производных, , -Проверку этого утверждения предоставляем читателю в качестве упражнения.
=;::;:,:::УМ. Интерполяционная поверхность ;. '„110)ы уже рассматривали проблему создания кривой, проходящей через заданные :тЬчки, — интерполяционной кривой. Часто возникает необходимость построе,Р=нОООя поверхности, проходящей через заданные точки. Особенно часто это требу';;:,—;:фткр При создании геометрической модели по существующей физической.
Суше.;* ЬФвует множество методов интерполяции точек данных'„эти методы основаны на ;.'вйзличиых уравнениях интерполяционных поверхностей. В этом разделе мы вы*; вццем уравнение В-онлайновой поверхности, проходящей через заданные точки. .-".О)бозначим точки Яря (р = О, 1, ..., и; д = О, 1, ..., и) в соответствии с рис. 7.9. По';,:!::~кОльку эти точки накладывают (л + 1) х (Ол+ 1) ограничений, можно выбрать лю':Рорую ;::":;~~уо В-сплаиновую поверхность с числом задающих точек не менее 1:::,'1(п:+ 1)х(т 0 1). Для простоты мы рассмотрим В-сплайновую Оюверхность. число ::,::.~ййающих точек которой в точности равно указанному произведению. Р(и,п) = ~ ~,РыМОО(и)ЛЛ,(п), (7А5) -О О-О ', где Р, . — задающие точки.
Пусть каждой заданной точке О ро соответствуют зна':;: чения параметров ир и оо', тогда Юр,. =~Е'УР'.( р)Хл (оо)- (7.46) ЫОО 0 О О Значение ир может быль получено методом, описанным п разделе 6.7.2 яз узловых значений. опроделеныых з щюцессе интерполяции точек Ооо, Я,, ..., 0„0 В-сплайном. Точно так же н по полУчаетсЯ Яз Узловых значений посЬО и~теРцалации Яро, Ярд, .—, Ярр ! о д С! (си) Яо !,т з Яао Ю! о Яд Рис.
7.9. Интерполяция заданных точек (7.48) ' " Можно переписать выражение (7 46), обозначив ')';" о Рэчел!(го ) символом С!(о„): Я„~ = ~~!,С,(о„)М»„(и,). (7А7) 'Подстановка значений !7 = О...т в выражение (7.47) дает Я о =~~!,С,(оо)Л!!а(ир) ! о Я„, =~С,(о!)У,,(ио); Як = ~ ,'С,(оя )Ж,,(ио); 1-0 Подставив значения р = О...л в первую строку выражения (7.48), мы получим за' дающие точки С,(ео) (! = О, 1, ..., л) В-сплайна, интерполирующего точки Яоо, Я! о, Яоо, ..., Я,о, — первой горизонтальной кривой на рис.
7.10. Аналогично, С!(е!) (1 =, О, 1, ..., л) — задающие точки В-сплайна, интерполирующего точки Яо !, Я„н ф !, ..., Я„!, — второй горизонтальной кривой на том же рисунке, и т. д. Эти за,, '.:.дающие точки интерполяционного В-сплайиа получаются методом, описанным в разделе 6.7.2. Теперь вычислим задающие точки Р; по С,(о ) (о = О, 1, ...„т). Для этого запи° щем определение С,(оо) еще раз: С,(р ) ~ ~Р, !»! (о,). (7.49) !-о ""'Йсли теперь подставить значения !7 = О...л! в формулу (7А9)„мы обнаружим, что Рм — задающие точки В-сплайна, интерполирующего точки С,(го), С!(р!), ..., С(о ). В частности, точки Ро„.
— это зада!ощне точки В-сплайна, интерполирую- щего Со(оо) Со(о!), ..., Со(о ), крайние слева точки на рис. 7.10. Приведем краткое описание процедуры вывода значений Р, ! О заданные точки интерполируются В-сплайном в одном направлении (рис. 7,10); Ф Со задахлцие точки В-сплайнов, полученных на первом этапе, интерполируются в поперечном направлении: берутся !-е задающие точки всех В-сплайнон из первого этапа и интерполируются В-сплайном. Задающие точки нового В- ;' сплайна будут Ре» Р;ь Роь ..., Р! . Повторив эту процедуру для всех ! от 0:, до п, мы получим все задающие точки Р, . Яо.о Я,о Рис. 7.10.
точки г:;(кой лолочаемые интерполяцией о направлении и Получив все задающие точки интерполяционной поверхности, мы должны опре- ~ делить порядки й и 1 и узловые значения в направлениях и и р соответственно. ' Чаще всего используются поверхности степени 3 по и и о, поэтому обычно берутся значения 7о = 1= 4. Мы знаем, что узловые значения получаются в процессе вывода интерполяционной кривой (см. раздел 6.7.2). Таким образом мы получа-: ем и + 1 наборов узловых значений в направлении и от всех интерполяционных; кривых с рис. 7.10.
Из этих наборов можно получить один путем усрелнения. ' Другими словами, о-е узловое значение получается усреднением !-х узловых значений из каждого из !л + 1 наборов. Узловые значения в направлении е получаются аналогичным образом. 7 .9. Пересечение поверхностей В этом разделе мы займемся вычислением кривых пересечения поверхностей.. Из-за внутренних ограничений численных методов мы будем искать точки на: кривых пересечения.
Мы уже говорили, что кривые пересечения поверхностен нужны нам для реализации булевских операций. Кривые пересечения требуют-, ся также для реализации отсечения поверхностей другими поверхностями в системах поверхностного моделирования. Мы кратко изложим основные идеи, лежащие в основе алгоритмов для расчета кривых пересечения поверхностей, заданных параметрическими уравнениями. Мы рассматриваем только параметРические уравнения, поскольку именно они чаще всего используются лля представления поверхностей. Методы расчета кривых пересечения поверхностей могут быть разлелены на лва ~ класса.
Методы первого класса состоят в численном решении приведенного ниже нелинейного уравнения' Р(ио)-Я(з,г) =О, (7.50) ~ где Р(икэ) и Я(кт) — паРаметРические УРавнениЯ пеРесекающихса поверхностей. 1 Уравнение (7.50) распадается на три скалярных уравнения с четырьмя неизвест-: ными: и, о, з и а Решение этой системы требует присвоения произвольного значе-,' ния одному из параметров. При этом получаются значения параметров, соответ- 4]багие точке на кривой пересечения. Изменение выбранного произвольного Эчъния дает все остальные точки кривой пересечения.
Недостаток этого метов'том что его сходимость зависит от начальных приближений неизвестных в 1 азиении (7.50) ]49]. Более того, он не всегда позволяет найти все кривые пере"дшяя. Другими словами, при больших интервалах изменения произвольно заввемого параметра некоторые кривые могут быть потеряны полностью„а неко- рьян — частично. ~~йы цз второй категории основаны на теории последовательного деления ] 37].
1яяэя':поверхность последовательно делится на множество частей до тех пор, 4дуф~з(дая из иих не будет представлять собой нечто близкое к плоскому четых]](щэыййку. Затем четырехугольники одной поверхности проверяются на пес4цэд]иез'с четырехугольниками другой поверхности. В результате получаются ф~,(гр(эрсекаюшихся четырехугольников, а точки прямых, по которым они пеСздй]]у~!йз даЮт ХОРОШЕЕ НаЧаЛЬНОЕ ПрИбЛИжЕНИЕ дЛя ураВНЕНИя (7.50).
Одиаг~й]~]г",:1]Мазаться непросто проверять пары четырехугольников в правильной фрицу)]у4ельности так, чтобы точки пересечения образовывали кривые. Для этой проблемы был предложен альтернативный подход 1124, 90]. энга из всех четырехугольников пересекающихся поверхностей выбидна пересекающаяся парэ, которая дает первый сегмент кривой пенн из коштов этого сегмента берется в качестве начальной точки, роизводится поиск следующей точки пересечения. Другими сло- новая пара четырехугольников, которая даст соседний сегмент чения, одним из концов которого будет начальная точка поиска. оной пары четырехугольников даст две точки, одна из которых беве нового конца кривой, от которого начинается поиск следуюшей угольников.
Пенг хранил четырехугольники в кэадраятаом дереве' ]]ф]]а4вя~;,предложенном Саметом ]135] для повышения эффективности поиска «,'.'ядй1е$:.-:нары. Процедура поиска продолжается до тех пор, пока не будет доа из границ поверхности, после чего поиск начинается с другого конегмента. Точные координаты точек пересечении получаются решения (7.50) с использованием концов сегментов в качестве начально- ения.
Эта процедура повторяется со всеми начальными сегментами пока не будут найдены все кривые. В приложении К мы расскажем, образом следует искать все сегменты кривых пересечения. нованные на теории последовательного деления, требуют большего ислений по сравнению с методами первого класса, но зато они реже ]ц]]119дают кривые пересечения. В приложении К мы рассмотрим расчет переаю)й1я Х()КВ5-поверхностей по методу Пенга. 1) Получите параметрическое уравнение конической поверхности.