УДК 514.75/. 77 ББК 22.151
В. Т. Фоменко, В. В. Сидорякина
ПОСТРОЕНИЕ ГЛАДКОГО КЛАССА ^ ОБВОДА МЕТОДОМ КРИВЫХ ВТОРОГО ПОРЯДКА С ЗАДАННЫМИ КАСАТЕЛЬНЫМИ В УЗЛАХ
Аннотация. Авторы указывают алгоритм построения гладкого класса С2 обвода методом кривых второго порядка с заданными касательными в узлах.
Ключевые слова: заданный точечный массив, кривая второго порядка, кривизна, касательная.
CONSTRUCTION OF THE SMOOTH OUTLINE OF CLASS C2 THE METHOD OF THE CURVE OF THE SECOND ORDER WITH THE GIVEN TANGENTS IN THE POINTS OF INTERPOLATION
Abstract. The authors indicate the algorithm of the construction of the smooth outline of class C2 the method of the curve of the second order with given tangents in the points of interpolation.
Key words: set of given points, curve of the second order, curvature, tangent.
Постановка задачи.
Дан выпуклый точечный массив {Mj}™ на плоскости (х,у). Требуется построить кривую L класса С2, состоящую из кусков кривых второго порядка, проходящую через точки массива {Mjj' и имеющую в точках Mt, i = 1,2, ...,N, заданные касательные (i = 1,JV) (см. рис. 1).
Доказана следующая теорема.
Теорема. Существует гладкий обвод класса С2, проходящий через точки М(1 = 1, ДО) в направлении (1 = 1,Л0, состоящий из дуг кривых второго порядка. Обвод определяется однозначно заданием кривизны кривой в точке М1 или заданием на участке М1М2 проективного дискриминанта кривой.
Доказательство.
Будем считать, что касательные I; и +1, I = 1,2, — 1, определяются заданием их точки пересечения = (¿¿) X (¿¿+1). Доказательство теоремы проведем поэтапно, указав алгоритм построения обвода (¿).
Этап 1. Через точки М1,М2 с касательными и 12 проведем кривую второго порядка Ь12, задав ее уравнениями:
V. T. Fomenko, V. V. Sidoryakina
Рис. 1
(1)
Уравнение (1) можно записать в векторной форме
С = -Ц те [ОД);
" 1 + 1+у1£2 1-Т "
п = {хм^Ум^. I = 1.2; п - параметр. Определим геометрический смысл параметра у1. С этой целью подсчитаем в точке М1 производные ^ и г^. Имеем
_, = ( гР1 + 21У1 г2)( 1 + £ + у^2) - ( гг + £ гР1 + ¿2У1 г2)(1 + 2угр =
(И^ + у^2)2
_ (гР1- гО+^гу! Г2-2Г!
(1+£+Г!12)2 '
где точками здесь и далее обозначены некоторые величины, исчезающие вместе с С2 при С = 0. Далее находим
Г„ = (1 + t + у^2Т* {(2К1(г2 - 7=0 + 2£(...))(1 + г + у^2)2 - 2 (( гР1 - гх) + £(...)) (1 +
27^(1 + £ + у^2)}.
Отсюда при С = 0 находим
П'(0) = ГР1 - Гг\ = (-2/1 + 2) 7=! + 2У17=2-2 Г?1. Посчитаем теперь кривизну к^М-^ кривой Ь12 в точке М±. Имеем
ъгм л - I[п'СО),г«С0)]I _ \-2уг[г2, ГР1] - 2у1[г1, г2] + 2у1[г1, т>Л
К(М1) —
1п'(0)Г
2Ух
од-
1**1 К *211
■\yP-L
- I3
1 1
*2 ХР±
У2 УР1
Гр. - г.
_ 4у1Бкм1Р1М2
где 5ДМ1р1М2 - площадь треугольника М1Р1М2. Отсюда следует, что
П =
кСм^м^!3
45ДМ1Р1М2
Из этой формулы и рисунка 2 следует геометрический смысл параметра у1.
(2)
М,
Рис. 2
Задавая кривизну кривой Ь12 в точке мы задаем значение параметра ух. Значение параметра уг однозначно определяется, если на участке ¿12 задать проективный дискриминант кривой Ь12, то есть положение точки в которой касательная к Ь12 параллельна хорде Мх М2.
Этап 2. Строим кривую ¿23, проходящую через точки М2, М3 с касательными 12, 13 по фор-
мулам:
^23:'
х —
хм2 + *хР2 + * Угхм3
1 + t + у^2 Ум, + ¿Ур2 + £2У2Ум3
И^ + у2С2 ' где Ь = те [ОД).
Значение параметра у2 выберем из условия непрерывности кривизны дуги Ь13 — Ь12 и Ь23 в точке М2. Кривизна £_(М2) слева от М2 вычисляется по формуле
где уг =-. Отсюда находим
4$АМ1Р1М2
к~(М2)1, = к(Мг)
\МгРг\3 \М2Р±\3
Кривизна /с+(М2) кривой ¿13 справа от М2 вычисляется по формуле
2^АМ2Р-
\м2Р2\3
(см. рис. 3).
1
Рис. 3
В силу непрерывности кривизны кривой ¿13 в точке М2 имеем /с_(М2)= &+(М2) Это означает, что
^ч^; - |м2р21з .
Отсюда находим
72 45ш2Р2М3 ' ^МгР!^ . ( )
Этап 3. Строим кривую ¿34, проходящую через точки М3 и М4 с касательными / 3, ¿4 в этих точках по формулам:
¿34 =
х —
ХМ3 + ¿*Р3 + £ Кзхм4 1 + I + Узt2
Ум, + £уР, + ¿2у3ум
1 + С + у3£2 '
где С = —; т е [ОД), у3 - числовой параметр.
Параметр у3 находится из условия непрерывности кривизны кривой ¿14 = ¿23 и ¿34 в точке М3. Имеем
I _4^ам2Р2М3 _ к <-мзЛь23 |ИЛ|В -
= ^м^м^Нм^!^^ =
45ДМ2р2М3|М2Р113|М3Р2|3 Л ¡М^3 |М2Р2|3. |М2Р1Р • |М3Р2|з;
к ^з)^ |ил|, . Так как к (М3)|г = к+(М3)\, то имеем
_ кСмг)\м3р3\3 _ лм^ч3 _ лм2р2|\3 Уг 45ДМзрзМ4 ' \IM2P1I/ ' \|М3Р2|/ .
Продолжая этот процесс построения обвода, на /-ом шаге получим
Этап /. Строим дугу Ьц+1, проходящую через точки М^ и с касательными I¿, ¿£+1 в этих точках по формулам:
п+СгР1+^пг1+1; т его IV
Чн-1-г - ; с" 1-т; т е 1ид;;
п = {хщ.Ум^. I = 1.2; уг - параметр.
Имеем, согласно (2), (3)
_ fe(M1)|M¿Pi|3 _ ЛМ^Ч3 _ ЛМ2Р2|\3 ЛМцР^Ч3 П 45дМ;рЛ+1 ' \lM2Pil/ ' \,|М3Р2|/ ■■■ ^ |М(_1Р(| ) '
1 = 1,2, ...,N-1.
Для значения уг можно привести другую формулу:
= т М3, í = 1)2.....„ _ !.
5лМ£р;+1м£+2 4 1мг+1рг1 '
Так как заданный точечный массив {М¡}{Г, состоит из конечного числа точек М¿, то указанный процесс построения дуг заканчивается на конечном шаге. Теорема доказана.