Ф.Т. Зиганшина, А.П. Зелев, Г.М. Ефимова,

В.Г. Муфтеев, Р.И. Набиев

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Уфа 2024

 


 

Министерство образования и науки Российской Федерации

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования

«Уфимский государственный нефтяной технический университет»

 

 

 

 

 

 

 

 

 

Ф.Т. Зиганшина, А.П. Зелев, Г.М. Ефимова,

В.Г. Муфтеев, Р.И. Набиев

 

 

 

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

 

Допущено Редакционно-издательским советом УГНТУ

в качестве учебного пособия для студентов очной и заочной форм обучения, обучающихся по направлению подготовки (бакалавров / магистров, шифр специальности)

 

 

 

 

 

 

 

 

 

 

 

 

 

Уфа 2024


УДК

ББК

        И

 

Рецензенты:

зав. кафедрой СХМ БашГАУ проф., д.т.н. Мударисов С.Г.

 

 

 

 

Ф.Т. Зиганшина, А.П. Зелев, Г.М. Ефимова, В.Г. Муфтеев, Р.И. Набиев

И     Моделирование кривых линий класса F: учебное пособие / Уфимск.  гос. нефт.  техн.  ун-т. – Уфа: УГНТУ, 2024. –… с.

 ISBN

 

 

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

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

 

Табл. __. Ил. ___.  Библиогр. ____ назв.

 

 

 

 

 

Научный редактор _________________________

 

 

 

 

 

 

 

Введение

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

 

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-сплайновой кривой к эскизу кривой.

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

Рис. 1.1. Упражнение 1.1. Эвристическая подгонка B-кривой к вершинам ломаной.

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

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

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

Перейдите к редактированию эскиза (рис. ).

Рис. 1.2. Итерация построения S-полигона.

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

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

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

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

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

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

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

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

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

После того как вы решили, что вы хорошо подогнали сплайн к эскизу, проверьте качество построенной b-сплайновой кривой командой: Графики кривизны.

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

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

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

 

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

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

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

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

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

Рис. 2.1. Упражнение 2.1.  Построение NURBzS кривой.

 

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

Вызовите команду построения рациональной сплайновой кривой Безье на опорной ломаной линии из меню инструментальной панели прикладной библиотеки 'FairCurveModeler 3D. Укажите ломаную.

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

 

* В КОМПАС 3D отсутствует примитив “Пространственная Рациональная кривая Безье произвольной степени”. В КОМПАС - МАСТЕР не документирована программа формирования пространственной NURBS произвольной степени с заданным расположением узлов. Хотя для плоского случая такая программа документирована. Для упрощенного представления пространственных рациональных кривых Безье 3 степени в Программе используется примитив КОМПАС “NURBS кривая 3-ей степени”. Для точного отображения рациональной кривой Безье используйте команду Программы “Графики кривизны”.

 

Выделите построенную кривую и протестируйте командой 1. Графики кривизны.

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

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

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

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

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

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

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

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

Рис. 2.2. Упражнение 2.2. B-кривая на ломаной с неравномерным распределением.

 

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

Вызовите команду построения рациональной сплайновой кривой Безье на опорной ломаной.

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

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

Проверьте качество командой 1.Графики кривизны. Отметьте, что точность представления окружности B-кривой на неравномерной ломаной ниже, чем NURBzS кривой.

 

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

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

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

Рис. 2.3. Упражнение 2.3. Опция гармонизации перераспределяет равномерно точки на окружности.

 

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

Вызовите команду построения рациональной сплайновой кривой Безье на опорной ломаной.

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

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

Проверьте качество командой 1. Графики кривизны.

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

 

 

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

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

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

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

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

Рис. 3.1. Упражнение 3.1. Построение NURBzS кривой на касательной ломаной.

 

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

Выделите ломаную.

Вызовите команду построения рациональной сплайновой кривой Безье на касательной ломаной.

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

 

 

* В КОМПАС 3D отсутствует примитив “Пространственная Рациональная кривая Безье произвольной степени”. В КОМПАС - МАСТЕР не документирована программа формирования пространственной NURBS произвольной степени с заданным расположением узлов. Хотя для плоского случая такая программа документирована. Для упрощенного представления пространственных рациональных кривых Безье 3 степени в Программе используется примитив КОМПАС “NURBS кривая 3-ей степени”. Для точного отображения рациональной кривой Безье используйте команду Программы “Графики кривизны”.

 

 

 

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

Выделите построенную кривую и протестируйте командой 1. Графики кривизны.

Убедитесь, что интерполированные точки совпадают с окружностью.

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

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

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

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

 

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

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

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

Рис. 3.2. Упражнение 3.2. Построение B-кривой 8-ой степени на касательной ломаной.

 

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

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

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

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

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

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

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

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

 

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

 

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

 

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

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

Рис. 4.1. Упражнение 4.1. Построение NURBzS кривой с фиксированными касательными в концевых точках.

 

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

Вызовите команду построения рациональной сплайновой кривой на опорной ломаной.

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

 

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

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

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

Рис. 4.2. Упражнение 4.2. Построение B-кривой с фиксированными касательными в концевых точках.

 

 

Объедините примитивы (ломаная: 4, ломаная: 5, ломаная: 6) в макроэлемент. Выделите макроэлемент. Постройте B-кривую на ломаной 8-ой степени (9-го порядка). Проверьте качество NURBS кривой по графикам кривизны и эволюты. Сравните графики кривизны NURBzS кривой и NURBS кривой.

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

 

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

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

 

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

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

 

Рис. 4.3. Упражнение 4.3. Построение NURBzS кривой с фиксированными касательными и значениями кривизны в концевых точках.

 

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

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

Вызовите команду построения рациональной сплайновой кривой Безье на опорной ломаной.

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

 

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

 

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

Выполните построения как в упражнении Example4.4. Выделите макроэлемент.

 

Рис. 4.4. Упражнение 4.4. Построение B-кривой с фиксированными касательными и значениями кривизны в концевых точках.

 

Выделите сформированный макроэлемент. Выполните команду построения B-кривой на опорной ломаной. Программа построит B-кривую. Исследуйте качество B-кривой.

 

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

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

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

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

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

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

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

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

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

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

 

Способ 5. Построение B-кривой на ломаной с фиксированной точкой перегиба

 

Уникальное свойство методов – возможность точной фиксации точки перегиба как на NURBzS, так и на B-кривых высокой степени. Это недостижимо для методов класса ANX, Alias Design и т.д. ).

Откройте Example5.1.  

 

 

Рис. 5.1. Исходная ломаная с  точкой перегиба на отрезке, делящем ломаную на два участка с разной формой.

Ломаная справа является копией исходной ломаной.

 

Выделите в дереве построения  ломаную справа и постройте рациональную кривую Безье и затем на той же ломаной B-кривую 8-ой степени.  

 

 

Рис. 5.2. B-кривая степени 8 (порядка 9) точно проходит через фиксированную точку перегиба.

 

 

Способ 6. Эстетические кривые

 

Аналитические кривые с монотонной кривизной имеют повышенный интерес у дизайнеров. Более того особое множество кривых с монотонной кривизной было отнесено к т.н. log-эстетическим кривым и объявлено, что это самые эстетичные кривые [4 Log эстетика  ]. Правда, без особого научного доказательства.  Нам известны случаи особого поклонения перед кривыми. Например, любовное и трепетное отношение Я. Бернулли к логарифмической спирали [5 Бернулли Спираль]. Фетишизация красивых кривых не грех. Log-эстетические кривые - это очередная сказка, как сказка “Любовь к трем апельсинам”.

 

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

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

 

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

 

Задача в приложении решается двумя способами.

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

- метод построения начального участка клотоиды по заданным параметрам (длина участка, радиус конечной точки);

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

2. Изогеометрическая аппроксимация аналитических кривых с сохранением базовых свойств аналитических кривых.

 

Упражнение 6.1. Построение участка клотоиды

Создайте новый файл m3d. Установите вид сверху.

Выполните команду

Эстетические кривые

1. Клотоида

 

Используйте следующие параметры:

 

 

 

Программа нарисует начальный участок клотоиды, представленной NURBzS кривой (рис.  ).

 

Рис. 6.1.  Графики кривизны и эволюты NURBzS кривой.

 

Проверим линейность монотонности в приложении FairCurveModeler app (ZWCAD / BricsCAD / AutoCAD) (рис. 6.2).

 

Рис. 6.2. Практически идеальный график NURBzS кривой.

Упражнение 6.2. Сектриса Маклорена

Создайте новый файл m3d. Установите вид сверху.

Нарисуйте двухзвенную ломаную (рис. 6.3).

 

Рис. 6.3.  Исходный двухзвенник.

Выполните команду

Эстетические кривые

2. Сектриса Маклорена

Программа нарисует кривую с монотонной кривизной, представленную 10-и сегментной NURBzS кривой (рис. 6.4).

 

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

 

Углы при основании в соприкасающемся треугольнике должны быть <= 90.

Упражнение 6.3. Аппроксимация аналитических кривых

 

Уникальное свойство методов аппроксимации аналитических кривых в приложении - это изогеометричность и сохранение базовых свойств исходной аналитической кривой. Исходная кривая представляется посредством ГО Эрмита второго порядка фиксации. ГО Эрмита – это проста ломаная, которая последовательно обходит опорные точки, вершины касательных векторов, вершины векторов кривизны. То есть ГО Эрмита содержит точные координаты опорных точек, направления касательных векторов, значения кривизны в опорных точках.

ГО Эрмита может готовиться в математических системах, например, MathCAD или Mathematica / Wolfram Cloud [7 app ZWCAD].

Загрузите файл Example6.3.

Рассмотрим пример аппроксимации весьма показательной аналитической кривой Клотоиды с линейным изменением кривизны, начиная с нулевого значения (рис.  ).

 

 

Рис. 6.5. ГО Эрмита

 

При аппроксимации B-кривой изменим параметры построения. Опция улучшения - No

 

 

 

 

Программа нарисует кривую с линейным графиком кривизны (рис.  ).

 

Рис. 6.6. B-кривая степени 8 (порядка 9).

 

Рис.  6.6.  Графики кривизны и эволюты B-кривой степени 8 (порядка 9).

 

Проверим на линейность в системе FairCurveModeler app ZWCAD / BricsCAD / AutoCAD [7 app ZWCAD].

Рис. 6.7. Практически линейный график кривизны.

 

 

 

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

 

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

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

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

<Скриншот>

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

<Скриншот>

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

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

 

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

 

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

 

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

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

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

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

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

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

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

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

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

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

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

 

Выполнение тестового задания

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

 

Литература

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

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

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

[4 Log эстетика]    Yoshida, N., Saito, T. Interactive aesthetic curve segments // The Visual Computer. 2006. No. 9. Vol. 22. P.  896­905.

[5 Бернулли Спираль]https://ru.wikipedia.org/wiki/Логарифмическая_спираль

[6 Муфтеев В.Г и др. 2013] ПОДГОТОВКА NURBS ШАБЛОНОВ АНАЛИТИЧЕСКИХ КРИВЫХ В МATHEMATICA + FAIRCURVEMODELER ДЛЯ CAD-СИСТЕМ / Муфтеев В.Г., Марданов А.Р., Семенов А.С., Урманов В.Г.

В сборнике: Совершенствование конструкции, эксплуатации и технического сервиса автотракторной и сельскохозяйственной техники. Материалы Международной научно-практической конференции. 2013. С. 275-282.

[7 app ZWCAD] http://spliner.ru/HELP_RU/Help_Ru.html

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

УДК

ББК

 

 

 

ISBN                                                                         © Уфимский государственный

нефтяной технический университет, 2024

 

 

 

Учебное издание

 

 

АХМЕТШИН Рустем Ильясович,

ЗЕЛЕВ Александр Павлович,

МАРТЫНОВА Ольга Галиевна,

МУФТЕЕВ Валериян Гайнизаманович

НАБИЕВ Рифкат Ильшатович

 

 

 

 

 

 

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

 

 

 

 

 

 

Редактор

 

Подписано к печати ___________. Формат 60х84 1/16.

Бумага офсетная. Печать плоская. Гарнитура Times New Roman Cyr.

Усл. печ. л.__________ Уч. – изд. л._________

Тираж ______ экз. Заказ №

ФГБОУ ВПО «Уфимский государственный нефтяной
технический университет»

Редакционно-издательский комплекс УГНТУ