Челябинск, Челябинская область, Россия
Челябинск, Челябинская область, Россия
УДК 62 Инженерное дело. Техника в целом. Транспорт
ГРНТИ 55.01 Общие вопросы машиностроения
Разработана методика моделирования упругой кривой, инцидентной набору n компланарных точек и обладающей минимальной средней кривизной, характерной для естественных (природоподобных) кривых. Предложен упрощенный способ расчета коэффициентов аппроксимирующего сплайна, позволяющий заменить решение системы 2n нелинейных уравнений (условий гладкости) последовательным решением n систем двух уравнений. Для моделирования природоподобных кривых с большими прогибами предложено использовать кубический сплайн Фергюсона, проходящий через заданные точки и касающийся в этих точках заданных прямых.
аффинное сжатие, кубический полином, векторная производная, сплайн Фергюсона, графическое дифференцирование
Введение
Природоподобной кривой называют линию, образованную осью упругого стержня, проходящего через наперед заданные точки. Предполагается, что размеры поперечного сечения такого стержня весьма малы по сравнению с длиной и радиусом кривизны его оси. Такую кривую называют “физическим сплайном”.
Пример физического сплайна – тонкая металлическая линейка. Проходя через заданные на плоскости точки, линейка естественным образом приобретает форму, характеризующуюся минимальной энергией внутренних напряжений и минимальной средней кривизной. Такие формы широко используются в современном архитектурно-строительном проектировании [1, 2, 3].
Теоретическое уравнение физического сплайна может быть найдено лишь при условии малых прогибов (малых отклонений от прямой линии). В этом случае физический сплайн удовлетворительно описывается составной кусочно-кубической полиномиальной кривой второй степени гладкости [4].
Для больших прогибов решение принципиально усложняется. Согласно [5], оно сводится к вариационной задаче, не имеющей элементарного решения. Поэтому моделирование природоподобной кривой с большими прогибами целесообразно выполнять экспериментально (используя плаз-планшет и упругую металлическую линейку), с последующей аппроксимацией полученной кривой.
Постановка задачи
На плоскости указаны n базисных точек. Требуется найти достаточно простую алгебраическую функцию, аппроксимирующую (заменяющую) проходящую через эти точки природоподобную кривую (физический сплайн). Эта математическая функция необходима для выполнения прочностных и массогабаритных расчетов проектируемого здания или технического сооружения, что обуславливает актуальность и практическую значимость поставленной задачи [6, 7].
Здесь рассматриваются два способа аппроксимации: 1) на основе кубических парабол [8]; 2) с помощью кубического параметрического сплайна, составленного из кривых Фергюсона [9, 10].
В качестве исходных данных использованы результаты экспериментального моделирования физического сплайна, проходящего через n = 5 компланарных точек.
Экспериментальное моделирование физического сплайна
На планшете закреплена масштабно-координатная бумага. В опорные точки A(1.2, 0.9), B(2.1, 2.3), C(2.8, 4), D(5, 3.2), E(5.5, 2.1) вбиты тонкие булавки с нанесенной на них смазкой (для снижения трения). Масштаб планшета 70:1. На планшет уложена гибкая металлическая линейка, огибающая булавки. Координаты опорных точек назначены в зоне упругой деформации материала линейки.
Рис. 1. Исходная и аффинно-сжатая упругие линейки со свободными концами (фото и чертеж)
|
Модель физического сплайна со свободными концами. Моделирование физического сплайна со свободными концами выполнено в двух вариантах. Согласно первому варианту, металлическая линейка проходит через указанные опорные точки A, B, C, D, E. Согласно второму варианту, исходный набор опорных точек подвергается аффинному сжатию к оси x с коэффициентом сжатия 0.5. Новые опорные точки A', B', C', D', E' занимают среднее положение между исходными точками A, B, C, D, E и осью x (рис. 1). В обоих вариантах свободные концы линеек принимают свое естественное положение.
Используя алгоритм графического дифференцирования [11], определяем значения производных (тангенсов углов наклона касательных) исходного физического сплайна ABCDE в его опорных точках:
Выполнив аффинное сжатие {A, B, C, D, E} → {A', B', C', D', E'} с коэффициентом сжатия 0.5, замечаем, что касательные к исходной и сжатой линейкам в конечных точках A, A' и E, E' пересекаются на оси x (рис. 1), следовательно, первые производные на концах сжатого физического сплайна уменьшились ровно в два раза.
Тем не менее, нельзя утверждать, что аффинное сжатие семейства опорных точек приводит к аффинной деформации любого сегмента физического сплайна. Планшетные измерения дают для сжатого сплайна следующий результат:
Производные в опорных точках исходной и сжатой кривой изменились не в 2 раза, а в 2,36 (точки B~B'), в 1,21 (точки C~C'), в 1,815 (точки D~D'), то есть деформация физического сплайна {A, B, C, D, E} → {A', B', C', D', E'} имеет в целом нелинейный характер.
Модель физического сплайна с защемленными концами. На рис. 2 представлены макеты физических сплайнов с защемленными концами. Исходный сплайн ABCDE характеризуется касательными в опорных точках:
Аффинно-сжатый сплайн A'B'C'D'E' с коэффициентом сжатия 0,5:
Рис. 2. Исходная и аффинно-сжатая упругие линейки с защемленными концами (фото и чертеж) |
Как и для сплайна со свободными концами, в случае защемленных концов наблюдается нелинейная деформация упругой линии физического сплайна.
Полиномиальная аппроксимация
Будем искать уравнения сегментов AB, BC, CD, DE в виде кубических полиномов:
(1)
Здесь
Составная кривая (1) – кубический полиномиальный сплайн. В отличие от реального (физического) сплайна его называют математическим сплайном. Как и физический сплайн, сплайн (1) проходит через заданные точки A, B, C, D, E, удовлетворяет заданным граничным условиям и имеет второй порядок гладкости (непрерывно изменяющуюся кривизну). Тем не менее, как будет показано ниже, форма физического и математического сплайнов может существенно различаться.
Уравнения (1) содержат 16 неизвестных коэффициентов , которые определяются из трех групп условий:
- инцидентности сегментов точкам A, B, C, D, E;
- отсутствия изломов (равенство первых производных на стыках сегментов);
- непрерывного изменения кривизны (равенство вторых производных в стыковых точках).
Заметим, что из (1) непосредственно следует:
(2)
Таким образом, в системе уравнений (1) содержится не 16, а всего 12 подлежащих определению коэффициентов.
Условия инцидентности имеют вид:
(3)
где
Условия отсутствия изломов имеют вид:
(4)
Условия непрерывного изменения кривизны имеют вид:
(5)
Десять уравнений (3), (4), (5) содержат двенадцать неизвестных коэффициентов Два дополнительных условия назначаются либо приравниванием нулю вторых производных в концевых точках A, E (свободные концы), либо указанием первых производных в точках A, E (защемленные концы).
Полиномиальная модель физического сплайна со свободными концами. Вторая производная сегмента AB в точке A должна быть равна нулю. Отсюда следует, что c1=0.
Вторая производная сегмента DE в точке E также должна быть равна нулю. Отсюда следует, что
. (6)
Решая (с помощью системы компьютерной алгебры SMath Studio Desktop) систему линейных уравнений (3), (4), (5), (6) с учетом c1=0, находим коэффициенты Получаем математический сплайн со свободными концами, проходящий через наперед заданные точки A, B, C, D, E (рис. 3а):
(7)
Сравнивая физический (поз. 1) и математический (поз. 1ʹ) сплайны (рис. 3а), замечаем существенное различие на интервалах BC и CD. Это различие уменьшается для аффинно-сжатых кривых (поз. 2 и 2ʹ), что подтверждает известное положение: математический сплайн, составленный из кубических полиномов, тем ближе к физическому сплайну, чем меньше прогибы физического сплайна.
Полиномиальная модель физического сплайна с защемленными концами. Тангенсы углов заделки равны: Граничные условия приобретают вид:
(8)
Рис. 3. Полиномиальная модель физического сплайна: а – свободные концы; б – защемленные концы (1, 2 – эксперимент, 1', 2' – расчет)
|
а) |
б) |
Решая систему линейных уравнений (3), (4), (5), (8), находим коэффициенты Получаем уравнение кубического сплайна с защемленными концами:
(9)
Полиномиальный сплайн (9) проходит через заданные точки A, B, C, D, E и имеет заданные производные в граничных точках A, E. Тем не менее, результаты моделирования (рис. 3б) показывают заметное различие физического (поз. 1, 2) и математического (поз. 1ʹ, 2ʹ) сплайнов, что ставит под сомнение возможность использования кубических полиномов для моделирования физических сплайнов с большими прогибами.
Параметрическая аппроксимация
Векторное уравнение сегмента параметрически заданной кубической кривой, проходящей через точки R0, R1 и касающейся в этих точках прямых τ0, τ1, имеет вид:
, (10)
где параметр t изменяется в диапазоне [0, 1]. Векторы указывают положение опорных точек R0, R1, а направления векторных производных при t=0 и t=1 совпадают с направлениями касательных τ0, τ1 в опорных точках.
Кубическая кривая (10), предложенная Фергюсоном в 60-х годах 20 века, описывает двухпараметрическое семейство кубических кривых, инцидентных точкам R0, R1 и касающихся в этих точках прямых τ0, τ1. Форма любой кривой этого семейства определяется величинами . При увеличении кривая теснее прилегает к касательной τ0, а при увеличении теснее прилегает к τ1 [12, 13].
Условие гладкости в форме Фергюсона. Согласно выражению для расчета вектора кривизны
, (11)
условие гладкого соединения кубических сегментов (10) имеет вид
, (12)
где надстрочный символ в скобках означает номер сегмента. Параметр t в уравнениях сегментов изменяется в диапазоне [0, 1] независимо от номера сегмента.
Учитывая, что в стыковой точке оба сегмента должны иметь общую касательную, представим первые производные, входящие в (12), в виде
(13)
где T – единичный вектор общей касательной, а коэффициенты w(1) , w(2) – модули первых производных в точке стыка. Подставляя (13) в (12), получаем условие гладкости:
. (14)
Пусть требуется провести гладкую кривую через опорные точки R0, R1, R2, заданные радиус-векторами r0, r1, r2. Будем искать решение в виде кривой, состоящей из сегментов кубических кривых вида (10). Записывая векторные производные в виде
(15)
и подставляя в (10), получаем уравнения сегментов r(1)(t) и r(2)(t):
, (16)
(17)
Здесь T0, T1, T2 – единичные векторы касательных τ0, τ1, τ2, а коэффициенты wi – модули первых производных. В общем случае w1(1) ≠ w1(2).
Дважды дифференцируя выражение (16) и подставляя t=1, получаем значение второй производной сегмента R0-R1 в его конечной точке R1:
.
Дважды дифференцируя выражение (17) и подставляя t=0, находим вторую производную сегмента R1-R2 в его начальной точке R1:
.
Подставляя и в (14), получаем условие гладкого соединения сегментов:
, (18)
где в общем случае .
Конструирование сплайна Фергюсона. Через указанные на плоскости точки A, B, C, D, E требуется провести сплайн Фергюсона – гладкую кривую, составленную из сегментов вида (10). В концевых точках A, E конструируемой кривой заданы касательные τA, τE. Сплайн имеет вид:
(19)
Здесь – векторные производные в граничных точках A, E. Надстрочный индекс в скобках означает номер сегмента. Направления единичных векторов TA, TE заданы касательными τA, τE. Модули wA, wE векторных производных определяют “степень прилегания” сплайна (19) к этим касательным. Остальные производные, входящие в (19), определяются выражениями:
, (20)
где TB, TC, TD – единичные касательные векторы в точках B, C, D. Производные (20) определяются из условий гладкости. Согласно (18), условия гладкости имеют вид:
(21)
или, с учетом (20):
(21ʹ)
где (отношения модулей первых производных в стыковых точках B, C, D).
Условия (21), (21ʹ) могут трактоваться двойственным образом. Если зафиксировать скалярные величины , то система уравнений (21ʹ) становится системой линейных уравнений относительно неизвестных векторных величин . Если же задать направления единичных касательных векторов TB, TC, TD, то система (21) становится системой нелинейных уравнений относительно скалярных величин .
Фиксируя в (21ʹ) скалярные величины , получаем условия гладкости:
(22)
где δA и δE – углы наклона касательных τA, τE к оси x.
В условиях (22) можно варьировать пятью управляющими параметрами: модулями первых производных wA, wE в граничных точках A, E и величинами . При изменении этих величин меняется форма сплайна (19).
Пример 1. Найти аппроксимирующую функцию для физического сплайна ABCDE со свободными концами (рис. 1), варьируя величинами .
Положив в (22) wA=wE=1, λB=1, λC=2, λD=0.5, находим компоненты векторных производных . Раскладывая (19) по осям x, y, получаем скалярные функции вида x=x(t), y=y(t), позволяющие построить сплайн Фергюсона (рис. 4а). Погрешность аппроксимации достигает 4%.
Рис. 4. Аппроксимация физического сплайна: а – свободные концы; б – защемленные концы (поз. 1 – эксперимент, поз. 2, 3 – расчет) |
а) |
б) |
Пример 2. Найти аппроксимирующую функцию для физического сплайна ABCDE с защемленными концами (рис. 2), варьируя величинами .
Подставляя в (22) координаты опорных точек A, B, C, D, E и значения , положив wA=wE=1, λB=λD=1, λC=2, получаем систему линейных уравнений, из которой находим компоненты векторных производных, входящих в коэффициенты сплайна (19). Раскладывая (19) по осям x, y, получаем скалярные функции вида x=x(t), y=y(t), позволяющие построить сплайн. На рис. 4, б представлен физический сплайн (поз. 1) и сплайны Фергюсона при λC=2 (поз. 2) и λC=3 (поз. 3). Погрешность аппроксимации более 10%.
Примечание. В условиях гладкости (21ʹ) можно произвольным образом задавать модули wA, wE первых производных в крайних точках A, E, а также величины λB, λC, λD. Следовательно, имеется 5 управляющих параметров, влияющих на форму сплайна (19). Задача подбора этих параметров для аппроксимации реальной упругой линии может быть решена лишь путем многочисленных “численных экспериментов”. К тому же нет уверенности, что найденный таким образом вариант аппроксимирующего сплайна является наилучшим.
Таким образом, условия гладкости (21ʹ), содержащие пять варьируемых параметров, не могут быть рекомендованы для моделирования физического сплайна.
Сплайн Фергюсона с заданными касательными. Рассмотрим алгоритм построения сплайна (19), проходящего через заданные опорные точки и касающегося в этих точках заданных прямых. Введем обозначения
.
Подставляя в (21), получаем систему нелинейных алгебраических уравнений относительно неизвестных z1…z6:
(23)
где
Задавая углы наклона касательных и модули wA, wE векторных производных в концевых точках A, E и решая нелинейную систему уравнений (23), находим модули z1…z6 производных в стыковых точках B, C, D, что позволяет полностью определить коэффициенты сплайна (19).
Рассмотренный алгоритм предполагает итерационное решение нелинейной системы (23), что может стать серьезной вычислительной проблемой. Решение можно упростить, используя разработанный авторами алгоритм подстановки.
Алгоритм подстановки. Зафиксируем первый сегмент AB сплайна (19), произвольно задав модули первых производных и в точках A, B. Варьируя величинами и , добиваемся удовлетворительного совпадения расчетного сегмента AB с соответствующим сегментом физического сплайна. Подставляем найденные величины и в первую пару уравнений системы (23):
(24)
Решая (24), находим неизвестные и подставляем их во вторую пару уравнений системы (23):
(25)
Решая (25), находим неизвестные и подставляем их в третью пару уравнений системы (23):
(26)
Решая (26), находим неизвестные . Все величины, входящие в коэффициенты сплайна (19), определены.
Примечание. Алгоритм подстановки позволяет заменить решение системы шести нелинейных уравнений (23) последовательным решением трех пар нелинейных уравнений (24), (25), (26).
Управление формой сплайна Фергюсона с заданными касательными
Раскладывая векторные уравнения (19) по осям x, y, получаем скалярные параметрические уравнения сплайна Фергюсона:
(27)
В уравнениях (27) можно варьировать модулями wA, wE первых производных в крайних точках A, E. Если используется алгоритм подстановки, то можно произвольно задавать модули и первых производных в граничных точках A, B первого сегмента. Таким образом, имеется всего два управляющих параметра, влияющих на форму сплайна, проходящего через наперед заданные точки с указанными в этих точках касательными.
Пример 3. Моделирование физического сплайна ABCDE со свободными концами (рис. 2).
Используя экспериментальные значения углов наклона касательных в опорных точках
,
вычисляем синусы и косинусы углов наклона касательных и подставляем их в условия гладкости (23). Положив варьируемые параметры wA=wE=1, решаем систему уравнений (23) методом Ньютона (SMath Studio):
(28)
Подставляя (28) в (27), получаем уравнения аппроксимирующего сплайна, отличающегося от физического сплайна менее, чем на 0,4% (рис. 5а).
Рис. 5. Физический сплайн (поз. 1) и сплайн Фергюсона (поз. 2): а – свободные концы; б – защемленные концы |
а) |
б) |
Пример 4. Моделирование физического сплайна с защемленными концами (рис. 3). Используем экспериментальные значения:
.
Варьируя модулями и производных в граничных точках A, B первого сегмента, добиваемся совпадения формы расчетного сегмента AB с сегментом AB физического сплайна. В рассматриваемом примере требуемое совпадение достигнуто при Используя алгоритм подстановки, последовательно решаем системы уравнений (24), (25), (26):
(29)
Подставляя (29) в (27), получаем скалярные уравнения, позволяющие построить аппроксимирующий сплайн (рис. 5б). Погрешность аппроксимации составила менее 1,5%.
Заключение
В работе рассмотрена задача геометрического моделирования природоподобных кривых (физических сплайнов). Для решения задачи предлагается параметрическая модель на основе кубического сплайна Фергюсона. Формой сплайна можно управлять посредством указания касательных в его базисных точках и изменением модулей первых производных в конечных точках конструируемого сплайна. Для решения системы нелинейных уравнений (условий гладкой стыковки сегментов сплайна) предлагается способ подстановки, позволяющий заменить решение системы 2(n-2) нелинейных уравнений последовательным решением n-2 пар нелинейных уравнений (n – количество базисных точек физического сплайна). На ряде примеров показано, что ошибка моделирования упругой линии физического сплайна со свободными концами не превышает 0,4%, а погрешность моделирования упругой линии с защемленными концами составляет менее 1,5%.
1. Голованов, Н. Н. Геометрическое моделирование / Н. Н. Голованов. - Москва : Изд-во физико-математической литературы, 2012. - 472 с.
2. Иванов, Г. С. Теоретические основы начертательной геометрии / Г. С. Иванов. - Москва : Машиностроение, 1998. - 157 с.
3. Glaeser, G. Geometrie und ihre Anwendungen in Kunst, Natur und Technik / G. Glaeser. - Moscow : Springer Spektrum, 2014. - 508 pp. - DOIhttps://doi.org/10.1007/978-3-642-41852-5.
4. Завьялов, Ю. С. Сплайны в инженерной геометрии / Ю. С. Завьялов, В. А. Леус, В. А. Скороспелов. - Москва : Машиностроение, 1985. - 224 с.
5. Фокс, А. Вычислительная геометрия. Применение в проектировании и на производстве / А. Фокс, М. Пратт. - Москва : Мир, 1982. - 304 с.
6. Конопацкий, Е. В. Вычислительные алгоритмы моделирования одномерных обводов через k наперед заданных точек / Е. В. Конопацкий, А. А. Крысько, А. И. Бумага // Геометрия и графика. - 2018. Т. 6, № 3. - С. 20-32. - DOI:https://doi.org/10.12737/article_5bc457ece18491.72807735.
7. Любчинов, Е. В. О гладкости стыковки линий и поверхностей при циклографическом моделировании поверхностных форм автомобильных дорог / Е. В. Любчинов, К. Л. Панчук // Вестник Южно-Уральского государственного университета. Серия «Строительство и архитектура». - 2020. - Т. 20. - № 1. - С. 52-62. - DOI:https://doi.org/10.14529/build200106.
8. Понтрягин, Л. С. Кубическая парабола / Л. С. Понтрягин // Квант. - 1984. - №3. - С. 10-14, 32.
9. Уокер, Р. Алгебраические кривые / Р. Уокер. - Москва : Либроком, 2009. - 240 с.
10. Шикин, Е. В. Кривые и поверхности на экране компьютера / Е. В. Шикин, Л. И. Плисс. - Москва : Диалог-МИФИ, 1996. - 240 с.
11. Прасолов, В. В. Геометрия / В. В. Прасолов, В .М. Тихомиров. - Москва : Изд-во МЦНМО, 2013. - 336 с.
12. Савелов, А. А. Плоские кривые / А. А. Савелов. - Москва : Либроком, 2009. - 296 с.
13. Короткий, В. А. Кубические кривые в инженерной геометрии / В. А. Короткий // Геометрия и графика. - 2020.- Т. 8. - № 3. - С. 3-24. - DOI:https://doi.org/10.12737/2308-4898-2020-3-24.