Если вы когда-либо задавались вопросом, как смоделировать плавную кривую или поверхность, не запутавшись при этом в многообразии сложных геометрических терминов, то вы попали на нужную страницу.
Тем не менее, дабы не спугнуть любознательного читателя в первую секунду чтения статьи, заранее отвечаем на часто возникающий вопрос, а почему собственно «так сложно-то».
В этой статье мы рассказываем о том, как геометрическое ядро C3D училось рисовать гладкие кривые высокого качества. Все бы ничего, но строить такие кривые – дело сложное и вообще математическое. Поэтому для описания возможностей функционала не обойтись без высшей математики, которая по определению не может быть простой. Для упрощения понимания той самой математики в статье есть примеры.
В чем сложность подхода моделирования гладких кривых и как его реализовать, рассказывает Валериян Муфтеев, ведущий математик-программист в C3D Labs.
Предисловие
В современном мире повсеместно востребованы CAD-системы, позволяющие моделировать сложные кривые и поверхности. Эти возможности задействованы при решении многих проектных задач в самых разных областях науки и техники. Однако даже если CAD-система поддерживает моделирование кривых и поверхностей класса А, она не обеспечивает надлежащего качества так называемых функциональных кривых по критериям плавности.
Введение в понятие функциональных кривых
Эта заметка запускает цикл статей, посвященных новому типу кривых и поверхностей.
Первая часть из данного цикла освещает основные моменты, необходимые для понимания читателем главных преимуществ рассматриваемого класса кривых и его назначения в инженерной геометрии.
Вторая часть посвящена реализации методов F-кривых в C3D Modeler.
В третьей части будут приведены примеры практического применения C3D FairCurveModeler при моделировании различных изделий.
Что такое функциональные кривые
К новому типу кривых относятся плоские и пространственные кривые, которые обеспечивают некоторую функциональную характеристику объекта, в связи с чем их целесообразно называть функциональными кривыми.
Область применения таких кривых весьма широка и распространяется, в основном, на проектные задачи, возникающие в разных отраслях техники. Например,
задача по максимизации подъемной силы при минимизации лобового сопротивления при моделировании профиля крыла самолета;
задача поиска максимальной плавности трассы при заданных ограничениях для обеспечения комфортной и безопасной езды на транспортном средстве.
Среди функциональных кривых можно выделить подкласс инженерных аналитических кривых, которые единственным оптимальным образом обеспечивают некоторую проектную характеристику объекта. К таким кривым, например, можно отнести спираль Архимеда, используемую для построения профиля зубьев зубчатого колеса, а также брахистохрону — кривую наискорейшего спуска для транспортировки предметов.
В остальных случаях функциональные кривые имеют свободную форму. Такие кривые могут быть локально-выпуклыми (с постоянным знаком функции кривизны) и иметь точки перегиба (участки с разным знаком функции кривизны).
Кроме того, функциональные кривые могут быть пространственными и, соответственно, иметь кручение.
Рассмотрим подробнее, что представляют собой функциональные кривые и чем они отличаются от обычных гладких кривых.
Требования качества к функциональным кривым
К параметрам плавности рассматриваемых инженерных кривых предъявляются повышенные требования, которые являются универсальными для данного типа кривых и не зависят от специфики проектируемых объектов. Ниже приводится список данных требований с пояснениями:
высокий, не ниже 4-го, порядок гладкости
Гладкость - это свойство функции или геометрической фигуры (кривой, поверхности и др.), определяющее, дифференцируема ли функция на всём множестве определения или имеется ли у каждой точки данной фигуры окрестность, допускающая задание с помощью дифференцируемых функций.
В различных видах проектирования используются сплайны разного порядка гладкости. Например,
при моделировании трасс дорог используются клотоидные сплайны, а гладкость обеспечивается не ниже 2-го порядка;
для профилирования кулачка распределительного вала высокоскоростных двигателей необходима гладкость не ниже 3-го порядка, поэтому проектирование профиля начинается с вычерчивания плавного графика 3-й производной;
при моделировании пространственных кривых для обеспечения непрерывности функции кручения кривая должна иметь 3-й порядок гладкости;
из анализа пространственной криволинейной траектории движения материальной точки следует, что пространственная кривая с плавным кручением должна иметь 4-й порядок гладкости.
отсутствие или минимальное число экстремумов кривизны
Плавность кривой также зависит от формы графика изменения кривизны вдоль линии движения.
Возвратимся к примеру с материальной точкой. Поскольку осцилляция функции кривизны согласно основному уравнению динамики вызовет пульсацию центробежных сил, действующих на материальную точку, участок линии движения должен иметь минимальное число экстремумов кривизны или минимальное число вершин кривой.
Наличие лишних экстремумов кривизны, например, у формы технических изделий и объектов дизайна, может вызвать следующие негативные явления:
неоправданное биение толкателя кулачкового механизма, следствием которого является преждевременный износ механизма;
залипание почвы на участке плуга с концентрацией кривизны у траектории движения почвы, что приводит к увеличению сопротивления плуга и, следовательно, повышению энергоемкости процесса вспашки;
при лишних экстремумах кривизны на аэродинамическом профиле — неоправданная пульсация среды, обтекающей профиль, что увеличивает его лобовое сопротивление и может спровоцировать срыв потока;
необходимость лишних торможений и разгонов, что увеличивает энергозатраты на перемещение по трассе транспортного средства;
эффект кривых зеркал у кривых кузовных поверхностей и архитектурных форм;
неправильное визуальное восприятие объектов компьютерной графики и CAD.
малые значения вариации кривизны и скорости ее изменения
В некоторых прикладных областях вводится требование минимизации вариации кривизны, следовательно, концентрация кривизны должна быть ограничена по максимальному значению.
Например, такое ограничение минимального значения радиуса кривизны (максимальной кривизны) естественным образом вводится при проектировании дорог: минимальный радиус виража ограничивается из расчета допустимой скорости транспортного средства.
Важным параметром качества кривой является скорость изменения кривизны. При проектировании трассы дороги этот параметр регламентирует скорость нарастания центробежной силы, действующей на автомобиль на виражах, и легко контролируется благодаря применению сегментов клотоиды с линейным изменением функции кривизны.
малое значение потенциальной энергии кривой
Считается, что плавность кривой напрямую связана с ее потенциальной энергией. Необходимость выбора функциональной кривой с малым значением потенциальной энергии основывается на предположении, что при движении объекта с функциональной поверхностью с большой скоростью среда, обтекающая объект, ведет себя как упругое тело. Очевидно, что для деформации упругой среды по линиям тока с меньшей потенциальной энергией будет затрачиваться меньшая работа. При движении материальной точки по вогнутой криволинейной траектории с учетом трения работа, затрачиваемая на перемещение, будет меньше при меньшем значении потенциальной энергии траектории перемещения.
Кривая, имеющая минимальное значение потенциальной энергии, называется эластикой:
Эластика может быть представлена в виде осевой линии деформированной упругой рейки между двумя грузиками (ducks). Качество эластик апробировано многовековым опытом судостроения. Гибкие рейки (физические сплайны) применялись для вычерчивания профилей шпангоутов, батоксов и ватерлиний при проектировании и строительстве судов, а позднее автомобилей и самолетов.
эстетический анализ кривых
Помимо предложенных выше объективных критериев плавности качество кривой необходимо оценивать также и с позиций законов технической эстетики. Существует такой подход к оценке эстетичности кривой, когда форма кривой базируется на математических характеристиках форм, выявленных у объектов реального мира (например, очертания крыльев бабочек).
Для моделирования красивых (эстетических) форм предлагаются так называемые log-эстетические кривые, имеющие линейный график кривизны в логарифмической шкале. Множество известных спиралей, в том числе клотоида, являются частными случаями кривых этого класса. В работе [1] был предложен наиболее обобщенный класс кривых с монотонной функцией кривизны, называемый суперспиралями. Уравнения этих кривых выражаются через Гауссовы гипергеометрические функции и численно интегрируются адаптивными методами типа метода Гаусса — Кронрода.
Однако множество эстетических кривых не ограничивается только множеством log-эстетических кривых. Кривые могут иметь произвольно сложные плоские и пространственные формы и быть вполне эстетичными.
Авторы работы считают, что приоритетной является оценка по критериям плавности. Экспертная оценка с позиций законов технической эстетики (лаконичность, целостность, выразительность, пропорциональная согласованность, композиционное равновесие, структурная организованность, образность, рациональность, динамичность, масштабность, пластичность, гармоничность) правомерна только после оценки на плавность.
Весьма показательна в этом смысле работа [2], в которой приводятся графики экспертной оценки эстетического качества кривых с различными параметрами плавности. Наиболее высокая экспертная оценка у кривых, которые отвечают базовым требованиям к функциональным кривым (одновременно малое значение кривизны и малая скорость изменения кривизны).
Промежуточные итоги
С учетом всех вышеупомянутых требований для построения очень плавной траектории движения необходимы:
минимальное число опорных точек моделируемой сплайн-траектории движения и высокий, не ниже 4-го, порядок гладкости;
плавное кручение пространственной кривой;
ограничение максимального значения кривизны и скорости ее изменения;
минимизация функционала потенциальной энергии.
Функциональные кривые, параметры которых соответствуют приведенным требованиям, называются кривыми класса F.
Здесь важно отметить для сравнения, что именно эти жесткие требования к параметрам плавности и отличают кривые данного класса от кривых класса A. Последние являются формообразующими поверхностей класса А – высококачественных по критериям эстетики поверхностей внешних кузовных поверхностей. “Хорошая” кривая для этих поверхностей будет иметь график кривизны с небольшим числом участков монотонного изменения кривизны. Данное требование можно сравнить с требованием минимальности количества экстремумов кривизны у функциональных кривых.
Таким образом, кривые класса А представляют кривые для формообразования поверхностей в промышленном дизайне, в то время как функциональные кривые являются инженерными кривыми. Такие кривые высокого качества также принято называть плавными кривыми (от faired curves, fairing curves). Здесь важно не путать последние с гладкими кривыми, которые являются кривыми самого низкого качества - первого порядка гладкости.
[1] Ziatdinov, R. Family of superspirals with completely monotonic curvature given in terms of Gauss hypergeometric function// Computer Aided Geometric Design. 2012. Vol. 29. No.7. P. 510-518
[2] Levien, R. L. From Spiral to Spline: Optimal Techniques in Interactive Curve Design. PhD.thesis, University of California, Berkeley, 2009