Основы САПР (CAD,CAM,CAE) - (Кунву Ли)(2004) (951262), страница 38
Текст из файла (страница 38)
6.8). Из рассмотренных ранее .свойств ХПКВЗ-кривых следует', что задающие точки Рв и Р2 должны располагать4я на концах дуги'окружности, а точка Р, находится в точке пересечения касительиьтх к дуге в ее конечных точках. т'ф' Рв Р2 Рис. 6.8. Задающие тачки НОЯВЯ-представления дуги окружности ' ' Остается определить однородные координаты Ь„, Ь1 н Ь2. Если бы все они были равны 1, это был бы обычный В-сплайн, который не мог бы совпадать с дугой окружности. Однако Пнгл обнаружил, что значения Ьв = Ь2 = 1, Ь, = соз О позволяют описать дугу точно. Здесь буквой 0 обозначен угол между любой касательной и : отрезколт РвР2 (см.
рис. 6.8). Отсюда следует, что для центрального угла дуги, превышающего 180', точка Рн а значит, и угол 0 оказываются не определены. В ' этом случае дугу нужно разделить на части таким образом, чтобы у каждой из этих частей центральный угол был бы меньше 180'. Затем для каждой части определяется Х1)КВБ-представление, после чего эти представления объединяются. Объединение Х()КВБ-кривых получается точно таким же способом, что и ' объединение В-сплайнов (см. приложение 3). Множество задающих точек объединенной кривой представляет собой объединение л2ножеств задающих точек .
исходных кривых. Узловые значения объединенной кривой получаются слияни' ем наборов узловых значений с предварителытьтм нх сдвигом, обеспечивающим ' отсутствие скачков в точках соединений. Зателт лишние узловые значения отбра' сываются так, чтобы для каждого соединения значения повторялись не более чем Ь вЂ” 1 раз. ПРимер 6.6 ' Вывести Х(1КВБ-представление полуокружности с единичным радиусом, распо'ложенно ной в плоскости ззг. Необходимо определить степень кривой, координаты задюощих точек, а также узловые значения.
Решение зучите приведенный ниже рисунок. Порядок Х(1КВЗ-кривойт должен быть ра.,вен 3, по скольку окружность — квадратичная кривая. Мы разделим полуокружность на две дуги с номерами 1 и 2 пос2 ольку цевтральныи угол полуокружно ,сги ав, я Равен 180 . Разделить ее, разумеется, чюжно множеством способов. Начнем с дуги 1. Координаты х, у, 2 задающих точек этой дуги таковы: Р, =(1,0), Р, =(1,1), Р, =(0,1). Соответствующие однородные координаты и2иеют значения Ьв = 1, Ь1 = соз 4~5= = 1/2 и Ьт = 1. Узловые значения параметра образуют последовательность О,'0; 9;. 1, 1, 1 (и = 2, Ь = 3). Та же процедура для дуги 2 дает. Р (О 1) Рз = (1,1) Р, = (1,0) и В ' ! ' 2 3 ' 4 1 1 Т2' ' ' ' Л' Узловые значения для объединенной кривой: О, О, О, 1, 1, 2, 2, 2.
Пример 6.7 Раскрыть уравнение Х(1КВЗ-представления дуги 1 из примера 6.6 и показать,: '-; что оно действительно точно соответствует дуге окружности. Решение Уравнение Х()КВЗ-представления дуги 1 имеет вид: ЬоРоХаз(и)+ Ь! ! гз( Р(и) = Ьв~~' . (и)+ Ь,Ж,з(и)+ ЬтЖтз(и) Функции сопряжения гтвз(и), Ж,д(и) и Хтз(и) получаем по рекуррентным сепг 1-:; ношениям: 1 -'И Ь =1, Ь = — Ь ,6' Узловые значения те же самые: О, О, О, 1, 1, 1, но для последующего объединения ';-".
кривых они сдвигаются до 1, 1, 1, 2, 2, 2. Х(1КВЯ-кривые объединяются вместе, в результате чего получается ХОКИ; кривая со следующими задающими точками и параметрами: Р, = (1,0), Р, = (1,1), Р, = (0,1), Р, = (-1,1), Р, = (-1,0) 1 0 (1-и)'+ — - 1 2и(1-и)+1 1 и' Р(и) = 1.(1-и) + — 2и(1-и)+ 1 ° иг г зГ2 2 Обозначим члены, соответствуюшие х и у в этом уравнении, за х(и) и у(и) соответствеиио. Выражения лля х(и) и у(и) будут такими: (1- Г2)и' + Г2(1 — зГ2)и+1 (2-.Г2)и' +( Г2-2)и+1 (1-Г2)и' + зГ2и (2 — зГ2)и' +( Г2-2)и+ 1 Можно показать, что х(и) и у(и) удовлетворяют равенству ((1-зГ2)и' + Г2(1-зГ2)и+ 1)~ +((1-зГ2)и + ъГ2и)' Н2 — Г2)и' +( Г2-2)и+ 1)г Отсюда следует, что представление Х()гсВ5-кривой в точиости совпадает с дугой окружности.
6.6.1. Вычисление Й(ЖВВ-кривой Координаты х, у, з точки иа Х(1КВ5-кривой, определяелюй зиачеииелг параметра ил, получаются по формуле: ч ~Ь,Р,Азлз(из) Р(из) = '= Ь,Л', (6.52) 1";, О::ьв Ф'Рж Жьз(й) О', в 'противилом '-случае; „,, (Сз -')Х,,'(И) Жз,г(и) = ' =(1-и); ~з гг (и — Гг )Аггз (и) гз гг (Гз -и)Х,з(и) Хлз(г') = ' " = (1 — и)'; гз (и -Гг )ззи(и) (Гз -и)Хгг(и) ззгз = + ' =2и(1-и); гз гз гг Х ( гг )~гг(и) з г Теперь мы можем записать уравнение Х13ВВЯ-иредставлеиия следугошим образом: фференцирование й0КВВ-кривой первого порядка от кривой в Х1)ВВЗ-пр реицироваиием уравнения (6.51) по гс едставлеиии лзожсг::,4~~;- Про изводи ая получена диффе — ~~Ь,Р,Аз„(и) 2 ЬгЖ,з(и)-~ Ь,Р,.Х,з(и).— ~Ч~" ЬгМы(и) (Д Ь,Аг„(и)1' -л Выражения ч~ ".
ЬзЖ, (и) и ) ". Ь,Р,Ж,з(и) в формуле (6.53) могут быль вызцзлс,. лены с использованием алгоритма для В-сплайиов, например алгоритма:)~~-'. са — де Бура, который излагается в приложении 3. Производные в числитсдйяд(~!;", тут быть получены по методу, который был изложен в разделе 6.5.3. А иМзй1лйв", вместо задающих точек Р; в уравнение (6.44) следует подставить Ь;Р; при'ВЬ~$~~ ~' леиии — ~ Ь,Р,Азгз(и) или Ь; при вычислении — Ь,.Х,.„(и) .
Пример 6.8 Раскрыв выражение (6.51), показать, что Х()ззВ5-кривая с иепериодическФ)))! узлами проходит через первую и последнюю задаюшие точки. Используя уРй)г:":: исиие (653), показать, что касательные к Х1ЖВ5-кривой в конечных точк(ц~', совпадают по направлению с векторами Р, — Рл и Є— Р„е Решение Начальной точке кривой ЬШВВ5 соответствует значение параметра гз = г, = з.:~4~~-',: Первому сегменту соответствует диапазон значений параметра гл гизи а'1ф."г,"з'::~:.
едииствеииая ненулевая функция сопряжения первого порядка иа этом ипге~:. ле. то есть единственная функция данного порядка, которую имеет смыс)13)й(;,";:, сматривать в вычислениях, связанных с дапиым сегментом. Отсюда все фуигзз4)зз)~ сопряжения Ф,з(ть,) нулевые, за исключеиием Жзз(тз,), значение котороЬ:.'.~» но единице. Проверить последнее утверждение можно по рекурреитиой фг)взч1;;( ле. Итак, из уравнения (6.52) мы можем июгги начальную точку кривой:, з~!:; ' И"числитель', иззнамецатезльз в'шарвжеиии',(652) име(вв чгормузЪрйгзйегйц)'В':::. ', сплайиа, позпглгу оии могут вычисляться по алгорг(тмуз предиафщчептюму-;„(()цс вычислеиия В-сплайиа. Алгоритм Кокса-де Бура приводится.в црилогзегц)зг;".В При вычислеиии числителя в качестве задающих точек следует брать ттгчкц'е4~'! ордииатами Ь;Рь а при вычислении знаменателя — точки Ьл 1=0 (»е — 1).
»„-, !»и »! — Ь Р ()» — 1)-- ! ! (и 1)««о~~~ (Р ( ! е »! ) (Уг -1)а, (»„— », )»! !» у Цех+Ма е(х~ Е1 (6.54) Рис. 8.10. Статическая модель сппайна -'-"й' ',, Р(»'"'"~""ьа",!': ' -' ' лоРлд»ал«(»л!) 1.Р„-1 Ъ;-Р!)у", „'(»„", ) й.!)гч ' й,й»„х(»„, ) 1.1 Конечной точке кривой будут соответствовать значения параметра»„„ = „. = »„„ь Поскольку !чк! — единственная ненулевая функция сопряжения первого порядка на отрезке», и»„„, она одна должна учитываться при выводе уравнения последнего сегл!ента кривой. И она же будет ненулевой при и = » „ Отсюда все функции сопряжения вида А»!л(»«н!) равны нулю, за исключеннел! Ажл(»кн!) = 1.
Следовательно, координаты конечной точки могут быть получены из уравнения (6.52) в следующем виде: « ~. Ь,Р,А»„(»„„) ь л! (» ) )»«А«.л(»«! ) Получить первую производную в начальной точке можно с помощью уравнения (6.53). Левая производная в числителе (6.53) вычисляется подстановкой й!Р! вместо Р, и ЬеРе вместо Ре в конечное выражение примера 6.5. Точно так же правая производная вычисляется подстановкой а! вместо Р, и Ь„вместо Рм Далее, ~~~ Ь,А»,„(»„, ) = Ле. Из всего вышеизложенного следует, что первая производная в начальной точке кривой равна Аналогичным образом вычисляется первая производная н в конечной точке. 6.7.
Интерполяционные кривые Представьте, что вы работаете в системе геометрического моделирования и хотите визуалиаировать кривую. Кажется естественным передать системе координаты нескольких точек на этой кривой. На самом деле чертежники рисуют кривые таким интуитивным методом уже многие годы. Они ставят на бумаге несколько точек в соответствии со своим представлениел! о форме кривой, а затем соединя1от нх плавной линией при помощи средства, называемого сплайно ! (зр»»пе).
Так же и в САПР: конструктор указывает точки, а система строит по ним интерполяционную кривую, которую и отображает. уравнение и!ггерполяционной кривой сохраняется для последующей работы с ней. Можно создать кривую, непосредственно указав задающие точки кривой Безье пли В-сплайна. Однако большин- , ство)»онструвтПРбв 'предпонйтают указйввть точки, лежд!диуй' ЦВ:Сйыой К)зцйвЦ:;и: изменять криву!о, перемешал ее характеристические точки. Характе)вгсличв«с»еи-':, Р«." ' ми точками могут быть задающие точки кривой Безье или В-сплайна, еслиемц' .';,.' .р терполяш!ониая кривая относится к одному из этих классов.
Возможность евро-.- -'..: ить интерполяционные кривые по точкам очень полезна, если геол!етричеенад ',",'-', модель создается по существуюшей физической модели. Представьте, что нам нужно получить математическое описание кривых и поверхностей пластияв,'.:.,'::,:, новой модели автомобиля. Мател!атнческое описание поверхностей может прн' меняться для автоматической выработки траекторий движения фрезы с ЧПУ« ..Л Вот в такой ситуации нам и пригодится функция построения поверхностей и ..;„ кривых по точкал!.
Перейдем же теперь к выводу уравнений интерполяциониьтх кривых — эрмюгговой кривой и В-сплайиа. 6.7.1. Интерполяция эрмитояой криеой Основная идея данного метода заключается в том, что каждый сегмент между с»ч седними точками представляется в виде эрмитовой кривой. Поскольку степень та-' кой кривой равна 3, этот подход аналогичен использованию сплайна (рис. 6.9) - ' для проведения кривой по заданным точкам. Рнс. 6.9. Сплайн — инструмент, применяемый а черчении Сплайн, проведенный через заданные точки, имеет физический аналог — балку с':!::! подпорками в тех же заданных точках (рис. 6.10). Форма любого сегмента между -, « ближайшими опорами определяется уравнением балки: Уравнение (6 54) является дифференциальным, ему должна удовлетворять ней- тральная линия балки, находящейся под влиянием силы реакции Яе и момента ' Ма, приложенных к левой опоре.