УДК 519.65, 514
А.А. Чекалин, М.К. Решетников
ОПТИМИЗАЦИЯ ГЕОМЕТРИЧЕСКОЙ МОДЕЛИ ПОВЕРХНОСТИ ИСПОЛЬЗОВАНИЕМ ГЕТЕРОГЕННЫХ ИНТЕРПОЛЯЦИОННЫХ СПЛАЙНОВ
Аннотация. Интерполяционные сплайны широко применяются в инженерной практике для геометрического моделирования сложных криволинейных поверхностей изделий в различных отраслях промышленности. Этот в целом удобный математический аппарат имеет несколько ограничений. В статье предлагается расширение метода сплайн-функций добавлением новых видов сплайнов. Интегродифференциальные сплайны, предлагаемые авторами ранее в качестве самостоятельных математических инструментов, предлагается использовать в составе двумерных неоднородных сплайнов совместно с традиционными.
Ключевые слова: интерполяция, аппроксимация, геометрическая модель, численные методы
A.A. Chekalin, M.K. Reshetnikov
GEOMETRIC OPTIMIZATION OF THE SURFACE MODELS USING HETEROGENEOUS SPLINE INTERPOLATIONS
Abstract. Spline interpolation is widely used in many areas of engineering, including geometric modeling of composite curved surfaces of products for a variety of industries. In fact, this easy-to-use mathematical technique has a number of disadvantages. The article presents the possible extensions of the spline functions method by adding new types of splines. It is proposed that in-tegrodifferential splines, originally presented as independent mathematical tools, should be used in combination with two-dimensional inhomogeneous splines alongside with traditional ones.
Keywords: Interpolation, approximation, geometric model, numerical methods
ВВЕДЕНИЕ
В инженерной геометрии поверхности представляют собой самый обширный и разнообразный класс геометрических объектов. Среди поверхностей выделяют примитивы - поверхности, определяемые единым уравнением, поверхности сложной структуры - совокупности примитивов, поверхности сложной формы, а также поверхности сложной формы и структуры [1, 2].
Самыми требовательными потребителями всех разделов геометрии традиционно являются такие отрасли как судостроение и авиастроение. Здесь форма поверхностей агрегатов является самой сложной и непосредственно влияет на функциональные параметры изделия. В конце 30-х годов ХХ века авиаконструктор Р. Бартини предложил использовать для описания поверхностей агрегатов летательных аппаратов аналитические методы в дополнение к графическим. Это послужило толчком для развития численных методов инженерной геометрии. Совершенствование вычислительной техники позволяет развивать эти методы.
С другой стороны, требования создателей систем автоматизированного проектирования и инженеров быстро растут. Программы усложняются, а объемы данных растут. Программисты знают, что как бы ни был велик объем носителей информации на современных компьютерах, проблема со свободным местом на носителях рано или поздно возникнет. То же касается мощности процессоров, объемов оперативной памяти вычислительных машин и др. Например, для разработки сложных геометрических форм используются персональные компьютеры с многоядерными процессорами, рабочие графические станции с несколькими процессорами [3].
Для дальнейших расчетов, таких как итоговая визуализация (получения растрового изображения трехмерной модели), используются локальные вычислительные сети. Однако модель может оказаться такой сложной, что для последней задачи приходится скрывать или временно удалять часть модели.
Таким образом, технические ограничения программно-вычислительного комплекса также заставляют разработчиков совершенствовать математический аппарат математического моделирования геометрических форм.
В авиа- и судостроении поверхность агрегата летательного или плавательного аппарата получают обычно опытным путем в виде физической масштабной модели. Затем возникает задача получить математическое выражение этой поверхности. А поскольку этого выражения нет, так как поверхность эмпирическая, конструкторам приходится решать задачу аппроксимации поверхности и отдельных линий, то есть подбора поверхности, максимально приближенной к исходной и удовлетворяющей некоторым наперед заданным условиям. Этими условиями могут быть, например, гладкость поверхности, плавность, отсутствие областей перегибов, ограничение на минимальный радиус и некоторые другие. С поверхности «снимается» точечный каркас и интерполируется наиболее подходящей алгебраической функцией. Понятно, что математическое выражение должно быть как можно проще. Наилучший выход - кусочно-гладкая интерполяция. Массив точек интерполируется дугами полиномов невысоких степеней. Аппроксимирующая поверхность практически всегда является кусочной, с минимальным необходимым, но достаточным параметром гладкости. Вообще говоря, аппроксимирующей может быть любая функция. Но в инженерной практике в подавляющем большинстве случаев для аппроксимации применяются различного вида сплайны.
Сплайны обладают хорошими аппроксимирующими свойствами: легко вычисляются, имеют хорошую сходимость, хорошие локальные свойства, легко изменяются на отдельных участках, приближают поверхность практически с любой точностью. Однако точность аппроксимации зависит от кусочности, а увеличение кусков, из которых состоит поверхность, увеличивает вычислительные затраты при решении дальнейших конструкторских и техноло-
гических задач. Это, например, задачи конструктивного деления поверхности на отсеки, построение эквидистантных поверхностей, конструирование технологической оснастки для производства, написание программ для ЧПУ и пр. К тому же иногда существует необходимость дальнейшего просчета аэро- и гидродинамических, прочностных и тому подобных характеристик поверхностей методами конечных элементов. В этих задачах большая кусоч-ность также увеличивает вычислительные затраты.
ТЕОРЕТИЧЕСКИЕ РЕЗУЛЬТАТЫ
Предлагается для аппроксимации сложной технической поверхности использовать новые сплайн-функции, позволяющие уменьшить кусочность поверхности.
По известным причинам для решения указанных выше задач используются кривые третьего порядка: кривые в форме Фергюссона и Безье и кубические сплайны [4]. Для удобства стыковки кусков сплайна используются сплайны нечетных степеней, из которых сплайн первой степени - прямая - не обеспечивает точность и гладкость, а сплайн пятой степени имеет слишком много параметров - коэффициентов, геометрический смысл которых может быть непонятен при переходе к трехмерным объектам [5].
На интервале параметра х \х1,Х1+1] скалярная одномерная сплайн-функция третьей степени
у = 5з(х) = Б{(р1 + + (^>3 + £'¿+1^4)^, (1)
где рх(и) = 1 -3и2 + 2и3, р2(и) = 3и2 —2и3, р3(и) = и — 2и2 + и3, р4(и) = —и2 + и3
л — X
и = ■
= х^+1 -XI - весовые функции Эрмита, 8г+1 - значения функции на концах интервала. Краевые условия на концах однотипные, поэтому звенья сплайна легко состыкуются друг с другом в узловых точках £г-, ¡=1...Ы-1. В этих точках первые производные двух смежных звеньев сплайна просто приравниваются. Неразрывность второй производной обеспечивается решение системы линейных алгебраических уравнений (СЛАУ) [5]. График такой функции представляет собой кривую с одной точкой перегиба в общем случае (рис. 1, а).
Предлагается использовать для интерполяции интегродифференциальные сплайны четных степеней: второй и четвертой [7].
Рис. 1. Сплайн-функции второй, третьей и четвертой степеней
Квадратичный сплайн (квадратичный) имеет вид
^ (и) = 5>1 (и) + БмЩ2 (и) +11+У з (и) / ^,
(2) 27
г + 1 Х
где 5 и £г+1 начальное и конечное значение функции, /'+1 = ((к)Ж - площадь плоскости
к
под графиком функции определяется численным интегрированием, - базисные функ-
ции второго порядка ^(и) = (1 - и)(1 - 3и), уг (и) = (3и - 2)и, у/3(и) = 6м(1 - и).
к - к,
и = ■
+1 -1,
^ = -1 • и изменяется в пределах 0 < и < 1. График функции представляет собой параболу - кривую без точек перегиба (рис. 1, б). Количество параметров - коэффициентов сплайна Б2 - нечетное. Однако параметр I,+1 не является краевым. Звенья сплайна легко стыкуются. Формула сплайна Б2 не содержит параметра - первой производной. Непрерывность первой производной в узлах обеспечивается решением СЛАУ. Эта система, как и у кубического сплайна, содержит матрицу с диагональным преобладанием, только с двумя диагоналями, и поэтому также решается методом прогонки.
Сплайн-функция четвертой степени имеет вид
где
г,+1
V (к) = Ф1 (к) + Яиф2 (к) + [^ (к) + 3+1 ф4 (к )К+1 + ф5 (к),
ф1 (и) = (1 + 5и)(1 - 3и)(1 - и)2, ф2 (и) = (3и - 2)(6 - 5и)и2,
Ф(и) = и(2 - 5и)(1 - и)2 /2, ф4(и) = (1 -м)(3 - 5и)и2 /2, ф1(и) = 30м2(1 - и)2
(3)
Здесь, как и в составе традиционного кубического сплайна, дифференциальные коэффициенты присутствуют явно, так же как и есть интегральный параметр. Построение сплайна начинается с задания интегральных коэффициентов. Они могут быть вычислены каким-либо методом численного интегрирования или замерены на реальной модели с использованием сканирующего устройства или координатно-измерительной. Впоследствии этими коэффициентами можно оперативно управлять формой кривой на отдельных участках. Дифференциальные коэффициенты высчитываются из СЛАУ, подобной системе для кубического сплайна. В общем случае сплайн описывает кривую четвертого порядка с двумя точками перегиба (рис. 1, в).
Для геометрического моделирования поверхности применяются двумерные сплайны. Сплайн-функция од двух переменных описывает в трехмерном пространстве кусок поверхности в явном виде на прямоугольном участке [хг,хг+1] х [у^у+у].
Ж33 = ф(и)Ефт (V),
(4)
где
533 =
( V 5г+1] А] А+1]
+1 °г+1]+1 А-О: А+1] +1
АО1 А01 А+1] А] Аг+1]
1 АО 1 А01 Аг+1] +1 А11 А+1] +1)
ф(и) = ф (и), ф2(и), ф3 (и)кг, ф 4 (и)Н1),
ф(v) = (ф (V), ф2 (V), ф3 (V)!-, ф4 (V)/,), и = ■
5 -
V = ■
10 88 ^01 88
" первые частные производные по параметрам х и у соответственно
10 01 А =— и =
• 8х 1 8у
А0 = ■
• 8х8у
сплайн представляет собой одномерный кубический сплайн (1) - так называемый частичный сплайн. Поверхность, составленная из кусков сплайна (4), должна быть гладкой на границах кусков (на линиях склейки). Это достигается решением СЛАУ [5].
Самый простой сплайн, который можно предложить для аппроксимации поверхности, -это биквадратичный ИД-сплайн:
82 8
- вторые смешанные производные. При фиксированной одной переменной
Здесь
О =
8 2 = р(у)Орт (и),
8, ^ Г(у) ^ С
(5)
-+1 г+1 ,+1 г j+1
х) Г+1(х ,) Г1, ,
р(и) =
рз(^)
Л
/
у(и) =
у
у1(и), у 2(и)
уз(и) И
• у
базисные функции у(и) и ф(v) квадратичного сплайна определены выше, и =
х — х _/
И
V = -
У — У
-, И = X — х +1, = у, — у,+1 ■
У,
Ц+1(У]) = | Sdx при у = уу. Геометрический смысл этого параметра - площадь под границей
х,
куска сплайна (рис. 2).
Рис. 2. Двумерный квадратичный сплайн
Этот и три других частичных интеграла являются краевыми условиями для куска по-
х,+1 у,+1
верхности. Полный интеграл IмВ+1 = | | $>дхйу определяет объем, ограниченный поверхно-
X у,
стью сплайна на области [хг,хг+1] х [у.у+у]. Гладкость составной поверхности на линиях склейки обеспечивается решением СЛАУ. Поверхность, описываемая сплайном £22, определяется меньшим количеством коэффициентов, алгоритм ее расчета короче и требует меньше вычислений. Однако точность аппроксимации сплайном £22 ниже, чем бикубическим. Для достижения той же точности придется увеличить кусочность поверхности. Двумерная сплайн-функция четвертой степени имеет вид
£ (х, у) = фТ (м)Вф»,
где
£ =
£+1,,
Д10
ВДV
г:+1х($,)
£
1,,+1 с
°г +1,,+1
Вг,V + 1
Вг +1,, + 1 Гг +1,
В»11
Вг+1, V Гг +1
В01
Вг,,+1 В 01
Вг+1,V+1 Вп
Вг,,+1 ВП
Вг+,V +1 г+1,
I, 1 I, 1
йГ1+1 щ+1
1Г1х(Уг+1Б) ^(у,) а1;+1х(ум)
У( X)
у( х+1)
у( хг)
у( +1)
I'+11V+1
л
ф(м) и ф(у) - матрицы весовых функций (3), в01 =
д£ (х, у,)
дх
(6)
в10 =
У
дЖ (х, у,)
ду
в11 =
V
д 2 £ (Хг , у, ) дхду
Ячейка сплайновой поверхности задается двадцатью пятью значениями: значения сплайна в углах ячейки, частичные и смешанные производные в углах, интегралы В+1 х(у ) и В+1 у(х.) отрезков линий склейки, определенные для одномерного сплайна,
полный интеграл. Здесь, как и ранее, интегральные параметры задаются, а дифференциальные - рассчитываются из СЛАУ. Эта модель сложнее, чем квадратичная кубическая. Однако точность аппроксимации такова, что позволит уменьшить кусочность поверхности в 6-9 раз. Это позволит значительно сократить вычислительные затраты при моделировании поверхностей сложной формы и сложной структуры за счет уменьшения количества булевых операций.
Иногда требования к моделируемой поверхности в различных топологических направлениях различны, в том смысле что сечение одной и той же поверхности в одном направлении может быть простым, а в другом - более сложным. Предлагается использовать в этих случаях комбинированный сплайн.
Теперь, когда у нас есть сплайны нескольких различных степеней, определим двумерный неоднородный, который далее будем называть гетерогенным.
Двумерная сплайн-функция £23, содержащая в качестве частичных сплайны второй и третьей степени, будет иметь вид
£2,3 =Ф(У)0^Т (и) ,
(7)
здесь
О =
( V +1] К+1(у]) Л
$11+1 Si+1]+1 +1( у1+1)
т т+1] т1]+1( уг)
V т1+1 т+1]+1 тС( у]+1) ,
р(у) = (р (у), р (у), р (у)1, р (у)1), Щ(и) = щ (и), щ (и),
Щз(и) к
у
базисные функции щ(и) и ру) квадратичного и кубического сплайнов соответственно
х - х у - у] I определены выше, и = —-—-, у =-, к = xi - хм, I. = у - у .
к
У
т =
(X, у)
ду
xi+l
, ) = I^х,у})дх, т11;1(у]):
д!\+1( У) ду
. Последний коэффициент - про-
изводная по у от интеграл-функции (рис. 3).
Рис. 3. Гетерогенный сплайн
'23
Для стыковки двух порций такой сплайн-функции вдоль лини склейки - квадратичного сплайна необходимо и достаточно рассчитать четыре коэффициента т и два
тГ^1(у1) при известных остальных. Для стыковки двух порций вдоль кубичного сплайна необходимо и достаточно рассчитать два коэффициента Г+1(у) [2] и два тГ+\у.) при известных остальных [1].
Двумерная сплайн-функция £34 имеет вид
8з4 = р(и)ОщТ (у), (8)
X
где
О =
5.. г1 г+11 туг] тУг+1 ]
5у+1 °г+1 ] +1 тУг]+1 тУг+1 1+1
тхг,, тХг+1 ] тхуг] тхуг+1 ,
ШХг]+1 тХг+1 1+1 тхуц+1 тХг+11 +1
у)
У ]+\)
П+1 ,
гг+1 ,
1+^ У
ф(и) и ^(у) - матрицы базисных функций 3 и 4 порядка соответственно.
При использовании этого сплайна появляется возможность локально оперативно управлять формой поверхности, оперируя интегральными коэффициентами.
ВЫВОДЫ
Предлагаемые двумерные сплайн-функции являются удобным и доступным математическим аппаратом для решения геометрических задач в части геометрического моделирования сложных технических поверхностей. Алгоритмы на их основе просты, легко программируются и могут быть добавлены в существующие системы автоматизированного проектирования.
Для моделирования кривых и поверхностей в инженерной геометрии применяются их параметрические представления. Например, сплайновая кривая определяется вектор-функцией со скалярными сплайн-функциями в качестве компонентов
У(и) = 1Бх(и) + }Бу(и) + кБг(и).
Сплайновая поверхность определяется
W(u,v) = 1Бх(и,р) + ]Бу(и,р) + кБг(и,р).
Теперь моделирование кривой или поверхности в каждом случае сводится к построению отдельно трех скалярных сплайнов.
СПИСОК ЛИТЕРАТУРЫ
1. Иванов Г.С. Конструирование технических поверхностей. М.: Машиностроение, 1982. 192 с.
2. Решетников М.К., Карачаровский В.Ю., Рязанов С.А. Визуализационная оценка геометрических характеристик контактирующей поверхности в червячных передачах на основе применения методов 3D компьютерной графики // Вестник Саратовского государственного технического университета. 2014. № 2 (75). С. 106-108.
3. Шишкин Е.В., Плис А.Е. Кривые и поверхности на экране компьютера. Руководство по сплайнам для пользователей. М.: ДИАЛОГ-МИФИ, 1996. 240 с.
4. Фокс А., Пратт М. Вычислительная геометрия. Применение в проектировании и на производстве: пер. с англ. М.: Мир, 1982. 304 с.
5. Алберг Дж., Нильсон Э., Уолш Дж. Теория сплайнов и ее приложения. М.: Мир, 1972. 316 с.
6. Завьялов Ю.С., Квасов Ю.И., Мирошниченко В.Л. Метолы сплайн-функций. М.: Наука. Гл. ред. физ.-мат. лит., 1980. 350 с.
7. Чекалин А.А. Моделирование поверхности сложных технических поверхностей на основе интегродифференциальных сплайнов: автореф. дис. ... канд. техн. наук. М., 1998. 23 с.
СВЕДЕНИЯ ОБ АВТОРАХ
Чекалин Андрей Александрович -
кандидат технических наук, доцент кафедры «Инженерная геометрия и основы САПР» Саратовского государственного технического университета имени Гагарина Ю.А.
Решетников Михаил Константинович -
доктор технических наук, доцент, заведующий кафедрой «Инженерная геометрия и основы САПР» Саратовского государственного технического университета имени Гагарина Ю.А.
Andrey A. Chekalin -
PhD (Engineering), Associate Professor, Department of Egineering Geometry and CAD Basics, Yuri Gagarin State Technical University of Saratov
Mikhail K. Reshetnikov -
Dr. Sci. Tech., Associate Professor, Head: Department of Engineering Geometry and CAD Basics, Yuri Gagarin State Technical University of Saratov
Статья поступила в редакцию 20.07.20, принята к опубликованию 17.08.20