Домашняя яхт-верфь.

Сайт создан для тех, кто мечтает построить яхту своими руками — яхту своей мечты…

Как создавался Rhinoceros 3D.

Четверть века назад американец Роберт МакНил, по образованию бухгалтер, основал в Сиэтле компанию Robert McNeel & Associates(RMA), ставшую одним из первых реселлеров AutoCAD. Продавая эту набиравшую популярность чертежную систему, Боб раньше других увидел и осознал перспективы трехмерного моделирования, основанного на развитом функционале поверхностей свободной формы. Компания RMA начала разрабатывать соответствующий плагин для AutoCAD в начале 1990-х — когда подобных систем, работающих на персональных компьютерах, просто не существовало.

(Позже появилась SolidWorks, первая в мире трехмерная САПР для Windows, но ее возможности по работе с поверхностями свободной формы были и остаются до сих пор крайне ограниченными.) То, что выпустила компания RMA в 1998 г. под именем Rhinoceros 1.0 («Носорог»), было абсолютно уникальным продуктом. В процессе разработки Боб и его команда отказались от идеи создать плагин для AutoCAD и разработали свой продукт с нуля.

Причем его технологическая основа — библиотека OpenNURBS — была опубликована в открытом коде, что позволило любому желающему получить полный доступ к записи/чтению/модификации геометрических данных и открыло дорогу к широкой интеграции Rhino с другими САПР и созданию многочисленных (к настоящему моменту — более 200) плагинов (подключаемых модулей), разработанных как RMA, так и независимыми разработчиками.

А самое главное — возможности Rhinoceros по моделированию поверхностей свободной формы были и остаются до сих пор непревзойденными в этой ценовой нише (однопользовательская лицензия на Rhinoceros стоит в США меньше тысячи долларов). Аналогичные функции моделирования можно найти сегодня только в системах, которые стоят на порядок дороже (CATIAAlias).

Неудивительно, что система Rhinoceros быстро набрала популярность в нише промышленного дизайна, проектирования яхт, интерьеров, предметов мебели, ювелирных изделий — т.е. во всех областях, где требуется работать с изделиями сложной формы, и где типичными пользователями являются индивидуальные дизайнеры или небольшие коллективы, которым невыгодно покупать лицензии на high-end CAD (адресованные, прежде всего, автомобильной и авиационной отраслям промышленности).

Интересно, что RMA заняла эту нишу рынка без лишнего шума — компания никогда не отличалась активным маркетингом, сосредоточившись вместо этого на продвижение продукта самими пользователями, многие из которых позднее переквалифицировались в реселлеры.

А начиналось все так…

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

Хорошо известно, что научные исследования в области трехмерного геометрического моделирования начались вовсе не в рамках CAD(проектирования с помощью компьютера), а со стороны CAM (производства с помощью компьютера). Изобретение в начале 1950-х гг. станка с ЧПУ (числовым программным управлением) в MIT (Массачусетском технологическом институте, США) породило потребность в цифровой модели детали, необходимой для создания управляющей программы для станка. Изучением принципов моделирования трехмерных объектов занялись различные исследовательские группы, а основными заказчиками этих исследований стали крупнейшие предприятия аэрокосмической и автомобильной отраслей промышленности.

Рис. 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].

Рис. 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].

Рис. 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.

Источник:  http://plmpedia.ru

09.01.2012 - Posted by | CAD-проектирование, яхтенный дизайн | , , , , , , , , ,

Комментариев нет.

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Google photo

Для комментария используется ваша учётная запись Google. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s

profiinvestor.com

Инвестиции и заработок в интернет

SunKissed

мое вдохновение

The WordPress.com Blog

The latest news on WordPress.com and the WordPress community.

Домашняя яхт-верфь.

Сайт создан для тех, кто мечтает построить яхту своими руками - яхту своей мечты...

Twenty Fourteen

A beautiful magazine theme

%d такие блоггеры, как: