МОДЕЛИРОВАНИЕ КРИВЫХ ЛИНИЙ КЛАССА F

 

 

 

Кратко излагается теория кривых линий высокого качества по критериям плавности, описываются способы моделирования кривых с применением программы FairCurveModeler на различных видах исходных данных,  показывается преимущество способов моделирования перед существующими способами в CAD-системе КОМПАС 3D. Даются упражнения для освоения способов. Приводятся контрольные вопросы для закрепления изученного материала. Предлагается интерактивный тест с получением оценки.

Предназначено для студентов,  обучающихся по направлениям бакалавров / магистрантов.

 

 

 

 

Введение

 

Функциональные кривые определяют существенные функциональные характеристики технического изделия. Например, профиль крыла определяет аэродинамическое качество крыла самолета. Профиль кулачка определяет газодинамические характеристики впускных и выпускных  систем двигателя. Кривые линии, формирующие  кузов автомобиля, определяют эстетичность (красоту кузова). Направляющая линия плуга определяет рабочие характеристики плуга: качество вспашки, энергозатраты на вспашку. Осевая линия трассы дороги определяет эстетику дороги, безопасность и комфортность вождения транспортного средства.

При проектировании изделий с функциональными кривыми и поверхностями  используют т.н. кривые и поверхности класса А. По определению проф. Фарина [Farin 2006 ] кривая класса А имеет минимальное количество участков монотонного изменения кривизны.

Разработаны методы моделирования кривых и поверхностей класса А.

Эти методы реализованы в функционалах таких САПР,  как Alias Design и Catia. Системы Alias Desig, Catia и др., специализированные на моделировании кривых и поверхностей класса A, остаются вне поля образовательного процесса УГАТУ.

В существующих САПР общего машиностроения отсутствуют специальные команды построения кривых и поверхностей класса A.

Будущие инженеры, которые обучаются методам геометрического  моделирования с применением функционала обычных машиностроительных САПР,  не получают знаний, навыков и умения моделирования кривых и поверхностей высокого качества для изделий с функциональными кривыми и поверхностями. И в будущем они обречены на проектирование изделий с низкими функциональными  характеристиками.

К счастью, советской школой инженерной геометрии был создан значительный задел в виде теории, методов и программных систем геометрического моделирования изделий с функциональными кривым и поверхностями. Теория исчисления параметров, созданная научной школой акад.Четверухина Н.Ф. и проф.Котова И.И., является выдающимся научным и практическим результатом развития Начертательной Геометрии в СССР. Теория исчисления параметров была использована проф. Ленинградского университета Самуилом Гейзбергом в США для создания успешной САПР Pro/ENGINEER. Параметрическое моделирование является теперь основой любой САПР.

Научной школой проф. Осипова В.А. и его учениками теория  исчисления параметров была использована для разработок ряда инновационных методов моделирования кривых линий и поверхностей высокого качества по критериям плавности, в частности метода построения геометрически параметризованного сплайна и метода v-кривой. Эти методы являются основой программы FairCurveModeler.

Научной школой акад. Полозова В.С. и проф. Роткова С.И. теория исчисления параметров была поднята на высочайший уровень как математический аппарат анализа параметрических связей 2D и 3D объектов. На основе этого аппарата были разработаны  эвристические алгоритмы (алгоритмы искусственного интеллекта)  синтеза 3D объекта по плоским проекциям и построения оптимизированного чертежа по 3D модели объекта.

Чрезвычайно важной для практического проектирования оказалась идея Клевенского А.Е.[Клевенский 73] отложенного вычисления параметров  геометрического объекта до установления достаточных параметрических связей между геометрическими объектами. На кафедре НГ УАИ коллективом разработчиков  во главе с к.т.н. Макутовым В.И. эта идея была успешно воплощена в программе 'Альфа'. Программа внедрена в ряде ведущих машиностроительных предприятиях СССР. К сожалению, к настоящему времени программа 'Альфа' утеряна из-за безответственного и непрофессионального отношения руководства кафедры НГ к сохранению, сопровождению и развитию программы 'Альфа'.

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

Для моделирования изделий с функциональными кривыми и поверхностями недостаточно качества кривых класса A. Методы моделирования функциональных кривых должны обеспечивать [Муфтеев & Зиятдинов 2017]:

-         высокий порядок гладкости (выше 3-го порядка) кривой;

-         минимизацию числа вершин кривой (экстремумов кривизны);

-         ограничение максимального значения кривизны;

-         малое значение потенциальной энергии кривой.

Кривые линии, которые удовлетворят данным требованиям, были названы кривыми класса F.

Для обучения инновационным методам моделирования кривых класса F предлагается использовать программу FairCurveModeler. Программа имеет различные реализации, в том числе в виде прикладной библиотеки КОМПАС ГРАФИК.

Для успешного выполнения данной работы вы должны уметь работать с КОМПАС ГРАФИК.

 

 

1. Теория кривых линий

 

 

 

ТЕОРИЯ

 

Функциональные кривые.  Что это такое?

Функциональные кривые определяют существенные функциональные характеристики технического изделия. Например, профиль крыла определяет аэродинамическое качество крыла самолета. Профиль кулачка определяет газодинамические характеристики впускных и выпускных  систем двигателя. Кривые линии, формирующие  кузов автомобиля, определяют эстетичность (красоту кузова). Направляющая линия плуга определяет рабочие характеристики плуга: качество вспашки, энергозатраты на вспашку. Осевая линия трассы дороги определяет эстетику дороги, безопасность и комфортность вождения транспортного средства.

Плавность кривой. Что это?

Есть два базовых критерия плавности:

-  порядок гладкости;

-  число вершин кривой (экстремумов кривизны);

Для моделирования кривых в САПР используют сплайновые кривые r(t). Общее название сплайновых кривых – NURBS кривые. Сплайновая кривая состоит из сегментов. Сегмент NURBS кривой представляет собой рациональный параметрический полином порядка n (2 < n < 11). 

 

Математики говорят, что данная сплайновая кривая r(t) принадлежит к кривым класса Cm,  если у кривой существует непрерывная производная m-го порядка. То есть сегменты сплайна в точках стыка имеют общие производные до m-го порядка. Сплайновая кривая степени m имеет порядок гладкости m-1.

Что такое кривизна кривой в данной точке? В любой точке аналитической кривой можно определить окружность кривизны.  Окружность кривизны в фиксированной точке  - это окружность, проведенная через фиксированную точку и две другие точки,  при стремлении к нулю расстояний между точками.

Геометрическое место центров окружностей кривизны определяет эволюту.

Геометры оперируют понятием обвод. Обвод это кривая, составленная из дуг

аналитических кривых различной природы. Синоним обвод - геометрический сплайн.

Например, обвод может состоять из отрезков прямых, дуг окружностей, эллипсов, дуг различных спиралей.

Геометры говорят, что данная кривая первого порядка гладкости, если дуги обвода  состыкованы так, что в точках стыка дуги имеют общие касательные. В этом случае обвод представляет собой геометрический сплайн класса G1. Отрезок прямой и дуга окружности будут представлять обвод первого порядка гладкости (G1),  если в общей точке стыка касательная  дуге окружности будет совпадать с отрезком.

Обвод второго порядка гладкости в точках стыка дуг аналитических кривых имеет общие окружности кривизны. Тогда говорят, что  обвод представляет собой геометрический сплайн класса G2 или кривую 2-го порядка гладкости.

По графику эволюты легко определяются вершины кривой. В точке вершины кривой значение радиуса кривизны принимает наибольшее или наименьшее значения.

Кривизна есть величина обратная радиусу кривизны. Прямая имеет нулевую кривизну и бесконечный радиус кривизны в каждой точке.

Для визуального анализа качества кривой наряду с эволютой строится график кривизны на кривой. Величины значений кривизны откладываются по нормалям к кривой.

На рис. 1  показаны графики эволюты и  кривизны эллипса.

Рис. 1.1. Графики кривизны и эволюты эллипса.

По графикам легко определяется вершины кривой и участки монотонного изменения кривизны. В точке вершины кривой значение радиуса кривизны принимает наибольшие или наименьшие значения. Эллипс имеет четыре вершины и четыре участка монотонного изменения кривизны.

А теперь превратим эллипс в окружность (рис. 2).

Рис.1.2. Графики кривизны и эволюты окружности.

Как видим, график эволюты вырождается в точку, а график кривизны превращается в окружность. Подумайте,  почему это так.

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

Что такое точка перегиба? В точке перегиба меняется форма кривой с выпуклой на вогнутую. Более строго,  меняется направление вращения точки при движении по направленной кривой вокруг центров окружностей кривизны. Например, если мы до точки перегиба идем по кривой, вращаясь вокруг центра кривизны по часовой стрелке, то после точки перегиба мы будет идти по кривой, вращаясь вокруг центра кривизны против часовой стрелки. В точке перегиба кривизна равна нулю.

Модель кривой в инженерной геометрии называют определителем кривой. Определитель состоит из двух частей. Геометрической части (или геометрического определителя (ГО)) и алгоритмической части. Геометрический определитель используется конструктором для управления положением и формой кривой. Алгоритмическая часть служит для воспроизведения непрерывной кривой.

Наиболее привычными видами ГО являются опорная ломаная и касательная ломаная.

Моделируемая кривая проходит через вершины опорной ломаной или касаясь сегментов касательной ломаной.

Наиболее оснащенным ГО является ГО Эрмита. Если на ГО вида опорной ломаной к вершинам мы добавим векторы касательных, то получим ГО Эрмита первого порядка фиксации. Если мы еще  добавим  векторы кривизны, то получим ГО Эрмита второго порядка фиксации.

В САПР используется также такой специфический вид ГО, как управляющий полигон (s-полигон) сплайновой кривой. Управляющий полигон используется для эвристической подгонки сплайновой кривой к эскизу кривой. Или для редактирования после построения сплайновой кривой на других видах ГО.

NURBS кривые являются промышленным стандартом представления кривых линий в САПР. Для ввода определителей кривых в САПР необходимо их аппроксимировать NURBS кривыми.

Функция аппроксимации кривой посредством NURBS кривой может быть включена непосредственно в определитель кривой.

NURBS кривая имеет два базовых вида:

- b-сплайновая кривая (собственно NURBS кривая);

- сплайновая кривая Безье (NURBzS кривая).

B-сплайновая кривая определяется геометрическим определителем вида s-полигона. При редактировании b-сплайновой кривой посредством s-полигона порядок гладкости не нарушается.

Кривая Безье определяется b-полигоном. Количество вершин b-полигона кривой Безье степени m равна m+1.

Сплайновая кривая Безье определяется gb- полигоном, который представляет собой последовательность b-полигонов.

S-полигон односегментной b-сплайновой кривой совпадает с b-полигоном кривой Безье.

 

 

2. Вызов прикладной библиотека FairCurveModeler 2D.rtw

Программа FairCurveModeler 2D.rtw оформлена как прикладная библиотека.

Для загрузки прикладной библиотеки необходимо выполнить следующие действия:

Менеджер библиотек > Контекстное меню: Добавить описание > Прикладной библиотеки >  Выбрать прикладную библиотеку FairCurveModeler2D_Win32.rtw (для 32-разрядного Windows)

или

FairCurveModeler2D_x64.rtw (для 64-разрядного Windows)

в папке 

FairCurveModeler app Excel VBA\apps KOMPAS\7 FCModeler2D_rtw_F\ 

На панели ‘Свойства библиотеки’ установите режим доступа 'Панель'.

Для вызова программы необходимо включить переключатель 

[v] FairCurveModeler 2D. Кривые линии высокого качества

в списке прикладных библиотек раздела.

Или,  выбрав прикладную программу в списке в контекстном меню, выбрать 'Запустить'.

После запуска программы на инструментальной панели вы можете выбрать следующие опции:

NURBzS на точках

NURBzS на касательной

NURBS на точках

NURBS на касательной

Импорт из Геометрического Буфера

О программе

Опция ' NURBzS на точках' строит на опорной ломаной v-кривую класса C5 и аппроксимирует ее посредством  геометрической рациональной кривой Безье.

Опция ' NURBzS на касательной' строит на касательной ломаной v-кривую класса C5 и аппроксимирует ее посредством  геометрической рациональной кривой Безье.

Опция ' NURBS на точках' строит на опорной ломаной v-кривую класса C5 и аппроксимирует ее посредством  b-сплайновой  кривой 8-ой степени (9-го порядка).

Опция ' NURBzS на касательной' строит на касательной ломаной v-кривую класса C5 и аппроксимирует ее посредством  b-сплайновой  кривой 8-ой степени (9-го порядка).

Опция 'Импорт из Геометрического Буфера’ позволяет ввести в документ, построенную ранее кривую после выполнения перечисленных выше опций или после выполнения опции построения кривой другими приложениями FairCurveModeler.

 

3. Моделирование  кривых высокого качества по критериям плавности

Методы можно сравнивать на геометрических объектах, которые известны своим высоким качеством (окружностях, эллипсах, спиралях). Очевидно, что если мы построим ломаные на этих аналитических кривых, то вправе ожидать, что аппроксимирующие сплайны должны быть близки к  исходным кривым. Чем качественнее метод, тем ближе должна быть аппроксимирующая кривая к исходной аналитической кривой линии.

 

Способ 1. Эвристическая подгонка b-сплайновой кривой высокой степени к эскизу

В промышленном дизайне b-сплайновые кривые высоких степеней применяют для моделирования кривых высокого качества по критериям плавности (обводов автомобиля, линий архитектурного сооружения и т.п.). Один из основных способов это подгонка b-сплайновой кривой к эскизу линии путем редактирования s-полигона.

 

Упражнение 1. Эвристическая подгонка b-сплайновой кривой к эскизу кривой.

Загрузите упражнение 1.1. Перетащите (drag and drop) скачанный фрагмент в графическое поле КОМПАС 3D (рис. 1.1).

Рис. 1.1. Упражнение 1.1.

В левой части фрагмента приведен образец - результат построения. В правой части нарисованы исходные данные: окружность и касательные прямые к окружности, проведенные в точках ломаной.

Предположим, что это эскиз, нарисованный дизайнером.

Постройте b-сплайновую кривую четной степени 8 (порядок 9)  по полюсам, используя следующую технику подгонки.

Для подгонки используется множество прямых,  касательных к окружности в вершинах ломаной. Примите точки пересечения прямых за вершины s-полигона и постройте по полюсам сплайн четной степени m (m = 4/6/8).

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

Полезные советы при редактировании кривой на s-полигоне b-сплайновой кривой степени m:

1) Первое / последнее звено s-полигона определяют касательный вектор в концевой точке сплайна;

2) 3 первых / последних вершин s-полигона определяют кривизну в концевой точке сплайна;

3) 3 первых / последних вершин s-полигона на прямой определяют нулевую кривизну в концевой точке сплайна;

4) m + 1 точек на прямой определит прямолинейный участок сплайна;

5) для моделирования участков с монотонным изменением кривизны конфигурация s-полигона должна соответствовать конфигурации Менье-Фарина: длины звеньев и углы между звеньями должны изменяться монотонно;

После того как вы решили, что вы хорошо подогнали сплайн  к эскизу, проверьте качество построенной b-сплайновой кривой: ‘FairCurveModeler 2D. Кривые линии высокого качества' > 5. Графики кривизны.

Сравните со штатным методом построения сплайна по точкам. Сравните графики кривизны. Убедитесь, что b-сплайновая кривая высокой степени имеет более плавный график кривизны и точнее приближает эскиз.

И так, вы немножко побыли в ‛роли“ дизайнера, работающего с  существующими CAD-систем. И поняли, что процесс подгонки довольно трудоемкий процесс. Кстати, данный эвристический алгоритм подгонки реализован в программе FairCurveModeler в виде основного алгоритма определения сплайна четной степени.

А теперь освойте работу с программой FairCurveModeler.

 

Способ 2. Построение кривой высокого качества на опорной ломаной

Программа FairCurveModeler позволяет моделировать кривые высокого качества на опорной ломаной. В алгоритмической части определителя кривой строится виртуальная кривая (v-кривая) класса C5. V-кривая аппроксимируется с высокой точностью посредством геометрической рациональной кубической сплайновой кривой Безье (NURBzS кривой) или посредством b-сплайновой кривой высокой степени m (m = 6/8/10) (NURBS кривой).

Упражнение 2.1. Построение v-кривой на замкнутой опорной ломаной c аппроксимацией посредством NURBzS кривой

Загрузите упражнение 2.1. Перетащите (drag and drop) скачанный фрагмент в графическое поле КОМПАС 3D.

В левой части фрагмента приведен образец - результат построения. В правой части нарисованы исходные данные (рис 2.1).

Рис. 2.1. Упражнение 2.1.

 

Выполните построение на исходных данных по образцу.

Вызовите команду построения NURBzS кривой на опорной ломаной линии из меню инструментальной панели прикладной библиотеки 'FairCurveModeler 2D. Кривые линии высокого качества' > NURBzS на точках.

Укажите ломаную.

Программа построит v-кривую и аппроксимирует ее посредством кубической NURBzS кривой.

Убедитесь, что NURBzS кривая полностью совпадает с окружностью / эллипсом.

Пример демонстрирует уникальные качества метода построения v-кривой:

- минимизация вершин;

- геометрически точное моделирование конических кривых;

- высокое качество построения замкнутых кривых (высокий порядок гладкости в точке замыкания).

Упражнение 2.2. Построение v-кривой на замкнутой опорной ломаной c аппроксимацией посредством b-сплайновой кривой 8-ой степени

Загрузите упражнение 2.2. Перетащите (drag and drop) скачанный фрагмент в графическое поле КОМПАС 3D.

В левой части фрагмента приведен образец - результат построения. В правой части нарисованы исходные данные (рис 2.2).

Рис. 2.2. Упражнение 2.2.

Выполните построение  кривой на той же ломаной с аппроксимацией посредством b-сплайновой кривой высокой степени m, m = 8.

Вызовите команду построения NURBS кривой на опорной ломаной:  ‘FairCurveModeler 2D. Кривые линии высокого качества' > NURBS на точках.

Программа построит v-кривую и аппроксимирует ее посредством b-сплайновой кривой высокой степени.

Убедитесь, что b-сплайновая кривая визуально совпадает с окружностью / эллипсом.

Перенесите ломаную на свободное место во фрагменте. Для сравнения на той же ломаной постройте штатной командой 'Сплайн по точкам' с опцией 'Способ: линейный'.

Геометрический объект ‘кубический сплайн по точкам’  не является NURBS кривой и программа FairCurveModeler не может отобразить графики кривизны этого объекта. Для того, чтобы сделать этот примитив доступным для программы,  преобразуйте его в NURBS (Меню > Редактор > Преобразовать в NURBS > Укажите объект).

Построенный сплайн будет визуально сильно отличаться от исходной аналитической кривой. График кривизны с изломами. Это подтверждает известную истину: сплайны низких степеней не удовлетворяют требованиям к качеству функциональных кривых (рис. 2.3).

Рис. 2.3. Сравнение с командой сплайн по точкам.

Способ 3. Построение кривой высокого качества на касательной ломаной

Упражнение 3.1. Построение v-кривой на замкнутой касательной ломаной c аппроксимацией посредством NURBzS кривой

Данное упражнение демонстрирует уникальную функцию программы FairCurveModeler – построение кривой высокого качества на касательной ломаной.

Загрузите упражнение 3.1. Перетащите (drag and drop) скачанный фрагмент в графическое поле КОМПАС 3D.

В левой части фрагмента приведен образец - результат построения. В правой части нарисованы исходные данные (рис 3.1).

Рис. 3.1. Упражнение 3.1.

Выполните построение на исходных данных по образцу.

Вызовите команду построения NURBzS кривой на касательной ломаной :  ‘FairCurveModeler 2D. Кривые линии высокого качества' > NURBzS на касательной.

Укажите ломаную.

Программа построит v-кривую и аппроксимирует ее посредством кубической NURBzS кривой.

Убедитесь, что NURBzS кривая полностью совпадает с окружностью / эллипсом.

Пример демонстрирует уникальные качества метода построения v-кривой:

- минимизация вершин;

- геометрически точное моделирование конических кривых;

- высокое качество построения замкнутых кривых (высокий порядок гладкости в точке замыкания).

 

Упражнение 3.2. Построение v-кривой на замкнутой касательной ломаной c аппроксимацией посредством b-сплайновой кривой степени 8

Загрузите упражнение 3.2. Перетащите (drag and drop) скачанный фрагмент в графическое поле КОМПАС 3D.

В левой части фрагмента приведен образец - результат построения. В правой части нарисованы исходные данные (рис 3.2).

Рис. 3.2. Упражнение 3.2.

Выполните построение  кривой на той же ломаной с аппроксимацией посредством b-сплайновой кривой высокой степени m, m = 8.

Вызовите команду построения NURBS кривой на касательной ломаной:  'FairCurveModeler 2D. Кривые линии высокого качества' > NURBS на касательной.

Программа построит v-кривую и аппроксимирует ее посредством b-сплайновой кривой высокой степени.

Убедитесь, что b-сплайновая кривая визуально совпадает с окружностью / эллипсом.

В существующих CAD-системах отсутствует функция построения кривой высокого качества на касательной ломаной. Единственный метод, который может считаться построением на касательной – это метод построения на s-полигоне квадратичного сплайна.

Для сравнения на той же ломаной постройте квадратичный сплайн по полюсам (установите порядок = 3).

Преобразуйте в NURBS. Проверьте качество кривой по графикам  кривизны и эволюты (рис. 3.3).

Рис. 3.3. Сравнение с квадратичным сплайном по полюсам.

Построенный сплайн будет визуально сильно отличаться от исходной аналитической кривой. График кривизны с изломами. Что еще раз подтверждает известную истину: сплайны низких степеней не удовлетворяют требованиям к качеству функциональных кривых.

 

Способ 4.  Построение кривой с учетом граничных условий

Используйте эскиз клотоиды с окружностью кривизны в конечной точке., который вы использовали для эвристической подгонки.

Постройте ломаную на эскизе клотоиды  с количеством точек 8-10. Ломаная должна начинаться с начальной точки клотоиды и заканчиваться в конечной точке.

 

1). Фиксированные касательные

 

Упражнение 4.1. Построение v-кривой на опорной ломаной c фиксированными векторами касательных в концевых точках (с аппроксимацией посредством NURBzS кривой)

 

Загрузите упражнение 4.1. Перетащите (drag and drop) скачанный фрагмент в графическое поле КОМПАС 3D.

В левой части фрагмента приведен образец - результат построения. В правой части нарисованы исходные данные (рис 4.1).

Рис. 4.1. Упражнение 4.1.

В исходных данных нарисованы опорная ломаная,   горизонтальный вектор-отрезок касательной,  позиционированный так, что конечная точка вектора-отрезка совпадает с начальной точкой опорной ломаной. Нарисован  конечный вертикальный вектор-отрезок касательной позиционированный таким образом, что первая точка отрезка совпадает с последней точкой опорной ломаной. Последовательно выделите первый отрезок, опорную ломаную, последний отрезок.  Объедините примитивы в макроэлемент.

Вызовите команду построения NURBzS кривой на опорной  ломаной:  Меню > Библиотеки > 'FairCurveModeler 2D. Кривые линии высокого качества' > NURBzS на точках.

Проверьте качество NURBzS кривой по графикам кривизны и эволюты.

Упражнение 4.2. Построение v-кривой на опорной ломаной c фиксированными векторами касательных в концевых точках (с аппроксимацией посредством b-сплайновой кривой 8-ой степени)

Загрузите упражнение 4.2. Перетащите (drag and drop) скачанный фрагмент в графическое поле КОМПАС 3D.

В левой части фрагмента приведен образец - результат построения. В правой части нарисованы исходные данные (рис 4.2).

Рис. 4.2. Упражнение 4.2.

 

Объедините примитивы в макроэлемент.

Постройте NURBS кривую 8-ой степени (9-го порядка): Меню > Библиотеки > 'FairCurveModeler 2D. Кривые линии высокого качества' > NURBS на точках.

Проверьте качество NURBS кривой по графикам кривизны и эволюты. Сравните графики кривизны NURBzS кривой и NURBS кривой.

Сохраните графики кривизны NURBS кривой. Нарисуйте окружности кривизны в конечных точках NURBzS и NURBS кривых.

2). Фиксированные значения кривизны в концевых точках

Упражнение 4.3. Построение v-кривой на опорной ломаной c фиксированными значениями кривизны в концевых точках (с аппроксимацией посредством NURBzS кривой)

 

Загрузите упражнение 4.3. Перетащите (drag and drop) скачанный фрагмент в графическое поле КОМПАС 3D.

В левой части фрагмента приведен образец - результат построения. В правой части нарисованы исходные данные (рис 4.3).

 

Рис. 4.3. Упражнение 4.3.

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

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

Выделите последовательно первую двухзвенную ломаную, опорную ломаную и окружность.  Объедините эти примитивы в макроэлемент.

Вызовите команду построения NURBzS кривой на опорной ломаной:  Меню > Библиотеки > ‘FairCurveModeler 2D. Кривые линии высокого качества' > NURBzS на точках.

Укажите макроэлемент. Программа построит NURBzS кривую, на основном участке визуально совпадающую с клотоидой. Исследуйте качество  NURBzS  кривой.

Упражнение 4.4. Построение v-кривой на опорной ломаной c фиксированными значениями кривизны в концевых точках (с аппроксимацией посредством b-сплайновой кривой степени 8)

 

Загрузите упражнение 4.4. Перетащите (drag and drop) скачанный фрагмент в графическое поле КОМПАС 3D.

В левой части фрагмента приведен образец - результат построения. В правой части нарисованы исходные данные (рис 4.4). 

Выделите последовательно первую двухзвенную ломаную, опорную ломаную и окружность.  Объедините эти примитивы в макроэлемент.

 

Рис. 4.4. Упражнение 4.4.

Вызовите команду построения NURBS кривой на опорной ломаной:  Меню > Библиотеки > ‘FairCurveModeler 2D. Кривые линии высокого качества' > NURBS на точках.

Укажите макроэлемент. Программа построит NURBS кривую. Исследуйте качество  NURBzS  кривой.

 

Методика построения b-сплайновой с хорошим графиком кривизны на концевых участках  (2-ой уровень сложности)

В некоторых случаях качество графика на концевых участках может быть несколько хуже, чем на основном участке.

1) Методика 'золотой середины'

Самый простой способ построения с гарантированно хорошим графиком кривизны следующий. Постройте эскиз кривой большей длины, чем это необходимо и после построения b-сплайновой кривой просто обрежьте построенную кривую до необходимого размера.

2) Редактированием распределения точек на концевых участках

В программе FairCurveModeler качественный график на концевом участке обеспечивается при фиксированной кривизне, если фиксированная кривизна меньше, чем кривизна кривой, построенной без фиксированной кривизны.

Для построения кривой с фиксированными значениями значений кривизны с хорошим графиком кривизны на концевых участках необходимо придерживаться следующей технологии:

1) Постройте ломаную на эскизе кривой.

2) Задайте фиксированные касательные векторы-отрезки. Создайте макроэлемент.

4) Постройте b-сплайновую кривую, проверьте по графикам кривизны значения кривизны в концевых точках.

5) Редактированием ломаной (если задан эскиз, то распределением точек на эскизе) добейтесь значений кривизны достаточно близких к фиксированным значениям, но превышающих  их.

6) Разрушьте макроэлемент и задайте фиксированные значения кривизны. Создайте макроэлемент.

7) Постройте на макроэлементе b-сплайновую кривую.

 

Правила структуризации кривой посредством исходной ломаной:

1) Конфигурация опорной / касательной ломаной должны удовлетворять определенным ограничениям:

- количество вершин должно быть больше 4;

- вершины не должны совпадать;

- углы между звеньями должны быть больше 90 градусов;

- точка перегиба задается явным образом. Участок перегиба задается двузвенником, который делит ломаную на участки разной формы. Двузвенник должен иметь меньшую площадь, по сравнению со смежными двузвенниками (вершины двузвенника могут лежать на прямой). Точка перегиба принадлежит средней вершине двузвенника;

- прямолинейные участки кривой задаются вершинами (в количестве 3 и более), геометрически точно лежащими на прямой;

- при построении кривой с фиксированными направлениями касательных векторы-отрезки касательных не должны противоречить форме кривой;

- локально-выпуклый участок ломаной задается не менее, чем 3-мя звеньями;

- при построении кривой с аппроксимацией b-сплайновой кривой с фиксированными значениями кривизны высокое качество концевого участка обеспечивается только в том случае, если кривизна кривой по умолчанию больше требуемого значения.

 

 

5. Оформление отчета по работе с пособием

 

Откройте новый документ MS Word.

Включите в отчет скриншоты всех этапов выполнения работы с короткими комментариями.  Вида

Упражнение 1. Эвристическая подгонка.

<Скриншот>

Исходная ломаная

<Скриншот>

Построение b-сплайновой кривой

Упражнение 2. Построение кривой на опорной ломаной

 

На каждом фрагменте напечатайте в нижнем правом углу  (курс, группа Ф.И.О.). Скриншоты должны содержать этот текст.

Сохраните отчет на мобильном носителе.

В отчете также кратко ответьте на контрольные вопросы и приведите скриншот выполненного теста с ответами и оценкой.

 

Контрольные вопросы

1. Что характеризует порядок гладкости кривой?

2. Что такое окружность кривизны в точке кривой?

3. Что такое эволюта?

4. Как строится график кривизны на кривой?

5. Как определить вершины кривой на графиках кривизны и эволюты.

6. Как выявить лучшую кривую по критериям плавности?

7. Сколько вершин у эллипса?

8. Сколько вершин у окружности, у прямой?

9. Что такое функциональная кривая?

10. Приведите примеры функциональных кривых.

 

Тесты для самопроверки

Загрузите Тест. Ответьте на тестовые вопросы.

 

Литература

[Farin 2006] Class A Bezier curves. Computer Aided Geometric Design, 23(7), 573-581.

[КОМПАС] Руководство пользователя.

[Муфтеев & Зиятдинов 2017] Функциональность и эстетичность кривых линий в промышленном дизайне: многокритериальный подход к оценке качества форм в CAD-системах будущего / В публикации.  Источник.

[Клевенский 73] Клевенский  А.Е. Моделирование геометрических понятий и технология проектирования [Текст] / Под ред. канд. техн. наук О. И. Семенкова ; АН БССР. Ин-т техн. кибернетики. - Минск : Наука и техника, 1973. – 125 с.