¬аше окно в мир —јѕ–
 
Ќовости —татьи јвторы —обыти€ ¬акансии Ёнциклопеди€ –екламодател€м
—татьи

23 декабр€ 2011

NURBS и —јѕ–: 30 лет вместе

ƒмитрий ”шаковƒмитрий ”шаков

¬ уход€щем году инженерна€ отрасль отметила знаменательный юбилей Ц тридцать лет промышленного использовани€ неоднородных рациональных B-сплайнов (сокращенно NURBS Ц от англ. Non-Uniform Rational B-Spline) дл€ моделировани€ трехмерных кривых и поверхностей. ¬ августе 1981 г. американский авиастроительный концерн Boeing предложил сделать NURBS частью промышленного стандарта IGES. » хот€ это решение формально было утверждено только пару лет спуст€, отрасль —јѕ– среагировала на предложение моментально: в том же году о поддержке NURBS объ€вили обе ведущие компании, производ€щие инженерное ѕќ Ц SDRC и Computervision. —ейчас, 30 лет спуст€, отыскать —јѕ– без поддержки NURBS практически невозможно. ¬ чем причина этого феномена? ѕочему изобретение NURBS революционизировало отрасль? Ќиже мы попытаемс€ ответить на эти вопросы, а заодно вспомним всех исследователей, внесших вклад в развитие и становление NURBS.

—кульптурные поверхности

’орошо известно, что научные исследовани€ в области трехмерного геометрического моделировани€ начались вовсе не в рамках CAD (проектировани€ с помощью компьютера), а со стороны CAM (производства с помощью компьютера). »зобретение в начале 1950-х гг. станка с „ѕ” (числовым программным управлением) в MIT (ћассачусетском технологическом институте, —Ўј) породило потребность в цифровой модели детали, необходимой дл€ создани€ управл€ющей программы дл€ станка. »зучением принципов моделировани€ трехмерных объектов зан€лись различные исследовательские группы, а основными заказчиками этих исследований стали крупнейшие предпри€ти€ аэрокосмической и автомобильной отраслей промышленности.

Citroen DS

–ис. 1. CitroЄn DS

ѕосмотрите на фотографию модели CitroЄn DS (годы выпуска 1955-1975), ставшей автомобильной иконой на все времена. “очное изготовление таких сложных Ђскульптурныхї поверхностей требует использовани€ продвинутого математического аппарата, и совершенно не случайно одно из первых исследований в этой области было проведено французским математиком ѕолем де  астельжо (Paul de Casteljau), работавшим на CitroЄn. ќн предложил способ построени€ гладкой поверхности по набору контрольных точек, задающих ее геометрические свойства. –езультаты его работы были опубликованы только в 1974 г., но само исследование было проведено еще в 1959 г., что дает основани€ именно его считать автором кривых и поверхностей, получивших им€ совсем другого француза Ц ѕьера Ѕезье (Pierre Bézier). ¬прочем, прежде чем рассказать о нем, напомним о самой проблематике Ђскульптурныхї инженерных поверхностей.

 ак можно конструктивно (не в виде абстрактного алгебраического уравнени€, а путем геометрических построений) задать гладкую поверхность, обладающую требуемой эстетической формой? ѕростейшим способом задани€ €вл€етс€ указание четырех точек в трехмерном пространстве, которые формируют так называемый билинейный лоскут (bilinear patch):

Ѕилинейный лоскут

–ис. 2. Ѕилинейный лоскут

Ѕилинейный лоскут €вл€етс€ разновидностью линейчатой поверхности (ruled surface), котора€ целиком состоит из отрезков, соедин€ющих две кривых:

Ћинейчата€ поверхность

–ис. 3. Ћинейчата€ поверхность

—тивен  унс (Steven Coons), профессор MIT, обобщил такой способ задани€ на поверхности с двойной кривизной, получившие его им€ (Coons patch):

Ћоскут  унса

–ис. 4. Ћоскут  унса

ќпубликованный им в 1967 г. препринт УSurfaces for Computer-Aided Design in Space FormФ [Coons 1967] получил широкую известность как Ђћала€ красна€ книгаї. ѕредложенный им аппарат граничных кривых и функций сопр€жени€ дал основу дл€ всех дальнейших исследований в этой области. »менно  унс первым из исследователей предложил использовать рациональные полиномы дл€ моделировани€ конических сечений. ¬ыдающийс€ вклад  унса в развитие отрасли —јѕ– подчеркиваетс€ еще и тем, что он €вл€лс€ научным руководителем јйвэна —азерлэнда (Ivan Sutherland), создател€ знаменитой системы Sketchpad, ставшей прообразом нынешних —јѕ–.

 ривые Ѕезье

Ћоскут  унса позвол€л контролировать форму поверхности на ее границах, но не между ними. Ќеобходимость контролировать форму внутри хорошо понимал ѕьер Ѕезье, разрабатывавший в начале 1960-х гг. систему UNISURF дл€ проектировани€ поверхностей автомобилей Renault.
ѕьер Ѕезье

–ис. 5. ѕьер Ѕезье

Ѕезье, как истинный представитель французской математической школы, хорошо знал труды Ўарл€ Ёрмита (французского математика XIX в.), в частности аппарат кубических кривых, названных в его честь. Ёрмитова крива€ (Hermite curve) €вл€етс€ геометрическим способом задани€ кубической кривой: с помощью концевых точек и касательных векторов в них. ¬арьиру€ направлени€ и величины этих векторов, можно контролировать форму Ёрмитовой кривой:

—емейство Ёрмитовых кривых

–ис. 6. —емейство Ёрмитовых кривых

Ѕезье не нравилось то, что, задава€ Ёрмитову кривую, мы указываем только ее поведение в концевых точках, но не можем вли€ть €вным образом на форму кривой между этими точками (в частности, крива€ может удалитьс€ сколь угодно далеко от отрезка, соедин€ющего ее концевые точки). ѕоэтому он придумал конструктивно задаваемую кривую (позднее получившую его им€), форму которой можно контролировать в промежуточных, так называемых контрольных, точках.  рива€ Ѕезье (Bézier curve) всегда выходит из первой контрольной точки, каса€сь первого отрезка ломанной, соедин€ющей все контрольные точки, и заканчиваетс€ в последней контрольной точке, каса€сь последнего отрезка. ѕри этом люба€ точка кривой всегда остаетс€ внутри выпуклого замыкани€ множества контрольных точек:

 рива€ Ѕезье

–ис. 7.  рива€ Ѕезье с четырьм€ контрольными точками

Ѕезье опубликовал работу по своим кривым в 1962 г., но когда двенадцать лет спуст€ компани€ CitroЄn рассекретила свои исследовани€, вы€снилось, что эти кривые были известны де  астельжо как минимум за три года до Ѕезье. ƒе  астельжо описывал их конструктивно, и соответствующий алгоритм получил название в его честь.

ѕозднее ‘оррест установил св€зь между кривыми Ѕезье и полиномами в форме Ѕернштейна (который были известны математикам еще с начала XX в.) ќн показал, что функци€, задающа€ кривую Ѕезье, может быть представлена в виде линейной комбинации базисных полиномов Ѕернштейна. Ёто позволило исследовать свойства кривых Ѕезье, опира€сь на свойства данных полиномов.

ѕерейти от кривых к поверхност€м Ѕезье можно двум€ способами. ¬ первом ввод€тс€ так называемые образующие кривые Ѕезье, имеющие одинаковую параметризацию. ѕри каждом значении параметра по точкам на этих кривых в свою очередь строитс€ крива€ Ѕезье. ѕеремеща€сь по образующим кривым, получаем поверхность, котора€ называетс€ поверхностью Ѕезье на четырЄхугольнике. ќбластью задани€ параметров такой поверхности €вл€етс€ пр€моугольник. ƒругой подход использует естественное обобщение полиномов Ѕернштейна на случай двух переменных. ѕоверхность, котора€ задаетс€ таким полиномом, называетс€ поверхностью Ѕезье на треугольнике.

ѕоверхность Ѕезье

–ис. 8. ѕоверхность Ѕезье

—плайны

 ривые и поверхности Ѕезье, €вл€€сь безупречным геометрическим конструктивом, имеют, однако, пару свойств, существенно ограничивающих их область применени€. ќдно из этих свойств состоит в том, что с помощью кривых Ѕезье нельз€ точно представить конические сечени€ (например, дугу окружности). ¬торой Ц их алгебраическа€ степень растет вместе с числом контрольных точек, что весьма затрудн€ет численные расчеты.

—пособ борьбы с алгебраической степенью сложной кривой известен математикам давно Ц достаточно построить кривую, состо€щую из гладко сопр€женных сегментов, каждый из которых имеет ограниченную алгебраическую степень. “акие кривые называютс€ сплайнами, а в математический обиход их ввел американский математик румынского происхождени€ »саак ЎЄнберг [Schoenberg 1946]. ≈го теоретические работы практическим образом (в контексте —јѕ–) переосмыслил  арл де Ѕур, американский математик немецкого происхождени€. ≈го работа УOn calculating with B-SplinesФ, равно как и вышедша€ в том же году (1972) стать€  окса УThe numerical evaluation of B-SplinesФ установили св€зь между геометрической формой составной кривой и алгебраическим способом ее задани€.

B-сплайны €вл€ютс€ обобщением кривых и поверхностей Ѕезье: они позвол€ют аналогичным образом задавать форму кривой с помощью контрольных точек, но алгебраическа€ степень B-сплайна от числа контрольных точек не зависит.

”равнение B-сплайна имеет вид, аналогичный кривой Ѕезье, но сопр€гающие функции не €вл€ютс€ многочленами Ѕернштейна, а определ€ютс€ рекурсивным образом в зависимости от значени€ параметра. ќбласть задани€ параметра B-сплайна разбита на узлы (knots), которые соответствуют точкам сопр€жени€ алгебраических кривых заданной степени.

»зобретение NURBS

ѕервой работой с упоминанием NURBS стала диссертаци€  ена ¬ерсприла (Ken Versprille), аспиранта —иракузского университета в Ќью-…орке [Versprille 1975].

 ен ¬ерсприл, изобретатель NURBS

–ис. 9.  ен ¬ерсприл, изобретатель NURBS

¬ерсприлл получил степень бакалавра математики в ”ниверситете Ќью-’эмпшира, затем обучалс€ в магистратуре и аспирантуре —иракузского университета, где в то врем€ работал профессором —тивен  унс. ѕроникшись иде€ми  унса, ¬ерсприл опубликовал первое описание NURBS и посв€тил этой теме свою диссертацию. ¬скоре после защиты он был прин€т на работу в компанию Computervision на должность старшего программиста дл€ разработки функционала трехмерного моделировани€ в системе CADDS 3. » хот€ порученна€ ему работа (реализаци€ сплайнов) совпадала с интересующей его темой, его босс, будучи сконцентрирован на выполнении проекта в срок, насто€л на отказе от NURBS и реализации более простого (с математической точки зрени€) аппарата кривых Ѕезье.

—пуст€ несколько лет ¬ерсприлл зан€л руковод€щую позицию в Computervision, и компани€ наконец решила поддержать NURBS. ѕрограммист, которому поручили реализацию, пришел к  ену за советом, который не заставил себ€ ждать: Ђ»змени в таком-то файле такой-то флаг с 0 на 1 и перекомпилируй код!ї ќказалось, что ¬ерсприлл с самого начала реализовал NURBS, просто не включил соответствующий код в релиз. » после исправлени€ пары ошибок этот код заработал!

¬ 2005 году CAD Society, некоммерческа€ ассоциаци€ отрасли —јѕ–, присудила  ену ¬ерсприллу награду за неоценимый вклад в технологию —јѕ– в виде NURBS. ѕреми€ была вручена на конгрессе COFES, состо€вшемс€ в том же году в јризоне.

¬клад Boeing

¬ 1979 г. авиастроительна€ корпораци€ Boeing решила начать работы по разработке собственной CAD/CAM системы под названием TIGER [Solid Modeling 2011]. ќдна из задач, сто€вших перед ее разработчиками, состо€ла в выборе подход€щего представлени€ дл€ 11 требуемых форм кривых, включавших в себ€ все от отрезков и окружностей до кривых Ѕезье и B-сплайнов. ¬ процессе работы один из исследователей Ц ёджин Ћи (Eugene Lee) Ц обнаружил, что основна€ задача (нахождение точки пересечени€ двух произвольных кривых) может быть сведена к решению задачи нахождени€ точки пересечени€ кривых Ѕезье, поскольку люба€ гладка€ крива€ в некоторой окрестности может быть аппроксимирована кривой Ѕезье. Ёто мотивировало исследователей к поиску способа представлени€ всех кривых с использованием одной формы. (ќ диссертации ¬ерсприла они, похоже, ничего не знали.)

¬ажным локальным открытием стала возможность представлени€ окружностей и других конических сечений с помощью рациональных кривых Ѕезье [Lee 1981]. ƒругим шагом к открытию стало использование в промышленной практике давно известных из научной литературы неоднородных B-сплайнов. Ќаконец, исследователи пришли к интеграции двух этих пон€тий в единую формулу Ц NURBS. ѕосле чего потребовалось немало усилий, чтобы убедить всех остальных разработчиков TIGER начать использовать единое представление дл€ всех типов кривых.

¬скоре после этого компани€ Boeing предложила включить NURBS в формат IGES, подготовив технический документ с исчерпывающим описанием нового универсального типа геометрических данных. ѕредложение было с энтузиазмом восприн€то Ц прежде всего, благодар€ позиции компании SDRC.

¬клад SDRC

¬ 1967 г. бывшие профессора машиностроительного факультета ”ниверситета ÷инциннати (—Ўј) создали компанию SDRC (Structural Dynamics Research Corporation). »значально ориентированна€ на оказание консалтинговых услуг в области машиностроени€, SDRC со временем превратилась в одного из ведущих разработчиков —јѕ– в мире. Ќачав с области CAE (средств инженерного анализа) компани€ затем сосредоточилась и на CAD (проектирование), разработав систему I-DEAS, котора€ позвол€ла решать широкий спектр задач Ц от концептуального проектировани€ посредством каркасного и твердотельного моделировани€ до черчени€, конечно-элементного анализа и составлени€ программ дл€ станков с „ѕ”. ¬ основе —јѕ– I-DEAS лежала подсистема твердотельного моделировани€ GEOMOD.

»значально GEOMOD представл€ла твердые тела в виде многоугольных сеток, аппроксимирующих их оболочку. ќсознав важность предложени€ Boeing по стандартизации NURBS, программисты SDRC с энтузиазмом вз€лись за реализацию NURBS в GEOMOD. ќсновным разработчиком алгоритмов был ”эйн “иллер (Wayne Tiller), впоследствии ставший соавтором знаменитой монографии "The NURBS Book" [Piegl 1997].

”эйн “иллер, президент GeomWare, соавтор

–ис. 10. ”эйн “иллер, президент GeomWare, соавтор " ниги NURBS"

—истема I-DEAS прекратила свое существование, после того как в 2001 г. компани€ EDS поглотила SDRC, а ”эйн “иллер применил полученный опыт при реализации библиотеки NLib (см. ниже).

¬клад GeomWare, IntegrityWare и Solid Modeling Solutions

јмериканска€ компани€ IntegrityWare с 1996 г. разрабатывает набор библиотек дл€ геометрических вычислений. ¬ 1998 г. она заключила соглашение с компанией Solid Modeling Solutions о разработке €дра твердотельного моделировани€ SMLib, перва€ верси€ которого увидела свет в том же году.

ядро SMLib устроено в виде Ђматрешкиї, где каждый уровень вложенности €вл€етс€ отдельной библиотекой функций или классов. —амой вложенной Ђматрешкойї €вл€етс€ библиотека функций NLib (NURBS Library), разработанна€ партнерской компанией GeomWare. NLib предоставл€ет исчерпывающий набор функций дл€ конструировани€ и манипулировани€ кривыми и поверхност€ми NURBS. јлгоритмы NLib основаны на классической монографии [Piegl 1997], а один из ее авторов Ц ”эйн “иллер €вл€етс€ основателем и президентом компании GeomWare. Ѕиблиотеку NLib используют более 85 компаний, разрабатывающих инженерное ѕќ.

Ќа основе NLib реализована объектно-ориентированна€ библиотека GSNlib (General Surface NURBS Library), предоставл€юща€ набор методов дл€ создани€, редактировани€, получени€ информации и пересечени€ кривых и поверхностей NURBS. —амой компанией IntegrityWare эта библиотека распростран€лась под именем GSLib и была лицензирована такими компани€ми как Robert McNeel & Associates (дл€ разработки Rhino 3D) и Ford Motor Company.

ѕоверхности подразделени€

ѕоверхности подразделени€ (subdivision surfaces) представл€ют собой мозаичные (полигональные) модели, которые итеративно стро€тс€ по базовой сетке (base mesh), с каждой итерацией приближа€сь к форме моделируемой поверхности. “аким образом, две составные части поверхности подразделени€ Ц это базова€ сетка и алгоритм ее сглаживани€. »сторически теори€ поверхностей подразделени€ началась с работы американского художника-дизайнера „айкина (Chaikin), который предложил способ итеративного построени€ кривой по контрольным точкам. јналогично Ѕезье, построение кривой „айкин начинает с характеристической ломанной, задаваемой набором контрольных точек. Ќа следующем этапе образуетс€ нова€ последовательность контрольных точек, котора€ строитс€ по особым правилам на основе первой последовательности. √еометрически это похоже на обрезание углов (corner cutting) начальной ломаной Ц каждый ее отрезок делитс€ в соотношении 1:2:1 и углы между двум€ отрезками обрезаютс€ за счет вставки новых отрезков между укороченными старыми. ѕроцесс продолжаетс€ до тех пор, пока крива€ не станет достаточно гладкой.

ћетод „айкина

–ис. 11. ћетод „айкина

¬скоре после изобретени€ „айкина было доказано, что генерируема€ его алгоритмом крива€ есть не что иное, как квадратичный однородный B-сплайн.

ћетод „айкина лег в основу целого семейства алгоритмов, предложенных его последовател€ми. ќдним из таких алгоритмов стал предложенный ƒу (Doo) и —абиным (Sabin) метод построени€ квадратичной однородной B-сплайновой поверхности по базовой четырехугольной сетке (кажда€ грань в такой сетке €вл€етс€ выпуклым четырехугольником) [Doo 1978]. ¬скоре они смогли распространить свой метод на любые базовые сетки, в которых кажда€ грань может иметь произвольное число вершин Ц 3, 4, 5Е ѕолученна€ поверхность при этом локально (за исключением конечного числа точек) €вл€етс€ квадратичным однородным B-сплайном. ћетод ƒуЦ—абина состоит в том, что на очередном шаге кажда€ грань замен€етс€ гранью меньшего размера с тем же количеством вершин. ѕри этом кажда€ вершина уменьшенной грани есть среднее арифметическое исходной вершины, центров двух смежных ребер и центра самой грани. ¬ результате получаетс€ несв€зна€ сетка, в которой затем кажда€ нова€ вершина соедин€етс€ со всеми другими вершинами, полученными из одной и той же старой вершины, образу€ новые грани. ѕолученный св€зный многогранник представл€ет собой основу дл€ следующего шага алгоритма. Ќетрудно видеть, что этот метод, как и метод „айкина, состоит в обрезании углов:

ћетод ƒу-—абина

–ис. 12. ћетод ƒу-—абина

јспиранты университета ёты  этмал (Catmull) и  ларк (Clark) смогли расширить метод обрезани€ углов дл€ построени€ однородных кубических B-сплайнов (каждый локальный участок поверхности подразделени€  этмала- ларка €вл€етс€ B-сплайном - за исключением конечного числа точек) [Catmull 1978]. ѕредложенный ими метод, как и метод ƒуЦ—абина, может работать на базовых сетках произвольной топологии (получаема€ поверхность €вл€етс€ локально подобной кубическому B-сплайну). јлгоритм сглаживани€ состоит в итеративном построении новой сетки по несколько другим правилам. –аботу метода иллюстрирует следующий рисунок:

ћетод  этмала- ларка

–ис. 13. ћетод  этмала- ларка

ѕоверхности подразделени€ Ц удобный способ представлени€ гладких поверхностей компактным образом. Ёто свойство широко используетс€ дл€ представлени€ различных объектов живой природы, а поэтому хорошо подходит также дл€ описани€ сложных поверхностей в системах поверхностного моделировани€. (ƒл€ поддержки негладких сопр€жений Ц острых ребер Ц используютс€ специальные атрибуты, которые ограничивают область действи€ алгоритмов подразделени€.)

¬ насто€щее врем€ разрабатываетс€ несколько промышленных стандартов обмена геометрическими данными на основе поверхностей подразделени€.

„ем же хороши NURBS?

ѕочему же кривые и поверхности NURBS сыграли столь важную роль в развитии —јѕ–? ѕрежде всего потому, что они предлагают общую математическую форму дл€ представлени€ как аналитических геометрических объектов, так и кривых и поверхностей свободной формы. ћанипул€ци€ контрольными точками и весами NURBS позвол€ет гибко проектировать большое разнообразие геометрических форм. –асчеты с NURBS выполн€ютс€ достаточно быстро и €вл€ютс€ численно устойчивыми.  ривые и поверхности NURBS имеют €сную геометрическую интерпретацию, котора€ особенно полезна дл€ дизайнеров, имеющих хорошие знани€ геометрии. NURBS обладают богатым набором инструментов (вставка/удаление/изменение узла, повышение степени, расщепление), которые могут быть использованы при создании и анализе этих объектов. NURBS €вл€ютс€ инвариантом операций масштабировани€, вращени€, трансл€ции, обрезани€, построени€ параллельных и перспективных проекций [Piegl 1991].

¬ то же врем€ представление кривых и поверхностей в виде NURBS имеет р€д недостатков. ѕрежде всего, возрастает расход пам€ти: например, представление окружности в виде NURBS-кривой требует задани€ семи контрольных точек и дес€ти узлов, дл€ чего требуетс€ хранить в пам€ти 38 чисел с плавающей точкой вместо семи (центр, нормаль, радиус). Ќеверное применение весов может привести к очень плохой параметризации, котора€ сделает невозможной дальнейшие построени€ на основе NURBS. Ќекоторые алгоритмы (такие как нахождение пересечени€ двух поверхностей) лучше работают с традиционной формой представлени€. Ќаконец, некоторые фундаментальные алгоритмы (такие как обратные отображени€) €вл€ютс€ численно неустойчивыми в случае NURBS.

Ќесмотр€ на все эти недостатки, NURBS продолжают широко примен€тьс€ в —јѕ– Ц ведь ничего лучшего придумано не было. ¬прочем...

T-сплайны

T-сплайны - вид поверхности свободной формы, подобной неоднородному рациональному B-сплайну (NURBS).  лючевое отличие T-сплайнов от NURBS состоит в том, что контрольные точки NURBS-поверхности должны образовывать топологическое подобие пр€моугольной решетки, в то врем€ как у T-сплайнов допустимы так называемые внутренние T-точки (контрольна€ точка с трем€, а не четырьм€ сосед€ми).

T-сплайн

–ис. 14. “-сплайн

ѕри моделировании органических поверхностей с помощью T-сплайнов удаетс€ сократить число контрольных точек вдвое по сравнению с NURBS (при тех же требовани€х к G2-гладкости поверхности).

T-сплайны были изобретены “омасом —едербергом (Thomas Sederberg) [Sederberg 2003]. ¬ той же работе предложено пон€тие T-NURCCs, €вл€ющеес€ обощением “-сплайнов и поверхностей подразделени€  этмала- ларка и представл€ющее собой единый математический аппарат дл€ работы с NURBS, “-сплайнами и поверхност€ми подразделени€. ƒл€ промышленного применени€ этой технологии в 2004 г. была основана компани€ T-Splines, Inc. (—Ўј), разрабатывающа€ собственные конечно-пользовательские программные продукты и библиотеки дл€ разработчиков.

¬ытеснит ли эта запатентованна€ технологи€ NURBS? ¬рем€ покажет.

ѕостскриптум

¬ тот же день, когда была опубликована эта стать€, пришло известие о поглощении технологических активов T-Splines компанией Autodesk. Ётот шаг однозначно свидетельствует об отраслевом признании “-сплайнов. ¬скоре эта технологи€ по€витс€ в продуктах Autodesk, а значит и другие поставщики не смогут остатьс€ в стороне от нее. ∆дем по€влени€ “-сплайнов в STEP?

Ћитература

Catmull, E., and Clark, J., 1978, Recursively generated B-spline surfaces on arbitrary topological meshes, Computer-Aided Design 10(6):350-355.

Coons S. ј., 1967, Surfaces for Computer Aided Design of Space Form, MIT Project MAC, AUC-TR-41. http://publications.csail.mit.edu/lcs/pubs/pdf/MIT-LCS-TR-041.pdf

Cox, M. G., 1972, The Numerical Evaluation of B-Splines, J. Inst. Mathematics and Applications, Vol. 10, pp. 134-149.

De Boor, C., 1972, On Calculation with B-Splines, J. Approximation Theory, Vol. 6, No. 1, pp. 50-62.

Doo, D., 1978, A subdivision algorithm for smoothing down irregularly shaped polyhedrons, Proceedings on Interactive Techniques in Computer Aided Design, pp. 157-165.

Lee, E. T. Y., 1981, A Treatment of Conics in Parametric Rational Bezier Form, Boeing document, Boeing, Seattle, Wash.

Piegl, L., 1991, On NURBS: A Survey, IEEE CG&A, Vol. 11, No. 1, pp. 55-71. http://www.ece.uvic.ca/~bctill/papers/mocap/Piegl_1991.pdf

Piegl, L. A., and Tiller, W., 1997, The NURBS Book, Springer.

Schoenberg, I. J., 1946, Contributions to the problem of approximation of equidistant data by analytic functions, Part A: On the problem of smoothing or graduation, a first class of analytic approximation formulas, Quart. Appl. Math. 4, 45Ц99.

Sederberg, T.-W., Zheng, J., Bakenov, A., and Nasri, A., 2003, T-Splines and T-NURCCs, ACM Transactions on. Graphics, 22(3), 477-484, http://cagd.cs.byu.edu/~tspline/innovation/papers/tspline.pdf

Solid Modeling Solutions, 2011, NURBS at Boeing. http://www.smlib.com/white%20papers/nurbsatboeing.htm

Versprille, K. J., 1975, Computer-Aided Design Applications of the Rational B-Splines Approxamation Form, doctoral dissertation, Syracuse Univ., Syracuse, N.Y.

 омментариев: 25
id 8389     10 окт€бр€ 2012, 18:16
 ≈вгений Ўирин€н
ƒмитрий, ¬ладимир,
—пасибо! “еперь стало пон€тнее.

ќтветить   ÷итировать выделенное

id 8849     13 но€бр€ 2012, 15:59
 ≈вгений Ўирин€н
¬озник вопрос, на который € не нахожу ответа - во вс€ком случае гугл и "¬ведение в современные —јѕ–" не про€снили ситуацию.
¬ NURBS-геометрии нежелательны скруглени€, которые соедин€ют 3 ребра в одной вершине.
Ёто по€сн€ет cadjunkie (Adam) из Engineer vs Designer http://www.youtube.com/watch?v=V1qn3vQEH7o&feature=player_detailpage&list=ULV1qn3vQEH7o#t=106s . ѕричем это проблема не только Rhino.
 аким же образом решаетс€ эта проблема, например, в Solidworks или Autodesk Inventor Fusion, где не представл€ет труда сделать такие скруглени€?
“акже в другом ролике (ссылки по рукой нет) тот же cadjunkie
выполн€ет поверхность вращени€ с небольшим отступом от оси, зашива€ это круглое отверстие при помощи Patch. “ем самым он избегает невозможной дл€ NURBS топологии, когда изолинии сход€тс€ в точку.
»нтересно, если в SW такие ухищрени€ не нужны, то чем Rhino-сфера (та же поверхность вращени€ со швом) отличаетс€ от SW-сферы?

ќтветить   ÷итировать выделенное

id 8853     13 но€бр€ 2012, 17:09
 ƒмитрий ”шаков
ќтвет ≈вгений Ўирин€н

ј кто сказал, что SolidWorks зашивает треугольные лоскуты по-другому? ѕо-момеу, там точно также получаетс€ вырожденна€ NURBS-поверхность, в которой несколько контрольных точек сведены в одну.
»деальным решением такой задачи €вл€ютс€ поверхности Ѕезье на треугольнике (которые, впрочем, ни в одном коммерческом €дре трехмерного моделировани€ не реализованы, насколько мне известно). »ли T-сплайны, которые допускают такую топологию.

ѕо опыту одного из прошлых проектов вспоминаю еще такой стандартный прием - разделить треугольную область на три четырехугольных, поставив дополнительную вершину в центре.

ќтветить   ÷итировать выделенное

id 8863     13 но€бр€ 2012, 21:35
 ¬ладимир ѕанченко

÷итата из ≈вгений Ўирин€н, id 8849:

 аким же образом решаетс€ эта проблема, например, в Solidworks или Autodesk Inventor Fusion, где не представл€ет труда сделать такие скруглени€?



¬ ролике речь не просто о скруглении. “ам выполн€етс€ стуковка граней по G2. ј это уже не сфера, котора€ обычно примен€етс€ в MCAD команде "—кругление".
„то касаетс€ NURBS и трех вершин, тут как не крути NURBS описываетс€ по UV и если один из параметров схлопнуть в 0, то будет плохо.

ќтветить   ÷итировать выделенное

id 8867     13 но€бр€ 2012, 22:27
 ≈вгений Ўирин€н

÷итата из ¬ладимир ѕанченко, id 8863:

¬ ролике речь не просто о скруглении.


ƒа, там выполн€етс€ сочленение по G2 дл€ того, чтобы получить блик без переломов.
ѕросто у мен€ был вопрос о том, есть различие между сферой в SW и сферой в Rhino? —фера в SW тоже имеет артефакты на полюсах?
ƒо сих пор в голове никак не уложитс€ тот факт, что окружность в Rhino и Alias - это кака€-то друга€ окружность, чем в AutoCAD... ћатематика €сна, но все же...

ќтветить   ÷итировать выделенное

id 8868     13 но€бр€ 2012, 23:12
 ƒмитрий ”шаков
ќтвет ≈вгений Ўирин€н

¬ ролике с Rhino на углу кубика сначала строитс€ обыкновенна€ хорошо параметризованна€ NURBS-сфера (по команде Fillet). ј потом она замен€етс€ на поверхность, построенную по сети из трех кривых. ¬ случае G2-сопр€жений ("Curvature") это, конечно, уже не сфера. Ќо даже если задать в Rhino G1-гладкость ("Tangency"), все равно получаетс€ лоскут поверхности (сферы) с вырожденной NURBS-параметризацией.

¬ этом месте (в случае G1) вполне можно было бы вставить проверку на то, что все кривые из сети €вл€ютс€ дугами окружностей с центрами в одной точке - в этом частном случае существует аналитическое решение (сфера), дл€ которого можно сделать четырехугольную параметризацию. Ќо Rhino, как видно, этот частный случай не обрабатывает, стро€ вместо него обобщенное решение. ј ACIS и Parasolid, вполне возможно, умеют правильно обрабатывать этот частный случай (дл€ G1-сопр€жени€).

ќтветить   ÷итировать выделенное


ѕол€, помеченные * об€зательны дл€ заполнени€

  »м€ *

  e-mail

  web

¬ы можете ввести не более 3000 символов, осталось:

¬ведите
первые 3 символа:

 *

ќбновить



    

„итайте также:


¬акансии:

јктуальное обсуждение

RSS-лента комментариев

ƒавид Ћевин
ƒавид Ћевин
ќт редактора: ћолоток, лопата и порождающее проектирование
ѕроект ЂЌародное —јѕ–-интервьюї

—лучайна€ стать€:

BIM Ц единорог дл€ проектировщика — –оман ќкунский (18 июл€ 2017)
isicad Top 10

—амые попул€рные материалы

   ‘орумы isicad:

isicad-2010 isicad-2008
isicad-2006 isicad-2004

ќ проекте

ѕриглашаем публиковать на сайте isicad.ru новости и пресс-релизы о новых решени€х и продуктах, о проводимых меропри€ти€х и другую информацию. јдрес дл€ корреспонденции - info@isicad.ru

ѕроект isicad нацелен на

  • укрепление контактов между разработчиками, поставщиками и потребител€ми промышленных решений в област€х PLM и ERP...
ѕодробнее

»нформаци€ дл€ рекламодателей


¬се права защищены. © 2004-2017 √руппа компаний «Ћ≈ƒј—»

ѕерепечатка материалов сайта допускаетс€ с согласи€ редакции, ссылка на isicad.ru об€зательна.
¬ы можете обратитьс€ к нам по адресу info@isicad.ru.