Основы САПР (CAD,CAM,CAE) - (Кунву Ли)(2004) (951262), страница 42
Текст из файла (страница 42)
Сделаем зто, продифференцировав уравнение (7413) по параметру ж 'мч~.']зов+био ' би -био 1 — 4и+ Зиз 2и+Зио] [',"З]]рйите внимание, что произведение вто1юй и третьей матриц мы записали в [екь[[й''внектора-столбца с злементами С,(р), Сз(о), Сз(р), Со(о). Чтобы вычислить ой[од)вводную по и в точке А, мы должны подставить в уравнение (7.20) значения , ж,', '6; и = со. Подстановка и = 0 в вектор-строку делает ее равной [О 0 1 0], благо- '~14](зя чему получается, что Р„(А) = С з (оо ). Поскольку Сз(ро) определяется вектоР„(О,О), Р„(0,1), Р (0,0) и Р (0,1), мы заключаем, что векторы кручения , з',к(0~0) и Р„„(0,1) определяют Р„(А).
Подставим и = 1, р = ьо в уравнение (7,20), чтобы выяснить, от чего зависит Р„(В): С4(оо) [Р (1 0) Р (1 1) Р. (1 0) Р (1 1)] 1Иы показали, что вектор касательной в точке В зависит от векторов кручения Рм(1,0) и Р (1,1). Отсюда мы делаем вывод, что векторы кручения влияют па любую внутреннюю изопараметрическую кривую, а следовательно, определяют форму бикубического лоскута. Можно расширить концепцию кривой Безье, определяемой задающим много",,",,;.:,:,,: угольником, на одно измерение, в результате чего получится поверхность Безье. определяемая задающим многогранником. Уравнение поверхности Безье выглядит следующим образом: к н Р(и,о)=~~Р4 Во„(и)й,„(о) (Оьи <1,0ьо<1), (7.22) но Г-о где Р, — радиус-векторы задающих точек.
находящихся в вершинах залаюшего многогранника (рис. 7.4), а В;„и  — функции сопряжения, обычные для кри- '-'~:,: вых Безье. Таким образом, степень уравнения поверхности по и и о определяется количеспюм задающих точек в соответствующих направлениях. -'-: Уравнение (7.22) можно раскрыть, записав сумму по)' в явном виде: Р(и,р) = 2, [Р,.лВо (о) + Р,, В, „(о)+ ... + Р, „В „(р)]В, „(и). (7.23) мо .':; Уравнение (7.23) иллюстрируег, что поверхность Безье получается сопряжени„;::':: ем н + 1 кривых Безье, каждая из которых определяется задающими точками Р,о, -: Р,.
„Ргм ...,Р,, сопрягаемыми функциями В;„(и). Можно показать, что та же поверхность Безье получается при сопряжении т + 1 кривых Безье, определяемых задающими точками Р ., Ркм Р,,, Ркз и фУнкциЯми В (о). Инюк, пово7зхность Безье получается, если за~ающив точки кривой Безьв заиенить кривыми Безье. Рнс.
т.е. Поверхность Безье с задающим многогранником Займемся исследованием свойств поверхности Безье. Сначала нужно показать, что четыре угловые задающие точки задающего многогранника лежат на по- Ртов> - т т Р>, в„то>в,. >о> = ь ~ БР„в, „тв>] в>, то>- 1-О >-О >О(,т О =~' "> Р,. п>(1-о) ' В,„(0)= о ь[ ]Р. В,,та>=С ]БР,,[С ] '11- >'1] =[:]'4=' (7.24) (ф~т)й>В)о (7,24) показывает, что задающая точка Роа лежит на поверхности и ай~йфгртвуеттзначениям параметра и = О, и = О. Та же процедура позволяет прой~бгь,,ле2кат ли остальные угловые задающие точки (Р„л, Ро, Р„) на поверхх>~, . 1 „ф~йгткнгение к:этому мы можем показать, что граничные кривые поверхности >Еаавв':тайжй яВЛяЮтея КРИВЫМИ БЕЗЬЕ, ОПрЕдЕЛяЕМЫМИ СООтВЕтетВуЮщИМ КОЛИ(И1вн(м';заййрщих точек.
Подставим и = О в уравнение (7.22), чтобы получить рввиезгиёФдвиой из граничных кривых. ~>гье~~~".>~~, хс, Рг Вь„(0)Ву „(и) = ч ~~~Р, ( ~и>(1-и)" 11 В, (и) = =ХРюВт.(п). у о ~анненнеа.(7.25) говорит нам о том, что граничная кривая, соответствующая 29 (еннювнараметра и = О, является кривой Безье с задающими точками Раь щт: .;;.' Ра„„, Аналогичным образом можно показать, что оставшиеся три гранича(йа(рива>е также являются кривыми Безье, а их залающие точки являются )за)141(з212' дершинами задающего многогранника. поскольку вектор касательной ьа((()вг((1! кривой Безье определяется соседней с концом задающей точкой, вектор~а>1[е>ва)зельньгх в напРавлении и в точках Раа и Ро опРеделЯют точки Ра> '~~~,й>ответственно.
Следовательно, Ра, и Ро, играют ту же роль, что и ФЯз$,РР(0,1) для бикубического лоскута Если с этой точки зрения подойти ЙЙОЕ1>РХНОСтн БЕЗЬЕ СТЕПЕНИ 3 ПО и И О (СМ. рИС. 7А), МОЖНО СдЕЛатЬ СЛЕдуЮщЕЕ 'Ф~йййвнне. ЗадающаЯ точка Р, о игРаег тУ же Роль, что и Р„(0,0) длЯ бикУбичеФШ Лоскута, Рта — ту же, что Р„(1,0), Р, з — ту же, что Р„(0,1), Р2 2 — ту же, что >ь(т3)1' Ра 2 — ту же, что Р„(0„0), Ро 2 — ту же, что РР(0,1), Рзт — ту же, что РР(1,0), а>.' туже> что Р„(1,1).
Следовательно, эти восемь задающих точек вместе с чевйат>нй УГЛОВЫМИ ЗаДаКЯЦИМИ тОЧКаМИ ОПРЕДЕЛЯЮТ ГРаНИЧНЫЕ КРИВЫЕ ПОВЕРХНО- й. 0 ставшиеся четы(и> задающие точки Р, „Р2 „Р> 2, Р,2 определяют форму Ътрвнней области поверхности подобно векторам кручения бикубического 'в>21Ута. И: уже отмечали, что степень поверхности Безье определяется количеством закйцих точек У(ювнения поверхностей высоких степеней страдают теми же не- тевинтвсти Безье. Для этоге мы подставим граничные значения параметров и и е 1:,'чивциение(7.22).
Подстановка и - О и о 0 дает: р!,3 вава РО.2 Ра,> Овис. т.з. Объединение лоскутов Безье У.Б.1. Вычисление поверхности Безье Координаты х, у я 2 точки поверх>юсти Безье, соответствующей значениям параметров и = ио и о = п>Р вычисляются по формуле. Р(иа,оо) =>„Х,,Р,,ВО„(ио)В, (Са) >-О >=0 Перепишем уравнение (7.26), раскрыв сумму по с Р(п„по ) = > ",> Р„В, „(ио )Ву (оо ) = =о>=о - Ев„в,„о,>] ю =о (7.27) Вав(и )+Ц Р„В, (со) В>„(и )+...+ > >=а с (оа) В . (па)- >-О И В УРавнении (7.27) сУмма 2' РоаВ, Р(оа) вычислаетсЯ пРи помощи алюРнтма де Кастильо по задающим точкам Род Алгоритм де Кастильо описан в приложе> достатками, что и уравнен>си кривых высоких степеней, поэтому при молелпрорании поверхностей обычно используются поверхности Безье степени 3 по и и е, точно так же как при моделировании кривых использовались кривые Безье степени 3.
При необходимое~и смоделировать сложную поверхность приходится создавать несколько поверхностей Безье третьей степени и соединять их друг с друюм. Поверхности должны соединяться таким обр>к>оы, чтобы обеспечивалась непрерывность на границе, по которой осуществляется соединение. Это достигается наложением ограничений иа задающие точки, расположенные слева и справа от границы. Ограничение состоит в том, что эти точки должны лежа~а на прямой линии, проходящей через залающ)~ю точку, лежащую на общей границе (рис. 7.5). Если это требование выполняется, первая протизводная оказывается непрерывной во всех точках границы (72, 138, 461.
,'))й~::И'. Тем'же методом вьгчислшотся и все остальные суммы. Если обозначить зяе символами Се, Сь ..., С то уравнение (7.27) можно будет переписать таю Р(ив*во) =СоВол(ио)+СьВс.(кв)+".+С.В.л(яе) = (7.28) =2'С,.Вс„(и ). ° О Выражение (7.28) также может быть вычислено по алгоритму де Кастильо для звдаюишх точек Сь ХЕЛ„: диФФеренцирование поверхности Безье Ц;.снстемах геометрического моделирования часто возникает потребность в вычислении вектора нормали в произвольной точке поверхности. Например, для 'отображения затушеванного изображения поверхности необходимо определять ,,у(яш между падающим светом и нормалью к поверхности в каждой ее точке. Век::тоййгиормали также используются для вычисления положения фрезы при обра'боэхе'пояерюшетг~ станком с чпУ.
' );ба)(, Вам нужцо уметь вычислять производные дР(и,и) дР(и,о) — и— дя до в.д'Ю5фйд~д"Ц~",повеРхности, посколькУ вектоР ноРмали опРеделЯегсЯ пРоизведенилвй'-'Зьчц~,"чйстяых производных. Вычислить производную по и для поверхности .Вой~,"а.'Е)тйа)х'а '= ко и в = во можно так, как показано ниже. Производная по в ~~е~Фя аналогичным образом. 'л1йффеРэт(пируя выражение (7.23) по и, получим ~Р, В, (и) В (о)+ дР(и,в) е1 Г" в' пи ~;-о (7.29) ~1 Г я ,(Гл +~~~ РмВ,„(и) В, (о)+...+ — ~~,Р,.
В, (и) В „(в). $гвййяэцвем ктвффициент перед Вв (в) в уравнении (7.29), используя результат й(е!зк)(й(РШ 6.4.1 в следующем виде: г Гл 1 1)'и — 1'~ — ~~~ РлВгл(и)~ =я~"~ ~и'(1-и)" ' 'а,.в, (7.30) ~~~~)~в ~Рв+ьо Рьо Й~фЬ'Эасть выражения (7.30) можно вычислить для произвольного значения Ф::~~,алгоритму де Кастильо (см. раздел 6.4.1).
Тем же путем осуществляется 1)Фазе)гение коэффициентов В, (о), Вх„(в), ..., В „(о) для иь Если обозначить геу))лгейиые значения коэффициентов символами Св, Сь ..., С„, выражение (7.29) й1дг)ц) будет переписать в виде =СвВ (в)+С,В, (о)+...+С В (в)=~„С)Вл„(о). (7.31) )-о %$Фбйгееиие (7.31) вычисляется также по алгоритму де Кастильо по задающим 'вч)(ж С.„ У.б.
В-сплайновая поверхность Подобно тому как от уравнения кривон Безье мы перешли к уравнению поверх ности Безье, мы можем перейти и от уравнения В-сплайна к уравнению В-сплай новои поверхности: л Р(ко)=~ ~ РзЖы(и)Ф~(в) (з,, <и ~з„„,г,, ~Г „), (732 ;-от-о .!,- пользуемые для построения В-сплайнов. Эти функции сопряжения определяются узловыми значениями ~, зо ..., з„,е и Гв, Гь ...„ц,„соответственно. диапазоны параметров используются в определении В-сплайна, поскольку функции сопря ':;:";:.