ИСПОЛЬЗОВАНИЕ СПЛАЙНОВ И АППРОКСИМАЦИОННЫХ ФУНКЦИЙ ДЛЯ ПОСТРОЕНИЯ СЛОЖНЫХ ПОВЕРХНОСТЕЙ В CAD-СИСТЕМАХ - Студенческий научный форум

XVIII Международная студенческая научная конференция Студенческий научный форум - 2026

ИСПОЛЬЗОВАНИЕ СПЛАЙНОВ И АППРОКСИМАЦИОННЫХ ФУНКЦИЙ ДЛЯ ПОСТРОЕНИЯ СЛОЖНЫХ ПОВЕРХНОСТЕЙ В CAD-СИСТЕМАХ

Кисилёв А.Ю. 1, Трусова И.С. 1
1ФГБОУ ВО "Мелитопольский государственный университет"
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

Введение

В рамках настоящей работы рассматривается геометрическое моделирование, которое является фундаментальной составляющей современного инженерного проектирования и широко применяется в машиностроении, авиационной и автомобильной промышленности, промышленном дизайне и аддитивных технологиях. Качество геометрического описания кривых и поверхностей напрямую определяет эксплуатационные характеристики изделия. При использовании глобальных полиномиальных моделей высокой степени часто возникают осцилляции и численная неустойчивость, что снижает применимость таких подходов в CAD-задачах [1].

Сплайновые методы основаны на кусочно-полиномиальном представлении и обеспечивают непрерывность производных и локальный контроль формы. Поэтому B-сплайны являются стандартным инструментом в CAD-системах для построения кривых и поверхностей [4].

Цель исследования

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

Теоретические основы интерполяции и аппроксимации

В инженерных задачах под интерполяцией понимается процесс построения функции, проходящей точно через заданный набор контрольных точек. Данный подход широко используется при восстановлении данных измерений и построении геометрических профилей. Однако интерполяционные полиномы высокой степени обладают глобальным характером, что приводит к значительной чувствительности формы к изменению отдельных узлов и может вызывать эффект Рунге [1].

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

Теоретические аспекты применения кубических сплайнов в CAD

Кубический сплайн представляет собой кусочно-полиномиальную функцию третьей степени, определённую на каждом интервале между соседними узлами интерполяции. Пусть задан набор узлов x₀ < x₁ < … < xₙ и соответствующие значения yᵢ = f(xᵢ). Тогда на каждом интервале [xᵢ, xᵢ₊₁] сплайн описывается полиномом третьей степени. В узлах интерполяции обеспечивается непрерывность самой функции, а также её первой и второй производных.

Условия сшивки сегментов имеют принципиальное значение для геометрического моделирования. Непрерывность первой производной гарантирует отсутствие изломов и резких изменений направления касательной. Непрерывность второй производной определяет плавность изменения кривизны, что непосредственно влияет на качество поверхностей в CAD-системах.

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

Материалы и методы исследования

Численный эксперимент выполнен в среде Python с использованием библиотек NumPy, SciPy и Matplotlib. Для построения интерполяционных зависимостей и сплайнов применялись средства пакета scipy.interpolate [2]. При ссылке на программный инструмент в научной публикации может использоваться рекомендуемая статья проекта SciPy [3].

Для проверки применимости результатов в CAD-среде использованы инструменты SolidWorks: построение B-сплайнов (StyleSpline) [4] и создание поверхностей по сечениям (Loft) [5].

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

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

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

Дополнительный анализ первых и вторых производных показал, что сплайновая модель обеспечивает плавное изменение производных на всём интервале, что подтверждает её пригодность для использования в CAD-системах.

Рис. 1. Сравнение одномерных методов интерполяции и аппроксимации: исходные точки, линейная интерполяция, полином МНК и кубический сплайн (Python).

На рис. 1 видно, что линейная интерполяция формирует ломаную линию с разрывами производной в узлах, а полиномиальная аппроксимация может проявлять паразитные колебания между точками. Кубический сплайн проходит через узлы и сохраняет плавность формы [1].

Рис. 2. Первая и вторая производные кубического сплайна S'(x) и S''(x), построенного по контрольным точкам (Python).

Графики на рис. 2 демонстрируют плавное изменение первой и второй производных. Непрерывность S'(x) и S''(x) является ключевым условием гладкости, влияющим на качество последующего построения поверхностей [1].

Рис. 3. Кривая кривизны κ(x) для кубического сплайна, вычисленная по производным (Python).

Кривизна κ(x) (рис. 3) позволяет количественно выявлять зоны максимального изгиба. В инженерных задачах такие зоны рассматриваются как кандидаты на дополнительные проверки: возможны локальные концентрации напряжений, проблемы технологичности или ухудшение аэродинамики.

Анализ кривизны сплайновых кривых

Для количественной оценки формы кривых используется понятие кривизны. Кривизна плоской кривой, заданной в виде функции y = f(x), может быть определена выражением:

κ(x) = |y''(x)| / (1 + (y'(x)) ²) ^(3/2).

Данная величина характеризует интенсивность изгиба кривой в каждой точке. Чем больше значение κ(x), тем сильнее локальный изгиб. Для инженерных поверхностей резкие пики кривизны являются потенциально неблагоприятными, поскольку они могут приводить к концентрации напряжений, ухудшению аэродинамических характеристик и снижению технологичности изготовления деталей.

Анализ кривизны кубического сплайна (рис. 3) показывает, что сплайновая аппроксимация обеспечивает более равномерное распределение изгиба по сравнению с полиномиальными моделями. Это подтверждает целесообразность использования сплайнов при проектировании ответственных поверхностей.

Валидация результатов в CAD-системе SolidWorks

Для подтверждения практической применимости полученных результатов выполнена проверка в CAD-системе SolidWorks. На основе контрольных точек строились сплайновые кривые, которые использовались в качестве направляющих при формировании поверхности по сечениям (LoftedSurface).

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

Таким образом, связка численного анализа и CAD-моделирования позволяет использовать сплайновые методы не только для построения геометрии, но и для предварительной оценки качества формы ещё на этапе проектирования.

Результаты исследования и их обсуждение

Сравнительный анализ показывает, что сплайн обеспечивает лучшее сочетание точности и гладкости: он интерполирует исходные точки, но при этом избегает глобальных осцилляций, характерных для полиномов высокой степени [1]. В CAD-практике преимущества сплайнов проявляются в устойчивости формы при локальном перемещении контрольных точек и возможности управлять плавностью кривой через степень и параметры B-сплайна [4].

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

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

Заключение

Показано, что кубические сплайны являются эффективным инструментом для построения сложных кривых и поверхностей в CAD-системах. Численный эксперимент в Python и практическая проверка в SolidWorks подтверждают, что анализ производных и кривизны позволяет контролировать качество формы и выявлять потенциальные дефекты на ранних этапах проектирования.

Научная новизна работы заключается в комплексном использовании численного анализа производных и кривизны сплайновых кривых в сочетании с практической валидацией результатов в CAD-системе SolidWorks. Такой подход позволяет не только строить геометрические модели, но и проводить предварительную оценку их качества ещё до этапа детального проектирования.

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

Список литературы

1. Burden R. L., Faires J. D., Burden A. M. Numerical Analysis. 10th ed. Boston: Cengage Learning, 2015. 912 p. ISBN 978-1-305-46535-0.

2. Interpolation (scipy.interpolate) — SciPy Documentation. URL: https://docs.scipy.org/doc/scipy/reference/interpolate.html (дата обращения: 13.12.2025).

3. Virtanen P., Gommers R., Oliphant T. E., et al. SciPy 1.0: Fundamental Algorithms for Scientific Computing in Python // Nature Methods. 2020. Vol. 17. P. 261–272. DOI: 10.1038/s41592-019-0686-2.

4. B-splines — SOLIDWORKS Design Help. 2024. URL: https://help.solidworks.com/2024/english/SolidWorks/sldworks/c_b_splines.htm (дата обращения: 13.12.2025).

5. Lofts and Surface Features — SOLIDWORKS Design Help. 2024. URL: https://help.solidworks.com/2024/english/SolidWorks/sldworks/c_Lofts_top.html (дата обращения: 13.12.2025).

6. Галанин М. П., Савенков Е. Б. Методы численного анализа математических моделей: учебное пособие. 2-е изд., испр. М.: МГТУ им. Н. Э. Баумана, 2018. 591 с.

7. Стриганова Л. Ю., Кириллова Т. И. Инженерная и компьютерная графика: учебное пособие. Екатеринбург: Изд-во Урал. ун-та, 2019. 140 с. ISBN 978-5-7996-2678-5.

8. Трусова И. С., Гурина В. М. Технологии разработки Web-приложений и приложений для мобильных платформ // Современные проблемы геометрического моделирования и информационные технологии: материалы II Межрегиональной научно-практической конференции преподавателей и студентов, посвященной 60-летию образования Мелитопольской школы прикладной геометрии. – Мелитополь, 2024. – [с. 378–382.]

Просмотров работы: 5