Д.А.Журавлёв, М.А.Гаер
Параметризация кривых для проектирования произвольных поверхностей квадратичными формами
Существует множество способов аппроксимации и интерполяции кривых и поверхностей, такие как методы Безье, сплайнов и т.д. Однако эти методы нам не кажутся достаточно гибкими и удобными, поскольку все они сводятся к некоторому параметрическому представлению кривых, например, с помощью кубических сплайн-функций. При этом кривая делится на участки, на каждом из которых она представляется в виде некоторой аналитически описываемой кривой. Такие теории не позволяют моделировать пространственные допуски деталей и сборок в САПР, а именно это является основной целью наших исследований.
Наш метод, назовём его методом натуральной параметризации, отличается тем, что кривая получается однородной на всех участках. Хранить нужно только узловые точки, через которые должна пройти кривая, и, например, в случае плоских кривых как минимум два угла наклона касательных (в начальной и конечной точках), по желанию можно указать направление касательной и в других узловых точках. Если в некоторых точках касательные не известны, то они рассчитываются однозначно указанным нами способом. Кроме того, мы не привлекаем никаких аналитически описываемых объектов, что ограничивало бы нас.
В данной работе полностью решена задача построения плоских кривых методом натуральной параметризации и разработан аналогичный способ аппроксимации пространственных (трёхмерных) кривых в Я . Главной же целью являлась аппроксимация поверхностей, заданных узловыми точками, через их представление / и II квадратичными формами. Идея здесь заключается в том, что сначала на узловые точки искомой поверхности натягивается сеть кривых методом натуральной параметризации, а затем определяются коэффициенты квадратичных форм искомой поверхности в любой её точке. После этого задача сводится к уже решённой нами ранее - построить поверхность, если заданы её квадратичные формы и даны начальные условия [6].
Аппроксимация плоских кривых также имеет не только промежуточное значение. Перед нами стояла проблема описания так называемых нетривиальных карт - двумерных областей определения поверхностей [8]. Теперь эта проблема решена: любую область можно задать некоторым набором узловых точек, а затем соединить их участками кривых.
Всё это в совокупности составило отдельную независимую теорию, которая позволяет решать непростые инженерные задачи, связанные, в частности, с моделированием трёхмерных допусков в CAD/CAM-системах. 1. Построение плоской кривой Пусть необходимо найти вектор-функцию г = r(s) (s - натуральный параметр1), описывающую кривую, которая проходит от точки Л(аиа2) до точки ВфиЪ2). При этом известны векторы касательных
rÍA)= {dlt ¿б)иф) = («, ft).
Как известно, деривационные формулы плоской кривой имеют следующий вид [1]:
'f{s)=t(s);
{F(s)= k(s)ñ(s); (1)
Здесь - кривизна данной кривой, ¿(s) -
вектор касательной, J?(s) - вектор нормам в точке кривой г (л). При этом векторы t(s) и 7>(л) имеют
единичные длины.
Будем рассматривать искомую кривую в системе координат хОу, в которой точка О = А, ось абсцисс
направлена вдоль вектора АВ .
В новой системе координат: точка
До,0), точка
В(Ь, О), г'(л) = (cosar, sin а),
f(É)~- (eos/?,sin/?). Здесь а - угол между векторами А В и г'(А) , /? - угол между векторами
АВ и г'(В). При этом положительное направление угла считаем от оси абсцисс против часовой стрелки. Тогда в зависимости от значений углов а и 0 будем иметь следующие варианты (с точностью до симметрии относительно оси абсцисс) (рис. 1).
к
71
Рассмотрим случай 0 <а <~, -~<]в<0 (рис. I, а).
Так как функция кривизны £(У) в общем случае нам не известна2, то будем поступать следующим об-
1 Длина дуги.
2 Если функция кривизны k(s) известна, то все рассматриваемые вопросы снимаются, так как в диф-
щ Технология машиностроения
О ^ л ¿s ït
О ^ .3 ^
Д
f < « < -л- 0 < а
о 0 ¡g -3- -f <; iï < ж
% < а ^ -яг
разом. Пусть натуральный параметр s изменяется на отрезке [ОД]. Выберем на этом отрезке последовательность точек 0 = Л'0 <sx < . . .< s„ = 1 так, чтобы величина A s - л'г+1 - s, была постоянной. Тогда, если мы будем знать значения вектор-функции /(л1) в каждой точке выбранной сетки, то для определения значений вектор-функции r(s) в этих точках нам достаточно лишь решить первое уравнение системы (1).
/Л
О
h
-< а > О
В
о
Рис. 2
Рте. 3
Итак, все векторы /(¿о). •••• К5«) имеют
единичную длину, значит, при переходе от к 5(+1 меняется только их направление, а точнее, меняется угол образуемый ими с осью абсцисс. Пусть вектор
/(я,) = 1г образует угол ф; с осью Ох, г~ О,/?.
ференциальной геометрии имеются готовые формулы, так называемые натуральные уравнения плоской ^швой^шраж^
Ж
Рис. 2
Тогда необходимо подобрать некоторую монотонную последовательность углов
а = Ф0,Ф1,...,Фп=/?> которые и будут определять векторы 1, по формуле
= (соэф,., ЭШф,.), /' = 0, п . (2)
Для численного решения обыкновенных дифференциальных уравнений имеются различные схемы [5]. Рассмотрим самые, на наш взгляд, удобные в данном случае. Подбор последовательности углов будет зависеть от выбранной схемы.
Схема Рунге-Кутта первого порядка точности (схема Эйлера) заключается в замене дифференциального уравнения
с1и .
С(х,и) = 0 (3)
dx
разностным уравнением
G(X.j/;)=0, / = 0, п - 1
h
(4)
В нашем случае первое уравнение системы (1) заменится на следующее разностное уравнение:
As
± = / = 0,71-1,
(5)
где гг = г ($,-)
Далее, из уравнения (5) получаем формулу для вычисления следующего значения искомой вектор-функции по уже известному предыдущему значению:
Г.+1=А>-Г; + г{, 7 = 0,л-1. (6)
Из геометрического смысла, показанного на рис. 4, следуют два равенства:
п
2 вш <р. = 0;
г-0
(7)
As- cos^; = Ъ.
i-0
(}\ Дзсоб^-ц Дасое^з
Рис. 4
Рассмотрим последовательность сг — 8т#>г-
/ = 0, /?, сумма членов которой равна нулю. Пусть первые т членов этой последовательности положительные (т + 1)-й - нулевой, остальные - отрицательные. Разобьём последовательность {с,-} на две последовательности {а,} и \Ь}}следующим образом:
а1 - С:, /' = 0 ,т ;
^ = с„,к,. / = 0, п-т .
Очевидно, что сумма членов 5а последовательности {¿г,} должна равняться по абсолютной величине сумме членов $ь последовательности {/?,}.
Пусть последовательности {а,} и {/?,} являются арифметическими прогрессиями. При этом а0 = этот, ат = О, а{ - а0 + /• с1л, Ь() = 0,
К-т = > Ь< = ¿0 + -/' ■ Т°ГДа
б;
2
0+ БШ/?
/ \ эта/ ч
(/77 + 1)= — (ш +1);
(/7 - /77 + 1) - - (/7 - /77 + 1).
2 2
Из последних двух равенств получаем уравнение
ъта / ът/З
(/77 + 1):
(п-т +1),
(8)
2 4 2 из которого находим т :
эта + $тв{п +1) т ----—--
$тР~$та
Если /7/ получается не целое, то его можно округлить или взять от него целую часть. Далее,
(9)
4 =
/77
п—т
(10)
Д* Р,
Вернёмся к последовательности {с,}. Её члены принимают следующий вид:
с0 -$и\а;
с. = с0 +/• с/,, /' = 1 ,т
(И)
= = 2,/7-/77-1;
= эт/?.
Далее получаем последовательность углов {фг } по формулам
<р0 = а;
<р( = агсБтс,, /' = 1, п - 1;
Тогда из второй формулы (7) находим
Ь
А?
¿со ер,
(12)
(13)
Вывод: /Три заданном количестве точек (п + 1) мы будем иметь первый порядок точности относительно величины Д.у , вычисляемой по форму/е (13).
Алгоритм поиска точек кривой. Пусть дано:
к
— < р < 0, п , Ь , п = п-Ъ (если
к
Ока < — 2
п ■ Ьё Ъ, то в качестве числа п берём округление п • Ь или его целую часть).
$та + ¿тр(п +1)
1. Вычисляем /77 =
?ЛГ\р - ВтОТ
(см.
формулу (8).
2. Вычисляем = -
этот
3. Вычисляем ¿/, =
т
П - /7?
(см. формулу (9).
(см. формулу (10).
4. Вычисляем последовательность {с,} по формулам (11).
5. Вычисляем последовательность \(рх} по формулам (12).
6. Находим Ал- по формуле (13).
7. Для /' от 0 до п - 1 выполняем:
(а) и - (со$(р1 ,$лп<р1 ) \
(б) Гм =
Остальные случаи, представленные на рис. 1, решаются похожим образом.
Итак, для построения плоской кривой методом натуральной параметризации необходимо задать следующие начальные условия:
узловые точки (не менее двух); единичные векторы касательных в начальной и конечной точках или, то же самое, что углы наклона касательных в этих точках;
по желанию, для лучшей аппроксимации, можно задать векторы касательных и в других узловых точках (не обязательно во всех);
замкнутая или незамкнутая искомая кривая. Тогда в зависимости от этих условий применяется тот алгоритм, который подходит к данному случаю.
2. Построение пространственной кривой
Пусть необходимо найти вектор-функцию г = г(л') (5 - натуральный параметр), описывающую кривую в трёхмерном пространстве, проходящую через две данные точки А(а], а2, ¿Г) и #(/;', Ъ~, Ь3), в которых
известны единичные векторы касательных и нормалей
Ь=(*1в44)>
пв = {пв,п2в, пв) соответственно (рис. 5, а).
Из теории кривых дифференциальной геометрии известно
[r'(s)=t(s); dt
ds
- kr? ;
^tä / 7 vs Г
— = -к/ +N b; ds
(14)
db_ [ds
= -Hb;
где /(У) - касательный вектор единичной длины, л —
вектор нормали, Ь — вектор бинормали, к - кривизна кривой, К - кручение кривой [1].
Переходя к численному дифференцированию в первой формуле системы (14), получаем [5]:
As
t.
где /; - радиус-векторы точек кривой, /, - единичные касательные векторы в этих точках.
Таким образом, выбрав необходимое приближение Ал", мы можем вычислять приближённые значения вектор-функции по следующей формуле:
Рис. 5
rM =rt+Astit i = 0,k-\, (15)
при этом г о - радиус-вектор точки А, гк — радиус-вектор точки В, 10 = íA , tk = íB .
Итак, чтобы воспользоваться формулой (15), необходимо подобрать последовательность касательных векторов ti так, чтобы был обеспечен «гладкий» переход от вектора t0 = tA к вектору tk = tB. Однако, поскольку кривая пространственная, необходимо, чтобы при этом одновременно был также «гладкий» переход от вектора ñ0 = лА к вектору лк = лв. Другими словами, необходимо «гладкое» передвижение касательной плоскости от {tA ,лА} к [tB, щ }.
Таким образом, задача сводится к поиску последовательностей пар векторов {/,, л)}, / = О, к , удовлетворяющих описанным выше условиям.
Математическая модель, Рассмотрим единичную сферу
( х = cos и cos v; \y-sinucosv; (16)
'¡ z = si Л V,
у которой картой является прямоугольник
г 1 Г К 7t \ и х у : и е - л, ж L v е--,—I, (рис. 5, б).
L 2 2'J
Расположим сферу (17) так, чтобы плоскость экватора [хОу] совпадала с плоскостью {tA, лА }, при этом вектор tA направлен вдоль оси абсцисс, а вектор л4 — вдоль оси ординат (рис. 6, а).
Тогда пусть вектор Тв в полученной системе координат будет равен tfí = (cos ик cos vk, sin uk cos vk, sin vk), в то же
время tA =(l,0,0)
Обозначим через М и N точки на сфере, радиус-векторами которых являются 1А и Тв соответственно. Их прооброзами на карте будут точки М'(0,0) и N'{uk,vk).
Теперь задача свелась к поиску линии на сфере между двумя точками М и N. При этом в точке М касательным вектором к искомой линии будет вектор лА, в точке N - вектор лв (рис. 6, б).
Вернемся к теории кривых дифференциальной геометрии.
Пусть dr - fudu + rvdv. Тогда говорят, что на-правлением du : dv в данной точке на поверхности называется направление вектора dr .
Направление du : dv в точке М на поверхности определяет направление кривой в этой точке, если
dr = г+ V в данной точке поверхности является касательным вектором к данной кривой.
Итак, если вектор лА = (0,1,0) является касательным в точке М искомой линии на сфере, а
г„(М)=ф,0)= (0,1,0);
гу(М) = /;(0,0) = (0,ОД), то из уравнения
п . = г Ли +
А и V
находим с/и = 1, Ф = 0. Следовательно, прообразом касательного вектора пА на карте будет вектор с координатами л'А = 0,0).
Аналогично найдём прообраз лв = (с1ик^ук)
касательного вектора лв.
Теперь имеем карту (плоскость) с двумя точками М, N с известными касательными векторами в них г1А, /Ув соответственно. Значит, можем построить плоскую кривую между этими точками методами, описанными выше. Последовательность точек, получаемых при построении
плоской кривой, обозначим = 0,77 (рис.
3).
Далее остаётся по формулам (16) найти образы точек 1] на нашей сфере, радиус-векторами которых будут искомые касательные векторы I.
Наконец, прежде чем перейти к формуле (15), необходимо вычислить М. Очевидно, что
Т /Ц = АВ . Откуда
\ав\
По вычисленным последовательности векторов ti и величины А5 находим последовательность точек некоторой пространственной кривой начало которой будет в точке Д конец - в некоторой точке С (в общем случае точка С не будет совпадать с точкой В, как на рис. 6, в).
Далее необходимо повернуть вектор АС до совпадения с вектором АВ. Сделаем это с помощью аппарата кватернионов [3], который позволяет сразу повернуть и все полученные радиус-векторы кривой /?($) до искомых радиус-векторов кривой г(л'). При этом осью поворота является единичный вектор, ортогональный плоскости
3. Поверхности произвольных форм (точечно-заданные)
Пусть поверхность задана некоторым набором узловых точек г (и,, 1л) (рис. 7,а). Каждой такой точке поставим в соответствие точку (/',/] на карте (рис. 7, б).
Необходимо найти значения коэффициентов I и II квадратичных форм в точке поверхности с прообразом (и1а > У р) (рис. 7, б). Для этого сначала находим вершины прямоугольника на карте, которому принадлежит точка {и1а,Уцз), а затем их образы
Нг'/+1'1/Д К^/^/и)' г{ыМ'У)+\) на поверхности (рис. 7, в).
Далее математический алгоритм сводится к следующей последовательности действий:
1. Вычисляем векторы производных в вершинах по формулам
г (и «/ )- . 'и Щ - ^ ) - О---V'
- / \ +
я-ГЧ-Т'
ги\и1>у}+1}-\п-ГЯ--Г
г\ М
и 1-Й
г (и ,/ Ф^/ЬК^^м) • ^Л^^у;- о--гя-?'
г (и у и , V >+!' ^; - О-Г"17 ¥'
1-/ \ -1 \
' У -
1 \ и \ 1' ]/\
г (и „
1+1» /+1 / О Г~17
2. Строим пространственные кривые по описанному выше алгоритму и находим значения векторов, необходимых нам в дальнейших расчетах:
(а) начальные условия: г (г/,, у,); г(им, у.); искомые векторы: г(пш,у,) и вектор нормали
(б) начальные условия: /"(г/.,у,); /"(г/,у);
искомые векторы: г (к,, у );
(в) начальные условия: г(г/;.,); /'{г/^рУ ,.,);
искомые векторы: г(г/га,1/у+/); ^(м,-«,^,);
(г) начальные условия: г,у]Ч); г(иш,у/+1);
искомые векторы: г(г/,ч ь^); (?/м,V ^ );
(д) начальные условия: /"(//., 1/ ,^ ); г(и.. 1, у ,р );
искомые векторы: г{иш,у]Р)\ ги{и1а,У^)\
(е) начальные условия: г{иш, у ); г(м.,,, у](]); искомые векторы:
(ж) начальные условия: г(//.,1/у/?+1);
И^р^/М):
искомые векторы: ■
3. Вычисляем векторы вторых производных:
г(0.1) ,
/ Г(и1,Х1>
Аоо \ \ „
. \ »
г',0.0) V. .!
%
V
О(О.О)
а
/;31
(У) (
1 1 1 1 1
о
2 <й 3 4
";ц|+! л'(-и
/
Г(Ш.Ч{В)
ГОДУЙ
6
Рис. 7
ии ~ Ун Л \"/а }Р)~ 1
и
К
Гыу =
К
здесь Илит.
п т
количество точек разбиения на карте по направлениям изменения параметра и и I/ соответственно.
4. Вычисляем значения коэффициентов квадратичных форм в точке {иил,У]Р) по известным формулам
[1], используя найденные выше значения векторов первых и вторых производных в этой точке.
Итак, ранее нами была разработана теория, позволяющая создать систему автоматизированного проектирования, отличительной особенностью которой является возможность моделирования трехмерных допусков деталей и сборок [3, 6, 7]. Все поверхности в такой системе задаются через квадратичные формы, Однако до сих пор было непонятно, как же задавать произвольные поверхности. Настоящая работа является решением этой проблемы. И теперь мы имеем закончен-
ную теорию, на основе которой создается САПР нового поколения, позволяющая моделировать пространственные допустимые отклонения деталей и сборок.
Библиографический список
1. Александров А.Д., Нецветаев Н.Ю. Геометрия: Учеб, пособие. - М.: Наука, Гл. ред. физ.-мат. лит., 1990. - 672 с.
2. Бранец В.Н., Шмыглевский И.П. Применение кватернионов в задачах ориентации твёрдого тела, - М.: Наука, Гл. ред. физ.-мат. лит., 1973. - 320 с.
3. Гаер М.А. Разработка и исследование геометрических моделей пространственных допусков сборок с использованием кватернионов: Дисс. ... канд техн. наук. - Иркутск, 2005.
4. Годунов С.К., Рябенький В.С. Разностные схемы (введение в теорию): Учеб. пос. - М.: Наука, Гл. ред. физ.-мат, лит,, 1997.
5. Годунов С.К., Рябенький В.С. Разностные схемы (введение в теорию): Учеб. пос. - М.: Наука, Гл. ред. физ.-мат. лит., 1977.
6. Журавлёв Д.А., Гаер М.А. Геометрическое моделирование деталей и сборок с пространственными допусками в САПР нового поколения // Вестник ИрЛУ. - 2006. - № 4. - С. 17-23,
7. Журавлёв ДА, Гаер М.А. Пространственная геометрическая характеристика допусков // Вестник ИрЛУ. -2005. - № 1. - С. 116-125.
8. Журавлёв Д.А., Грушко П.Я., Яценко О.В. О новых дифференциально-геометрических подходах к автоматизированному проектированию сборок с учётом допусков // Вестник ИрЛУ. - 2002. - № 12. - С. 82-92,
С.И.Ключников, Е.А.Барахтенко
Моделирование напряженного состояния детали после механической обработки
Увеличение надежности изделий приводит к необходимости определения расчетных параметров обработки при исследовании их напряженно-деформированного состояния методами математического моделирования. Наиболее эффективным инструментом, позволяющим проводить такого рода анализ, являются математические модели, построенные на основе дискретных методов.
При создании дискретной математической модели как заготовка, так и инструмент разбиваются на конечные области, а процесс механообработки рассматривается как совокупность процессов, протекающих на отдельных элементах. Рассмотрим последовательно основные условия формирования конечно-элементной сетки детали и математическую аппроксимацию формирования полей напряжений в процессе механической обработки.
Дискретный подход позволяет определять значения искомых параметров в узлах сетки конечных элементов, построенной на основе геометрии произвольной формы. Таким образом можно узнать значения параметров в любой интересующей области модели, что является преимуществом по сравнению с аналитическими методами решения.
При создании конечно-элементной модели для получения более точных результатов необходимо построить в зоне контакта инструмента и заготовки сетки из элементов с размерами гораздо более меньшими, чем элементы, распределенные по их объему вне зоны контакта.
Рассмотрим процесс построения конечно-элементной сетки. Уточнение сетки с целью получения более точных результатов может привести к широкому диапазону распределения размеров элементов. Разницу в размерах наимень-