автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.18, диссертация на тему:Моделирование поверхностей сложной геометрической природы линейчатыми поверхностями
Автореферат диссертации по теме "Моделирование поверхностей сложной геометрической природы линейчатыми поверхностями"
005017036
На правах рукописи
Кидяев Дмитрий Андреевич
МОДЕЛИРОВАНИЕ ПОВЕРХНОСТЕЙ СЛОЖНОЙ ГЕОМЕТРИЧЕСКОЙ ПРИРОДЫ ЛИНЕЙЧАТЫМИ ПОВЕРХНОСТЯМИ
Специальность 05.13.18 - «Математическое моделирование, численные методы
и комплексы программ»
АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата физико-математических наук
1 0 ш /П'?
Москва - 2012 г.
005017036
Работа выполнена в ФГБОУ ВПО Московском государственном технологическом университете «СТАНКИН».
Научные руководители: кандидат физико-математических наук, доцент
Елькин Александр Геннадьевич
Официальные оппоненты: Шевелёв Валентин Владимирович,
доктор физико-математических наук, ФГБОУ ВПО Московский государственный университет тонких химических технологий имени М.В. Ломоносова, профессор кафедры высшей и прикладной математики
Матвеев Олег Александрович,
кандидат физико-математических наук,
ГОУ ВПО Московский государственный
областной университет,
доцент кафедры математического анализа и
геометрии
Ведущая организация: ФГБОУ ВПО Московский государственный
университет путей сообщения
Защита состоится «ЗО» _ 2012 г. в Л^ часов на
заседании диссертационного совета Д 212.142.03 при ФГБОУ ВПО Московском государственном технологическом университете «СТАНКИН» по адресу: 127055, Москва, Банковский переулок, д. За.
С диссертацией можно ознакомиться в библиотеке ФГБОУ ВПО Московского государственного технологического университета «СТАНКИН».
Автореферат разослан «Р#, » Ои-м?*—^ 2012 г.
Ученый секретарь диссертационного совета, к.т.н., доц.
Срияик-пая Е.Г.
ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ
Актуальность темы
Моделирование поверхностей как процесс, в результате которого тем или иным образом заданная целевая поверхность может быть представлена другим (как правило, более простым или удобным) образом, является на сегодняшний день повседневной практикой в различных отраслях человеческой деятельности. Причем при постановке задачи моделирования поверхность может обладать различной природой. Под последним понимается тот факт, что поверхность может быть задана различным, порою достаточно сложным для данной задачи моделирования образом. В этом случае говорят о сложной геометрической природе моделируемой поверхности.
Совершенствование компьютерных технологий привело к созданию развитых систем проектирования поверхностей. К таким системам относятся системы компьютерного геометрического моделирования (такие системы принято называть CAD (computer-aided design) системами). Моделирование поверхностей в таких системах сводится, как правило, к определению некоторых процессов формирования поверхности из точек и кривых при помощи специальных процедур. Например, цилиндрическая поверхность может быть образована плоскопараллельным движением плоской кривой в направлении вектора, перпендикулярного плоскости этой кривой. Часто для создания модели поверхности сложной формы (например, при моделировании человеческого тела) удобно использовать сплайновые поверхности. На практике при этом используют, как правило, неоднородные рациональные В-сплайновые поверхности (NURBS). В других приложениях, например, при моделировании процесса обработки заготовки на различных станках, удобным оказывается представление поверхности как множества треугольников (триангуляция) и нормалей к ним.
При создании в автоматизированных системах технологической подготовки производства (АСТПП) управляющих программ для широкого класса станков с
числовым программным управлением (ЧПУ) удобным оказывается представление поверхности как образованной движением прямой, т.е. как линейчатой поверхности. К этому классу станков можно отнести станки гидроабразивной обработки, плазменной обработки, лазерной обработки, фрезерные станки и др.
Общая схема создания модели детали выглядит следующим образом. Инженер в некоторой CAD системе при помощи специальных процедур формирует трехмерную модель детали. После того, как модель сформирована, необходимо определить последовательность обработки заготовки в зависимости от самой заготовки и имеющихся в наличии станков и рабочих инструментов. В случае, когда применяемое в данном процессе оборудование обладает числовым программным управлением, применяется следующая последовательность действий. Полученная на этапе геометрического моделирования деталь анализируется автоматизированной системой технологической подготовки производства (часто с точки зрения архитектуры эта программа объединена с программой геометрического моделирования, хотя в последнее время считается целесообразным проводить соответствующие действия в специализированной АСТПП). В процессе анализа модели детали в АСТПП, инженер задает геометрические параметры заготовки, геометрию инструмента, а также последовательность целевых поверхностей детали, получаемых при обработке заготовки. На основе этих данных АСТПП формирует траекторию движения инструмента. Далее эта траектория анализируется постпроцессором -специальной программой, характерной для данного станка. В результате работы постпроцессора формируется управляющая последовательность команд.
На этапе анализа модели детали в АСТПП часто и возникает задача о моделировании ее поверхности линейчатой, а иногда даже более того -развертывающейся поверхностью. При моделировании поверхности линейчатой поверхностью возникает задача идентификации линейчатой поверхности. Идентификацией линейчатой поверхности называется задача выяснения, является ли данная поверхность линейчатой.
Задачи моделирования различным образом заданных поверхностей линейчатыми поверхностями рассматривалась ранее в работах Chen H.-Y., Pottmann Н.1; Chen H.-Y., Lee I.K., Leopoldseder S., Pottmann H., Randrup Т., Wallner J.2; Peternell M.3, Hoschek J., Schwanecke U.4 и др.
Целью данной работы является разработка специальных методов и алгоритмов идентификации линейчатых поверхностей и моделирования (аппроксимации) произвольно заданных поверхностей линейчатыми поверхностями.
Научная новизна
1. Получены специальные методы построения алгоритмов моделирования заданных различным образом поверхностей линейчатыми поверхностями.
2. Разработан алгоритм идентификации линейчатой поверхности, являющейся графиком многочлена.
3. Получен метод решения задачи моделирования поверхности, заданной множеством точек и нормалей линейчатой поверхностью, использующий стандартное уравнение линейчатой поверхности.
4. Разработаны алгоритмы решения задачи моделирования поверхности, заданной способом, принятым в системах компьютерного геометрического проектирования, развертывающейся поверхностью и произвольной линейчатой поверхностью.
Практическая ценность
Разработанные методы и алгоритмы могут быть использованы при решении задач автоматизированной технологической подготовки производства в различных отраслях машиностроения.
1 Chen H.-Y., Pottmann H. Approximation by ruled surfaces Institute of Geometry, Technical University Wien. Wiedner Hauptstrabe 8-10, A-1040, Wien, 1998.
2 Chen H.-Y., Lee I.-K., Leopoldseder S., Pottmann H., Randrup T„ Wallner J. On surfaces approximation using developable surfaces. Odense Steel Shipyard Ltd., P.O. Box 176. DK-5100 Odense C, Denmark, 2004.
' Petemell M. Developable surface fitting to point clouds Vienna University of Technology, Institute of Discrete Mathematics and Geometry, Vienna, Austruia. 2004.
' Hoschek J., Schwanecke U. Interpolation and approximation with ruled surfaces. The Mathematic of Surfaces VIII, 1998.
Основные положения, выносимые на защиту
1. Новый метод идентификации линейчатой поверхности, являющейся графиком многочлена.
2. Алгоритмы моделирования поверхностей различной геометрической природы развертывающимися поверхностями и произвольными линейчатыми поверхностями.
Методы исследования
В работе используются классические результаты и методы дифференциальной геометрии, дифференциального и интегрального исчисления, дифференциальных уравнений, оптимизации. Для краткости изложения общих теоретических сведений по дифференциальной геометрии используется тензорная алгебра.
Для тестирования разрабатываемых алгоритмов на начальном этапе использовались широко известные средства проектирования: MATLAB, Maple. Для разработки практически значимых программ использовался язык С++ и следующие библиотеки: Qt - для создания интерфейса пользователя, MathGL -для визуализации исходных данных и результатов, alglib - для некоторых методов оптимизации, KNITRO - для решения задач нелинейного программирования (НЛП), OpenCASCADE - для визуализации и некоторых геометрических расчетов.
Апробация результатов
Представленные результаты докладывались и обсуждались на следующих конференциях.
1. IX-я научная конференция МГТУ «Станкин» и «учебно-научного центра математического моделирования МГТУ «Станкин» - ИММ РАН» по математическому моделированию и информатике (МГТУ «Станкин», г. Москва, 2006 г.).
2. XVI-я научная конференция МГТУ «Станкин» и «учебно-научного центра математического моделирования МГТУ «Станкин» - ИММ РАН» по
математическому моделированию и информатике (МГТУ «Станкин», г. Москва, 2011 г.).
3. И-ая международная конференция МГТУ «Моделирование нелинейных процессов и систем» (МГТУ «Станкин», г. Москва, 2011 г.).
4. Всероссийская научно-образовательная конференция «Машиностроение - традиции и инновации» (МГТУ «Станкин», г. Москва, 2011 г.).
Реализация результатов
Результаты работы используются в разработанной автором автоматизированной системе технологической подготовки производства в ГИЦ ФГБОУ ВПО МГТУ «Станкин». Использование результатов позволяет получать в автоматизированном режиме управляющие программы для станков 5-координатной гидроабразивной обработки, предназначенные для формирования поверхностей изделий различной геометрической формы.
Публикации
Основные результаты работы опубликованы в 5 печатных работах, в числе которых 1 публикация в издании, рекомендованном ВАК, 4 - в других периодических изданиях.
Структура и объем диссертации
Диссертационная работа состоит из введения, четырех глав, заключения, списка использованной литературы из 54 наименований. Общий объем диссертации - 113 страниц, включая 30 рисунков и 1 приложение.
ОСНОВНОЕ СОДЕРЖАНИЕ РАБОТЫ
Во введении обоснована актуальность темы диссертации, сформулированы цели и задачи исследования, научная новизна и практическая ценность работы. Приведено описание структуры диссертации и краткое содержание работы.
В первой главе дается краткое описание используемых в дальнейшем известных определений и результатов классической дифференциальной
геометрии поверхностей. Изложение ведется для краткости в тензорных обозначениях.
Во второй главе доказываются две теоремы о линейчатой поверхности, являющейся графиком многочлена (теоремы 2.1, 2.2), которые используются для получения нового метода идентификации линейчатой поверхности, являющейся графиком многочлена (п. 2.3), а также доказывается ряд утверждений о поверхностях Каталана (утверждение 2.1, лемма 2.1 и теорема 2.3).
В диссертации принято следующее определение поверхности Каталана.
Определение 2.1. Поверхностью Каталана называется линейчатая поверхность, прямолинейные образующие которой параллельны одной плоскости.
Множество этих образующих будем называть каталановским семейством прямых. Поверхность, на которой есть два различных каталановских семейства прямых, будем называть дважды каталановской.
Теорема 2.1. Всякая линейчатая поверхность, являющаяся графиком многочлена, является поверхностью Каталана.
Таким образом, для графика многочлена свойства быть линейчатой поверхностью и поверхностью Каталана равносильны. С помощью теоремы 2.1 доказывается теорема 2.2 - вторая теорема о линейчатой поверхности, являющейся графиком многочлена.
Теорема 2.2. Если линейчатая поверхность является графиком многочлена, то она является также графиком многочлена, линейного относительно одной из переменных.
Эта теорема используется для получения нового метода идентификации линейчатой поверхности. Опишем алгоритм, реализующий этот метод.
Пусть дана поверхность г = Р(х,у), где Р(х,у)~ многочлен.
Шаг 1. Если многочлен Р(х,у) является линейным относительно у, т.е. представим в виде Р (х.у) = Л(х) у-*- В(х), то данная поверхность является
линейчатой. Более того, она является поверхностью Каталана с плоскостью параллелизма д; = 0. Аналогично, если многочлен Р(х,у) является линейным по л:, то данная поверхность является поверхностью Каталана с плоскостью параллелизма у = О. Если это не так, то переходим к шагу 2.
Шаг 2. Рассмотрим произвольную точку данной поверхности и найдем в ней асимптотические направления. Если их нет, то поверхность не является линейчатой. Если они есть, то берем любое из них и переходим к шагу 3.
Шаг 3. Сделаем поворот системы координат вокруг оси г так чтобы асимптотическое направление стало параллельным плоскости у': (Ох'у':— новая система координат). Уравнение данной поверхности в новых координатах г = Р'(х\у').
Если многочлен Р'(х',у') является линейным относительно у', то данная поверхность - линейчатая. Если это не так, то переходим к другому асимптотическому направлению (если оно есть) и к нему применяем шаг 3.
Следующие утверждения - о свойствах поверхностей Каталана.
Утверждение 2.1. Пусть задана линейчатая поверхность г = р(и) + vl(u), причем вектор-функция 1{и) трижды непрерывно дифференцируема. Тогда если 1,Т,1" = 0 и !' не коллинеарен /" ни в одной точке, то данная поверхность является поверхностью Каталана.
Следующие лемма и теорема - о характеризации свойства поверхности Каталана быть дважды каталановской поверхностью.
Лемма 2.1. Если на поверхности Каталана существуют две различные прямые, каждая из которых пересекает каждую прямую каталановского семейства прямых, то эта поверхность является дважды каталановской.
Теорема 2.3. Следующие утверждения относительно поверхности Каталана равносильны
(!) на ней существуют две различные прямые, каждая из которых пересекает каждую прямую каталановского семейства прямых;
(2) она является дважды линейчатой;
(3) она является дважды каталановской.
Приводятся три примера поверхностей Каталана. В одном из них на поверхности кроме каталановского семейства прямых других прямых нет. Во втором есть еще одна прямая, а в третьем есть еще две прямые (в этом случае поверхность является дважды каталановской). Эти примеры показывают, в частности, что усилить формулировку теоремы 2.3 нельзя.
В третьей главе дается краткий обзор имеющихся результатов по моделированию поверхностей линейчатыми поверхностями и предлагается ряд новых алгоритмов. Дадим краткое описание этих алгоритмов.
Рассмотрим сначала случай, когда поверхность S задана точками и нормалями (аналогично тому, как она задается в формате STL).
Пусть поверхность S задана множеством своих точек М = {MV...,MN} и
ортов нормалей | к ней в этих точках. Требуется найти стандартное
уравнение линейчатой поверхности, аппроксимирующей поверхность S. Будем искать уравнение линейчатой поверхности в виде
; = p(M„...,4) + v7M„...,Bm), (1)
где А1,...,А„ и В,,...,В,„ - некоторые параметры, определяющие вид направляющей кривой и вид направляющего вектора образующей.
Пусть pt = ОМi - радиус-вектор точки , / = \,...,N. Пусть также п\ - орт нормали к поверхности (1) в точке М,. Пусть
= f(p(«'„^I,...,^) + v'/(M'„S1,...,5m)-^)2 (2)
Решение поставленной задачи сводится теперь к решению следующей задачи нелинейного программирования.
f(u,r....ii'y,v\,...,v\,,Al,...,A„,Bi,...,Bm)^> min, _ (3)
1 <T(„\,Bi,...,Bm),i = \,...,N, (4)
(«,-«•)'<£,/ = 1,...,^. (5)
Этот алгоритм допускает следующую модификацию. Условие (5) можно «внести» в целевую функцию, сформулировав тем самым несколько другую задачу НЛП. Вместо (5) определим функцию / следующим образом
= ¿(р(" V«.....+ .....^) - л)2 + ¿Р - я^)2 (6)
(=1 ы
Тогда соответствующая задача НЛП ставится так
/(и\,...,и\,у\,...,у\,А1,...,Ап,В,,...,Вт)-> 1шп (7)
\<Т(и\,В„...,Вт), 1 = \,...,М, (8)
Для случая, когда каждая координатная функция (1) является суммой алгебраических и тригонометрических многочленов, была произведена реализация данного алгоритма.
Рассмотрим теперь другой случай, когда поверхность 5 задается способом, принятым в системах компьютерного геометрического моделирования. Заметим, что при решении задачи создания управляющих программ для станков с ЧПУ инженер, определяющий последовательность обработки заготовки, часто может заранее определить и указать, какие кривые, могут быть направляющими кривыми аппроксимирующей линейчатой поверхности. Пусть нам даны две такие кривые.
Итак, пусть дано векторное параметрическое уравнение поверхности г = г(и,у), (г/,у)е£>, и заданы две кривые с, и с2, каждая из которых является направляющей линейчатой поверхности, аппроксимирующей поверхность 5. Пусть г = ср(/),/е[0,а] - уравнение первой кривой с,, а /- = ^(/),/е[0,б] -уравнение второй кривой с2. Требуется найти линейчатую поверхность, аппроксимирующую поверхность 5.
В п.3.3 приводится алгоритм решения этой задачи.
Шаг 1. Выберем в качестве направляющей искомой линейчатой поверхности одну из данных кривых, например, кривую с,. Разобьем отрезок
[О,а] точками /¿=0<¡1 <...<11п=а на п отрезков, причем так, чтобы соответствующее разбиение кривой с, было достаточно мелким. Точки ¡¡, выбираются произвольно, а далее считаются фиксированными.
Шаг 2. Пусть / - произвольная точка отрезка [0,6]. Обозначим через
отрезок, соединяющий точки кривых с, и с2, соответствующие значениям параметров и Обозначим через е(/,',/) нижнюю грань всех чисел 8, таких, что отрезок лежит между двумя е - эквидистантами
поверхности 5, и назовем это число близостью этого отрезка к поверхности 5. Решим теперь следующую задачу НЛП
= (9)
1=0
е[0,б], / = 0,...,и (10)
= (11)
При этом предлагается следующий алгоритм поиска начального условия. Рассмотрим точку на первой кривой с,, соответствующую значению
параметра Для этой точки рассмотрим касательную плоскость к поверхности 5 в этой точке и плоскость нормального сечения поверхности 5 в этой точке в направлении, перпендикулярном первой кривой. Выберем в качестве значения параметра то, которому соответствует точка второй кривой, обладающая следующим свойством: сумма расстояний от нее до рассмотренных выше плоскостей (нормального сечения и касательной плоскости) является наименьшей.
Шаг 3. В результате решения задачи (9) - (11) получаем точки /„,...,/„,
принадлежащие отрезку [0,6]. Обозначим через р, отрезок / = 0,...,л.
Выберем на каждом таком отрезке направление от первой кривой ко второй. В
12
результате получим направляющие векторы образующих искомой линейчатой поверхности. Таким образом, для искомой линейчатой поверхности у нас есть направляющая (например, кривая с,) и направляющие векторы образующих. Этого вполне достаточно для создания управляющей программы для станка с ЧПУ, например, в случае гидроабразивной обработки.
В четвертой главе приводится краткий обзор имеющихся результатов по аппроксимации поверхностей развертывающимися поверхностями и предлагается новый алгоритм решения этой задачи.
Рассмотрим случай, когда поверхность S задается способом, принятым в системах компьютерного геометрического моделирования.
Пусть дано векторное параметрическое уравнение поверхности r = r(u,v), («,v)eD и заданы две кривые с, и с2, лежащие на поверхности S.S. Пусть r = <p(t),t е[0,я] - уравнение первой кривой с,, а г = ц/(/),/е[0,б] - уравнение второй кривой с2. Требуется найти развертывающуюся поверхность, аппроксимирующую поверхность S.
Как известно, развертывающаяся поверхность является огибающей однопараметрического семейства плоскостей. Тем самым задачу о нахождении развертывающейся поверхности можно интерпретировать, как задачу о нахождении соответствующего однопараметрического семейства плоскостей.
Предлагается следующий алгоритм.
Шаг 1. Разбиение поверхности на малые области.
Разобьем отрезок [0,а] на п частей точками =0 < — </'„ =а, а отрезок [0,Ь] точками =0 </,2 <...<t2„ =b. Важно, что отрезки разбиты на равное число частей. Пусть - отрезок, заданный точками с радиус-векторами ф(/,') и vj/(/,2). Проекцию отрезка pt на поверхность S обозначим через q,. Область поверхности S, ограниченную кривыми с,, с2, q,, qltl обозначим через
/'= 1. Таким образом, рассматриваемая поверхность разбита на п
областей.
Шаг 2. Расчет средних нормалей в областях Б,.
В каждой из областей найдем «среднюю нормаль». Для этого выберем в области 5, некоторое е-плотное множество точек М' = |Л/,',...,Л/^} т.е. такое, что для любой точки А^ е должна существовать точка МУ такая, что р[м'гА'^<г. Единичную нормаль к поверхности 5 в точке М, обозначим п. Тогда среднюю нормаль в области 5, определим естественной формулой
к,_
№
(12)
Эту нормаль мы примем за нормаль плоскости однопараметрического семейства, огибающая которого является искомой аппроксимирующей поверхностью.
Шаг 3. Расчет направляющих векторов образующих.
Известно, что если дано однопараметрическое семейство плоскостей
Л(/)л:+В(/).у + С(/)г + 0(/) = 0, (13)
то характеристика семейства может быть найдена из системы
А'{1)х+ В'(г)у + С'(/)г + £>'(/) = 0'
Отсюда, в частности, следует, что направляющий вектор образующей может быть найден как векторное произведение нормали плоскости семейства (13) и его производной.
Таким образом, каждой из областей 5, мы ставим в соответствие образующую развертывающейся поверхности с направляющим вектором
а,= Л^хЛГ, (15)
где производная ЛГ, нормального вектора вычисляется методом конечных разностей.
Шаг 4. В качестве направляющей кривой искомой развертывающейся поверхности можно выбрать любую из кривых с, или с2.
Таким образом, мы нашли конечное множество образующих развертывающейся поверхности, аппроксимирующей данную поверхность, что вполне достаточно для применения во многих приложениях.
Приведенный алгоритм достаточно быстрый (при условии эффективной реализации достаточно сложных процедур проектирования отрезка на поверхность).
В заключении приводятся основные результаты работы.
ОБЩИЕ ВЫВОДЫ И РЕЗУЛЬТАТЫ РАБОТЫ
1. Решена задача моделирования поверхностей сложной геометрической природы линейчатыми поверхностями, имеющая существенное значение в процессах технологической подготовки производства в различных машиностроительных отраслях.
2. На основе анализа возможных способов задания поверхности детали, а также свойств поверхностей Каталана получены специальные методы построения алгоритмов моделирования заданных различным образом поверхностей линейчатыми поверхностями.
3. Разработан алгоритм, с помощью которого решение задачи идентификации линейчатой поверхности, являющейся графиком многочлена, осуществляется более простым по отношению к общему случаю образом.
4. Получен метод решения задачи моделирования поверхности, заданной множеством точек и нормалей, использующий стандартное уравнение линейчатой поверхности и сводящий решение этой задачи к решению задачи нелинейного программирования.
5. Разработаны алгоритмы решения задачи моделирования поверхности, заданной способом, принятым в системах геометрического проектирования, развертывающейся поверхностью и произвольной линейчатой поверхностью, позволяющие упростить решение этой задачи за счет использования дополнительной информации о геометрии моделируемой поверхности.
6. Разработана специализированная система автоматизированной технологической подготовки производства по созданию управляющих
программ для станков 5-координатной гидроабразивной обработки, в которой реализованы разработанные алгоритмы моделирования поверхностей линейчатыми поверхностями. Проведенные при помощи разработанной системы численные эксперименты подтверждают пригодность разработанных алгоритмов аппроксимации для достаточно широкого класса поверхностей изделий, используемых на практике.
7. Результаты работы могут быть рекомендованы к использованию в машиностроительных отраслях, а также при подготовке специалистов в технико-технологических ВУЗах, по направлению 231300.62 «Прикладная математика» (бакалавры) и по направлению 230100.68 «Информатика и вычислительная техника» (магистры).
ПУБЛИКАЦИИ ПО ТЕМЕ ДИССЕРТАЦИИ
Основные результаты диссертации опубликованы
в научных изданиях, рекомендованных ВАК:
1. Елькин А.Г., Кидяев Д.А. О поверхностях Каталана. Вестник МГТУ «Станкин», апрель 2012, 2(19), с. 71-73.
в других периодических изданиях:
2. Кидяев Д.А. Исследование огибающей однопараметрического семейства плоскостей. IX-ая научная конференция МГТУ «Станкин» и «Учебно-научного центра математического моделирования МГТУ «Станкин» -ИММ РАН»: Программа. Сборник докладов. / Под ред. O.A. Казакова. - М.: «ЯНУС-K» ИЦ ГОУ МГТУ «Станкин». 2006, с. 23-26.
3. Кидяев Д.А. Об одном методе идентификации линейчатой поверхности. Материлы XIV научной конференции МГТУ "Станкин" и "Учебно-научного центра математического моделирования МГТУ "Станкин" -ИММ РАН" по математическому моделированию и информатике: Сборник докладов / Под ред. Казакова O.A. - М: ИЦ ГОУ ВПО МГТУ "Станкин", 2011, с. 34-37.
4. Елькин А.Г., Кидяев Д.А. О линейчатой поверхности, являющейся графиком многочлена. Материалы всероссийской научно-образовательной
конференции «Машиностроение - традиции и инновации» (МТИ-2011). Сборник докладов. - М.: МГТУ «СТАНКИН», октябрь 2011, с. 136-138.
5. Кидяев Д.А. Моделирование поверхностей сложной геометрической природы линейчатыми поверхностями. Фундаментальные физико-математические проблемы и моделирование технико-технологических систем, под редакцией Уваровой Л.А. - М:Янус-К, 2011, вып. 14, с. 163-172.
Подписано в печать: 27.04.2012 Тираж: 100 экз. Заказ № 136 Отпечатано в типографии «Реглет» 119526, г. Москва, Страстной бульвар, д. 6, стр. 1 (495) 978-43-34; www.reglet.ru
Текст работы Кидяев, Дмитрий Андреевич, диссертация по теме Математическое моделирование, численные методы и комплексы программ
61 12-1/807
ФГБОУ ВПО Московский государственный технологический университет
«СТАНКИН»
На правах рукописи
Кидяев Дмитрий Андреевич
МОДЕЛИРОВАНИЕ ПОВЕРХНОСТЕЙ СЛОЖНОЙ ГЕОМЕТРИЧЕСКОЙ ПРИРОДЫ ЛИНЕЙЧАТЫМИ ПОВЕРХНОСТЯМИ
Специальность 05ЛЗЛ8 - «Математическое моделирование, численные
методы и комплексы программ»
Диссертация на соискание ученой степени кандидата физико-математических наук
Научный руководитель:
к.ф.-м.н., доцент
Елькин Александр Геннадьевич
Москва-2012 г.
Оглавление
Введение...................................................................................................................4
1 Общие сведения по дифференциальной геометрии поверхностей..........17
1.1 Параметрическое задание поверхности.......................................................17
1.2 Касательная плоскость и нормальный вектор.............................................18
1.3 Элементы тензорной алгебры.......................................................................20
1.4 Первая и вторая квадратичные формы поверхности, асимптотическая сеть ..............................................................................................................................26
1.5 Линейчатые поверхности.............................................................................28
2 Идентификация линейчатой поверхности, являющейся графиком многочлена. Поверхности Каталана..................................................................30
2.1 Общие сведения о поверхностях Каталана..................................................30
2.2 О линейчатых поверхностях, являющихся графиками многочленов.........31
2.3 Метод идентификации линейчатой поверхности, являющейся графиком многочлена..........................................................................................................33
2.4 Ряд утверждений о поверхностях Каталана................................................. 35
3 Моделирование поверхностей различной геометрической природы линейчатыми поверхностями.............................................................................49
3.1 Обзор известных результатов по решению задачи аппроксимации произвольных поверхностей линейчатыми поверхностями.............................49
3.2 Моделирование поверхностей, заданных множеством точек и нормалей, линейчатыми поверхностями.............................................................................56
3.3 Моделирование поверхностей, заданных способом, принятым в системах компьютерного геометрического проектирования, линейчатыми поверхностями....................................................................................................60
4 Моделирование поверхностей, заданных способом, принятым в системах геометрического проектирования, развертывающимися поверхностями..65
4.1 Обзор известных результатов по решению задачи моделирования поверхностей развертывающимися поверхностями.........................................65
4.2 Алгоритм моделирования поверхностей развертывающимися
поверхностями....................................................................................................69
Заключение............................................................................................................73
Литература............................................................................................................75
Публикации по теме диссертации.....................................................................79
Приложение: исходные тексты программ........................................................80
1 Моделирование поверхностей, заданных множеством точек и нормалей, линейчатыми поверхностями.............................................................................80
2 Моделирование поверхностей, заданных способом, принятым в системах компьютерного геометрического проектирования, линейчатыми поверхностями....................................................................................................96
Введение
Моделирование поверхностей как процесс, в результате которого тем или иным образом заданная целевая поверхность может быть представлена другим (как правило, более простым или удобным) образом, является на сегодняшний день повседневной практикой в различных отраслях человеческой деятельности. Причем при постановке задачи моделирования поверхность может обладать различной природой. Под последним понимается тот факт, что поверхность может быть задана различным, порою достаточно сложным для данной задачи моделирования образом. В этом случае говорят о сложной геометрической природе моделируемой поверхности.
Совершенствование компьютерных технологий привело к созданию развитых систем проектирования поверхностей. К таким системам относятся системы компьютерного геометрического моделирования (такие системы принято называть CAD (computer-aided design) системами). Моделирование поверхностей в таких системах сводится, как правило, к определению некоторых процессов формирования поверхности из точек и кривых при помощи специальных процедур. Например, цилиндрическая поверхность может быть образована плоскопараллельным движением плоской кривой в направлении вектора, перпендикулярного плоскости этой кривой. Часто для создания модели поверхности сложной формы (например, при моделировании человеческого тела) удобно использовать сплайновые поверхности. На практике при этом используют, как правило, неоднородные рациональные В-сплайновые поверхности (NURBS). В других приложениях, например, при моделировании процесса обработки заготовки на различных станках, удобным оказывается
представление поверхности как множества треугольников (триангуляция) и нормалей к ним.
При создании в автоматизированных системах технологической подготовки производства (АСТПП) управляющих программ для широкого класса станков с числовым программным управлением (ЧПУ) удобным оказывается представление поверхности как образованной движением прямой, т.е. как линейчатой поверхности. К этому классу станков можно отнести станки гидроабразивной обработки, плазменной обработки, лазерной обработки, фрезерные станки и др.
Общая схема создания детали выглядит следующим образом. Инженер в некоторой CAD системе при помощи специальных процедур формирует трехмерную модель детали. После того, как модель сформирована, необходимо определить последовательность обработки заготовки в зависимости от самой заготовки и имеющихся в наличии станков и рабочих инструментов. В случае, когда применяемое в данном процессе оборудование обладает числовым программным управлением, применяется следующая последовательность действий. Полученная на этапе геометрического моделирования деталь анализируется автоматизированной системой технологической подготовки производства (часто с точки зрения архитектуры эта программа объединена с программой геометрического проектирования, хотя в последнее время считается целесообразным проводить соответствующие действия в специализированной АСТПП). В процессе анализа модели детали в АСТПП, инженер задает геометрические параметры заготовки, геометрию инструмента, а также последовательность целевых поверхностей детали, получаемых при обработке заготовки. На основе этих данных АСТПП формирует траекторию движения инструмента. Далее эта траектория анализируется постпроцессором -специальной программой, характерной для данного станка. В результате работы постпроцессора формируется управляющая последовательность команд.
На этапе анализа модели детали в АСТПП часто и возникает задача о моделировании ее поверхности линейчатой, а иногда даже более того -
развертывающейся поверхностью. При моделировании поверхности линейчатой поверхностью возникает задача идентификации линейчатой поверхности. Идентификацией линейчатой поверхности называется задача выяснения, является ли данная поверхность линейчатой.
Задачи моделирования различным образом заданных поверхностей линейчатыми поверхностями рассматривалась ранее в работах Chen H.-Y., PottmannH. [6]; Chen H.-Y., Leel.K., Leopoldseder S., PottmannH., Randrup Т., Wallner J.[5]; Peternell M.[16], Hoschek J., Schwanecke U.[8] и др.
Таким образом, задача моделирования произвольно заданной поверхности линейчатой поверхностью является актуальной.
Целью данной работы является разработка специальных методов и алгоритмов идентификации линейчатых поверхностей и моделирования (аппроксимации) произвольно заданных поверхностей линейчатыми поверхностями.
В ходе достижения этой цели были поставлены следующие задачи.
Исследование свойств поверхностей Каталана с целью разработки метода и алгоритма идентификации линейчатой поверхности, являющейся графиком многочлена.
Разработка и реализация алгоритмов аппроксимации заданных различным образом поверхностей линейчатыми поверхностями и в частности, развертывающимся поверхностями.
Проведение вычислительных экспериментов (тестирование) разработанных алгоритмов.
Объектами исследования являются линейчатые поверхности, специальные подклассы линейчатых поверхностей: развертывающиеся поверхности и поверхности Каталана (определение 2.1).
Предметами исследования являются свойства линейчатых поверхностей, методы и алгоритмы идентификации линейчатых поверхностей и моделирование произвольно заданных поверхностей линейчатыми поверхностями.
Основные научные результаты, имеющие новизну.
1. Получены специальные методы построения алгоритмов моделирования заданных различным образом поверхностей линейчатыми поверхностями.
2. Разработан алгоритм идентификации линейчатой поверхности, являющейся графиком многочлена.
3. Получен метод решения задачи моделирования поверхности, заданной множеством точек и нормалей линейчатой поверхностью, использующий стандартное уравнение линейчатой поверхности.
4. Разработаны алгоритмы решения задачи моделирования поверхности, заданной способом, принятым в системах компьютерного геометрического проектирования, развертывающейся поверхностью и произвольной линейчатой поверхностью.
Основные положения, выносимые на защиту.
1. Новый метод идентификации линейчатой поверхности, являющейся графиком многочлена.
2. Алгоритмы моделирования поверхностей различной геометрической природы развертывающимися поверхностями и произвольными линейчатыми поверхностями.
К практически значимым результатам можно отнести разработанные методы и алгоритмы, которые могут быть использованы при решении задач автоматизированной технологической подготовки производства в различных отраслях машиностроения.
Для тестирования разрабатываемых алгоритмов на начальном этапе использовались широко известные средства проектирования: MATLAB, Maple. Для разработки практически значимых программ использовался язык С++ [42, 50] и следующие библиотеки: Qt - для создания интерфейса пользователя, MathGL и OpenGL [33, 51, 54] - для визуализации исходных данных и результатов, alglib — для некоторых методов оптимизации, KNITRO - для
решения задач нелинейного программирования (НЛП), ОрепСАБСАБЕ - для визуализации и некоторых геометрических расчетов.
Диссертационная работа состоит из введения, четырех глав, заключения, списка использованной литературы из 54 наименований. Общий объем диссертации - 113 страниц, включая 30 рисунков и 1 приложение.
В первой главе дается краткое описание используемых в дальнейшем известных определений и результатов классической дифференциальной геометрии поверхностей [37, 38, 41]. Изложение ведется для краткости в тензорных обозначениях [3, 24, 21, 34, 44].
Во второй главе доказываются две теоремы о линейчатой поверхности, являющейся графиком многочлена (теоремы 2.1, 2.2), которые используются для получения нового метода идентификации линейчатой поверхности, являющейся графиком многочлена (п. 2.3), а также доказывается ряд утверждений о поверхностях Каталана (утверждение 2.1, лемма 2.1 и теорема 2.3).
В диссертации принято следующее определение поверхности Каталана.
Определение 2Л. Поверхностью Каталана называется линейчатая поверхность, прямолинейные образующие которой параллельны одной плоскости.
Множество этих образующих будем называть каталановским семейством прямых. Поверхность, на которой есть два различных каталановских семейства прямых, будем называть дважды каталановской.
Теорема 2Л. Всякая линейчатая поверхность, являющаяся графиком многочлена, является поверхностью Каталана.
Таким образом, для графика многочлена свойства быть линейчатой поверхностью и поверхностью Каталана равносильны. С помощью теоремы 2.1 доказывается теорема 2.2 - вторая теорема о линейчатой поверхности, являющейся графиком многочлена.
Теорема 2.2. Если линейчатая поверхность является графиком многочлена, то она является также графиком многочлена, линейного относительно одной из переменных.
Эта теорема используется для получения нового метода идентификации линейчатой поверхности. Опишем алгоритм, реализующий этот метод. Пусть дана поверхность г = Р{х,у),тд$ Р(х,у) - многочлен.
Шаг 1. Если многочлен Р(х,у) является линейным относительно у, т.е. представим в виде = + то данная поверхность является
линейчатой. Более того, она является поверхностью Каталана с плоскостью параллелизма х = 0. Аналогично, если многочлен является линейным
по х, то данная поверхность является поверхностью Каталана с плоскостью параллелизма у = О. Если это не так, то переходим к шагу 2.
Шаг 2. Рассмотрим произвольную точку данной поверхности и найдем в ней асимптотические направления. Если их нет, то поверхность не является линейчатой. Если они есть, то берем любое из них и переходим к шагу 3.
Шаг 3. Сделаем поворот системы координат вокруг оси г так чтобы асимптотическое направление стало параллельным плоскости у'г (Ох'у'г — новая система координат). Уравнение данной поверхности в новых координатах
Если многочлен Р'(х',_у') является линейным относительно у', то данная
поверхность - линейчатая. Если это не так, то переходим к другому асимптотическому направлению (если оно есть) и к нему применяем шаг 3. Следующие утверждения - о свойствах поверхностей Каталана. Утверждение 2.1. Пусть задана линейчатая поверхность
г -р{и) + \1{и), причем вектор-функция 1{и) трижды непрерывно
дифференцируема. Тогда если /,/',/" = 0 и V не коллинеарен I" ни в одной точке, то данная поверхность является поверхностью Каталана.
Следующие лемма и теорема - о характеризации свойства поверхности Каталана быть дважды каталановской поверхностью.
Лемма 2.1. Если на поверхности Каталана существуют две различные прямые, каждая из которых пересекает каждую прямую каталановского семейства прямых, то эта поверхность является дважды каталановской.
Теорема 2.3. Следующие утверждения относительно поверхности Каталана равносильны
(1) на ней существуют две различные прямые, каждая из которых пересекает каждую прямую каталановского семейства прямых;
(2) она является дважды линейчатой;
(3) она является дважды каталановской.
Приводятся три примера поверхностей Каталана. В одном из них на поверхности кроме каталановского семейства прямых других прямых нет. Во втором есть еще одна прямая, а в третьем есть еще две прямые (в этом случае поверхность является дважды каталановской). Эти примеры показывают, в частности, что усилить формулировку теоремы 2.3 нельзя.
В третьей главе дается краткий обзор имеющихся результатов по моделированию поверхностей линейчатыми поверхностями и предлагается ряд новых алгоритмов. Дадим краткое описание этих алгоритмов.
Рассмотрим сначала случай, когда поверхность S задана точками и нормалями (аналогично тому, как она задается в формате STL).
Пусть поверхность S задана множеством своих точек М - [MV...,MN) и
ортов нормалей |«1,...,илг| к ней в этих точках. Требуется найти стандартное
уравнение линейчатой поверхности, аппроксимирующей поверхность S.
Будем искать уравнение линейчатой поверхности в виде
r = p(uiAl,...,An) + vl(u,Bl,...,Bm), (1)
где А1,...,Ап и В{,...,Вт - некоторые параметры, определяющие вид направляющей кривой и вид направляющего вектора образующей.
Пусть р1 = 0М1 - радиус-вектор точки Мп / = 1,...,^. Пусть также п\ -орт нормали к поверхности (1) в точке М.. Пусть
" - —ч2 (2)
;=1
Решение поставленной задачи сводится теперь к решению следующей задачи нелинейного программирования.
/(и\,...,и\,у\,...Уы,Ах,...,Ап,Вх,...,Вт)-+ пил, (3)
\<12(и\,Вх,...,Вт),1 = \,...,Н, (4)
(^-<)2< 8, / = 1,(5)
Этот алгоритм допускает следующую модификацию. Условие (5) можно «внести» в целевую функцию, сформулировав тем самым несколько другую задачу НЛП. Вместо (5) определим функцию / следующим образом
/=1 /=1
Тогда соответствующая задача НЛП ставится так
/(и\,...,и\У1,...У„,А1,...,Ап,В1,...,Вт)-^тт (7)
\<Т(и\,В],...,Вт), / = 1,(8)
Для случая, когда каждая координатная функция (1) является суммой алгебраических и тригонометрических многочленов, была произведена реализация данного алгоритма.
Рассмотрим теперь другой случай, когда поверхность задается способом, принятым в системах компьютерного геометрического проектирования. Заметим, что при решении задачи создания управляющих программ для станков с ЧПУ инженер, определяющий последовательность обработки заготовки, часто может заранее определить и указать, какие кривые,
могут быть направляющими кривыми аппроксимирующей линейчатой поверхности. Пусть нам даны две такие кривые.
Итак, пусть дано векторное параметрическое уравнение поверхности
г = г(и,у), (и,у) е £>, и заданы две кривые с, и с2, каждая из которых является
V и ч/ ЧУ о
направляющей линеичатои поверхности,
-
Похожие работы
- Конструктивно-метрическое и дифференциально-геометрическое образование линейчатых поверхностей и полос
- Моделирование линейчатых поверхностей на основе конгруэнций прямых в условиях автоматизированного проектирования
- Геометрическое моделирование линейчатого метрического пространства в инженерной геометрии и ее приложениях
- Конструирование линейчатых поверхностей применительно к лемешно-отвальной поверхности плуга
- Моделирование линейчатых поверхностей на основе конгуэнций прямых в условиях автоматизированного проектирования (на примере изделий сельскохозяйственного машиностроения)
-
- Системный анализ, управление и обработка информации (по отраслям)
- Теория систем, теория автоматического регулирования и управления, системный анализ
- Элементы и устройства вычислительной техники и систем управления
- Автоматизация и управление технологическими процессами и производствами (по отраслям)
- Автоматизация технологических процессов и производств (в том числе по отраслям)
- Управление в биологических и медицинских системах (включая применения вычислительной техники)
- Управление в социальных и экономических системах
- Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей
- Системы автоматизации проектирования (по отраслям)
- Телекоммуникационные системы и компьютерные сети
- Системы обработки информации и управления
- Вычислительные машины и системы
- Применение вычислительной техники, математического моделирования и математических методов в научных исследованиях (по отраслям наук)
- Теоретические основы информатики
- Математическое моделирование, численные методы и комплексы программ
- Методы и системы защиты информации, информационная безопасность