УДК 514.752.43
КАНОНИЧЕСКИЕ МОДЕЛИ ПЛОСКИХ В-СПЛАЙНОВЫХ КРИВЫХ
Е. В. Прокопенко
В работе рассматриваются плоские кривые, заданные параметрическими уравнениями 3-й степени, называемые кубически параметризованными кривыми. Рассматривается вопрос о возможности приведения параметрических уравнений такой кривой к некоторому стандартному виду, используя классификацию кубических форм, данную Соколовым в [1].
В пространственном случае естественно кривые задавать параметрически. Это задание имеет ряд преимуществ. Поскольку объекты, которые нам приходится изучать, имеют, как правило, сложную форму, не допускающую описания при помощи простых аналитических функций, мы вынуждены определять кривые по частям. Непрерывность и гладкость кривых в местах соединения отдельных частей обеспечивается выбором параметризации по обеим сторонам сочленения. Удобно задавать кривые полиномами от некоторого количества параметров. При помощи полинома высокой степени можно описывать сложные кривые, но такие полиномы требуют большого числа коэффициентов, физический смысл которых трудно понять. Кубические уравнения оказались удачным компромиссом для многих приложений, и большинство методов проектирования и прогонки основано на использовании параметризации с помощью кубических функций.
1. Введение. В работах [5] - [7] рассматривались пространственные кривые Г = {х(г),у(г), )},
заданные параметрически уравнениями 3-й степени. Эти кривые названы кубически параметризованными кривыми. Перейдем к рассмотрению плоских кубически параметризованных кривых. Не умаляя общности, можно считать, что эти кривые находятся в плоскости z(г) = 0, т. е. их параметрические уравнения имеют вид (1), где г е [0,1]:
X(^+ 3ц2 ^ 2 2-122 ^ ^ А22 у (г) = Втг3 + 3112 ^2 + 2122 2 + В22
z а) = 0.
(1)
Такой вид имеют, например, плоские кубические сплайновые кривые, в частности, кривые Безье и 5-сплайновые.
Элементарная кубическая 5-сплайновая кривая определяется векторным уравнением:
жо = = = Р 32
- з г
6
з г2
— Р2++-
2 6 3
(2)
Элементарная кубическая кривая Безье определяется векторным уравнением: щ) = (1 - г)+ р0 + 3/(1 - г)2 р + з/2(1 - г)Р2 + г3р3 , (3) здесь Р = {Р0,Р1,Р2,Р3} - массив из четырех точек, порождающий сплайновую кривую, г - параметр, меняющийся в интервале г е [0,1]. В общем случае точки массива {Р} образуют четырёхугольник, который не обязательно является выпуклым.
Известно, что элементарная В-сплайновая кривая, определяемая массивом {Р}, может рассматриваться как кривая Безье относительно массива Б={Бо,Б1,Б2,Б3}, причем матрицы массивов связаны соотношением:
Р =
X х0 X х2 Х3
У У У2 У3 V
х ' Т Т Т
-X X Х2 Х3
т т Т Т
у У У2 У3 У
X1 0 0 0Л
4 4 2 1
1 2 4 4
ч0 0 0 1
Б =
С =
Б = ъМС Sn =1Р0 + 2 Р +1Р2, S1 =
6 0 6 0 3 1 6 2 1
2 1 12 12 1 = - Р + - Р,,£, =- Р,+ — Р,,5+ = - Р + - Р2 +- Р+.
31322 3132 + 61326 +
(4)
(5)
В дальнейшем будем рассматривать только В-сплайновые кривые.
В данной работе изучается следующий вопрос: можно ли привести параметрические уравнения кривой (1), к некоторому стандартному виду, используя классификацию кубических форм, разработанную Соколовым [ 1]?
В работе [5] уже рассматривался вопрос о классификации двойничных кубических форм. Рассматриваем двойничную трилинейную форму:
Е(и,V) = Лти3 + 3Л112и V + 32122му2 + А222у3 . (6)
Считая и и V однородными координатами на проективной прямой, получаем, что уравнение ^ = 0 определяет на этой прямой тройку точек.
Классификация двойничных кубических форм была предложена Соколовым [1] на основе теории пространственных матриц, см. таблицу 1.
Таблица 1
Классификация канонических форм
Канонические формы Классы Арифметические характеристики Л Пространственные матрицы
г г а гь АИ Щи
р = 23 31 Несобственные формы, разлагающиеся в произведение трех линейных форм, из которых одна вещественная, а две -мнимые сопряженные. 2 2 2 <0 0 1 1 0 1 0 0 0 0 0 0 -1
Р2 = 22 Разлагающиеся в произведение линейной формы и квадрата такой же формы, линейно не зависимой от первой. 2 1 1 0 - 2 0 0 0 2 0 0 0 О О 0 0
Рз = 23 Представляющие куб линейной формы. 1 0 0 0 0 0
р = 322 - 1 Несобственные формы, разлагающиеся в произведение трех вещественных линейных форм. 2 2 2 >0 - 2 0 ) - 2 > 0 - 2 0 -; - 2 і )
р = 0 Тождественно равные нулю. 0 0 0 0 - -
Существует соответствие между кубическими формами (6) и кубическими многочленами:
/(2) = Дц/3 + За112/2 + 3Д2/ + а222 . (7)
Каждой форме Р соответствует многочлен /(2), и
где: 2 = —. Каждому многочлену /(2) соответствует
V
форма: р (/) = V /(и). При этом из рассмотрения ис-
V
ключается случай V = 0, что соответствует 2 = да. Однако это не влияет на общность наших рассуждений, т. к. нас интересует случай, когда параметр 2 пробегает единичный отрезок.
Поэтому при рассмотрении многочленов (9) будем под инвариантами А, г, гА, гв, И, Q этого многочлена подразумевать инварианты и ковариан-ты соответствующей формы р(и, V), ассоциированной с многочленом.
В работе [5] введено понятие канонической модели кубически параметризованной кривой. По аналогии с этим введем следующие определения.
2. Канонические модели. Пусть в плоскости г (2) = 0 задана кривая, параметрические уравнения которой имеют вид:
{х(?) = «003 + 3а32 + 3а2? 3 «3 ,
У (2 ) = =о 03 3 3+112 3 333 2 3 +3 •
Для каждого из многочленов х(,/), у(2) можно найти его инварианты и, следовательно, определить канонический вид, к которому его можно привести.
Определение 1: Кривую Г’, уравнения которой имеют вид:
Гх'(2) = а'23 + 3а,•2 + 3а'2 + а',
\ (9)
[ у '(2) = в 2 3 + 3Д '3 2 + 3Д>2 3 в,
где каждая из форм х’(0, у’ф - имеет канонический вид р., (г = 1,2,3,1') соответственно назовем канонической моделью кривой Г типа (г, у}, г Ф ].
(8)
Замечание 1. Каноническая модель кривой меняется с изменением направления обхода точек исходного массива.
Замечание 2. В [5] показано, что каноническая модель любой пространственной кубической параметрической кривой будет лежать в одной из 6 плоскостей. Если же кривая является плоской, то её каноническая модель будет лежать в той же самой плоскости.
Каждой модели соответствует массив, называемый каноническим. При этом, если в пространственном случае [5] канонический массив является плоским, то для плоских В-сплайновых кривых точки канонического массива образуют треугольник или даже лежат на прямой.
В соответствии с результатами Н. Соколова [1] и данного определения возможны следующие комбинации канонических видов форм х(2), у(2) (табл. 2).
В таблице указаны возможные канонические модели, вид канонического массива, уравнения прямых, проходящих через точки канонического массива, а также кривизна канонической модели.
Результаты анализа таблицы
Из таблицы видно, что для кривых типов (1,2), (1,1’), (2,1), (2,3),(3,2) (3,1’), (1’,1), (1’,3) канонический массив образует треугольник. Для типов кривых (1,3), (2,1’), (3,1) , (1’,2), (1,1), (2,2), (3,3), (1’,1’) массив лежит на прямой. Кривизна кривой принимает всего 3 значения, 2 из которых различны толь-
22
ко по знаку: К = ±6— -——, третье - 0.
(924 3 422)ъ/2
Рассмотрим графики канонических моделей.
| Вестник КемГУ № 3 2008 Математика
2- 1.5- (3,1) / (3,1') /(2,1)
1 (1.1) 0.5- (1.2Ъ;/ /^1,3)
(Г.2) ^/(2,3) ^
-1 -0.5 0.5 1 1.5 2
(1 ',3) -0-5- (1,1')
-1 /(2.3)
(2,1і)
Рис. 2. Канонические модели
На рисунке 2 изображены все типы канонических моделей.
На рисунке 3 показаны канонические массивы и формы образованных ими возможных канонических моделей типа (і, і'),і Ф і.
. гт}21 гр31
Рис. 3. Канонические массивы
Пример. Рассмотрим случай кривой типа (1,2). Массив соответствующей канонической модели является треугольником. В качестве примера возьмем
массив {Р} и соответствующую В-сплайновую кривую:
(19/3 -17/3 -23/3 7З/ъ1 Гх(2) = 423 3 52г -72-4
р=1 Ы (10)
^8/3 - 4/3 8/3 44/3 J | у(2) = 42г
Уравнения касательных к нашей кривой в начальной и конечной точке (соответственно) имеют вид:
уи= 0 = 8/15( 3 2) 3оЬтветственно (11)
Для инвариантов форм х(2), у(2) получаем:
А =-128.7, г = 2, гА = 2, гв = 2 х А в (12)
Ау = 0, г = 2, Га = 1, гв = 0
Следовательно, кривая относится к типу: (1,2) параметрические уравнения канонической модели имеют вид: (Р3, Р2) = (23 31,322). Соответствующий канонический массив определяется по таблице 2.
Уравнения касательных к канонической модели в начальной и конечной точке имеют вид: уи=ду х = 2( - 2) &дютветстееино (13)
Уравнения прямых, образованные каноническим массивом, определяем по таблице 2.
Рис. 4. Кривая, каноническая модель, касательные
На рисунке 5 изображено: порождающая ломаная - Р0рР2Р3, а - В-сплайновая кривая, Ь - каноническая ломаная, с - каноническая кривая, ё - касательные к кривой, е - касательные к канонической модели.
Изменим порядок обхода точек порождающего массива {Р} и исследуем тип кривой. Поменяем местами точки Р0 и Р} в порождающем массиве и находим канонический тип соответствующей В-сплайновой кривой. Новый массив имеет вид: Р1 = (р, Р0, Р2, Р3). Для этого массива каноническая
модель В-сплайновой кривой имеет тип: (Р3 , Р3).
| Вестник КемГУ № 3 2008 Математика
Рис. 5. Вид кривой и массивов при изменении порядка обхода точек в одной точке
Меняем местами три точки, массив имеет вид: Р2 = (Р, р, р, р). Каноническая модель соответствующей кривой: (р , р ).
Таблица 2
Возможные канонические модели, соответствующие массивы, кривые, кривизна модели
Модель типа, уравнение модели, канонический массив Прямые Вид массива Кривизна
1 3 2 Г1 1 17 ^ (р, р~} = (/3 +1,3/2) = 1 I 1 2 ^ 2/3 -1/3 2/3 11/3,) у = 2/3х -1 у = 1/2х +1/6 х = 1 Тре- уголь- ник / 2 К = 6 (9/ 4 + 4/ 2)3/2
2 3 3 Г1 1 1 7 ^ (р, р,} = (/3 +1, /3) = 1 I 1 3 ^0 0 0 6) у = х -1 Прямая 0
3 ' 3 2 Г1 1 17 ^ (р,р} = (/3 +1,3/2 -1) = 1 I 1 1 ^-1/3 - 4/3 -1/3 8/3) у = 2/3х - 2 у = 1/2 х - 5/6 х = 1 Тре- уголь- ник / 2 К = 6 (9/ 4 + 4/ 2)3/2
4 2 3 Г 2/3 -1/3 2/3 11/3Л {р2, р1} = (3 2,<5 +1) = [, , , 7 ] у = 2/3х - 2 у = 1/2 х - 5/6 х = 1 Тре- уголь- ник / 2 К = 6 (9/4 + 4/ 2)3/2
5 2 3 Г2/3 -1/3 2/3 11/3Л {р р3} = (3/2, /3) = 1 I ^ ^ ^0 0 0 6 ) у = 3/2 х +1/2 у = 2 х - 4/3 у = 0 Тре- уголь- ник / 2 к = 6— Г17Г (9/4 + 4/ 2)3/2
6 ' 2 2 Г 2/3 -1/3 2/3 11/3 ^ (р р1 } = (3/ 2,3/2 -1) = 1 I 2 1 ^-1/3 - 4/3 -1/3 8/3) у = х -1 Прямая 0
7 3 3 Г0 0 0 6^ {р3, р1} =(' ' + 1 = 1.1 , , 71 х = у -1 Прямая 0
8 3 2 Г0 0 0 6 ^ (р3, р2} = (/ 3,3/2) = 1 I 2І " ’ ' ^ 2/3 -1/3 2/3 11/3) у = 2/3х -1/3 у = 1/2 х - 2/3 х = 0 Тре- уголь- ник / 2 К = 6 (9/4 + 4/ 2)3/2
| Вестник КемГУ № 3 2008 Математика
Продолжение таблицы 2
9 - 3 2 (0 0 0 6 ^ {* *1 } = (/ ,3/2 -1) = 1 I 3 1 * 4 ’ 7 ^-1/3 - 4/3 -1/3 8/3) у = 2/3х - 4/3 у = 1/2х +1/3 х = 0 Тре- уголь- ник /2 К = 6 (9/4 + 4/ 2)3/2
10 - 2 3 (-1/3 - 4/3 -1/3 8/3Л {*1 , *1} = (3/2-1, /3 +1) = 1 1 1 7 I у = 3/2х + 3 у = 2х + 5/3 у = 1 Тре- уголь- ник / 2 К = 6 (9/4 + 4/ 2)3/2
11 - 2 2 (-1/3 - 4/3 -1/3 8/3^1 {*1 ,*2} = (3/2 -1,3/2) = 1 I 1 ^ 2/3 -1/3 2/3 11/3 ) у = х +1 Прямая 0
12 - 2 3 (-1/3 - 4/3 -1/3 8/3^1 {*1 ,*3} = (3/2 -1,/3) = 1 I 1 3 ^0 0 0 6 ) у = 3/2 х + 2 у = 2 х + 2/3 у = 0 Тре- уголь- ник / 2 К = 6 (9/4 + 4/ 2)3/2
Рис. 6. Вид кривой и массивов при изменении порядка обхода точек в трёх точках
Следовательно, при изменении обхода точек канонический тип кривой изменяется.
3. Расположение исходного массива относительно канонического
Канонический массив кривой образует либо треугольник, либо отрезок кривой, которые разбивают нашу плоскость на несколько частей. Рассмотрим варианты расположения вершин исходного массива относительно полученных прямых.
Возможны следующие случаи:
a) Канонический массив образует отрезок прямой:
а.1 - все четыре точки исходного массива лежат в одной полуплоскости;
а.2 - три точки исходного массива в одной полуплоскости, одна во второй;
a.3 - две точки исходного массива в одной полуплоскости, две во второй.
b) Канонический массив образует треугольник:
b.1 - все четыре точки исходного массива лежат в одном секторе;
Ь.2 - три точки исходного массива в одном секторе, одна в другом;
Ь.3 - две точки исходного массива в одном секторе, две в других секторах;
Ь.4 - все точки исходного массива в разных секторах и т. д.
Рассмотрим несколько примеров массивов, для которых реализуются перечисленные случаи.
Случай а. Массив образует отрезок
Возможны следующие варианты:
Случай а.1. Все четыре точки исходного массива лежат в одной полуплоскости.
Рассматриваем порождающий массив Р = {Р0,Р1,Р2,Р3}, находим В-сплайновую кривую Г, порожденную массивом, каноническую модель Г‘ и канонический массив Р :
РГ
1 1 8 -1
Г л: (І) = 4 / 3 -
1У (і) = -4 / 3 + *'(/ = Рі' (/ ^'(о = = о
1/3 -4/3
1/3 -4/3
5 '
4 -
3 ї + + 2 — 6 і - 1і2
2/3 і 3 - —/3 і3
Г '
(14)
-1/3
-1/3
8/3
8/3
Рис. 7.
Случай а.2. Три точки исходного массива лежат в одной полуплоскости, одна в другой. Рассматриваем массивы, находим кривую, каноническую модель и массив:
| Вестник КемГУ № 3 2008 Математика
PF±
0,5 -2 6 5
-13 4 -/
x(t) = —0, 2З + 2.7Sf + З.2З?2 -3.2ЗГ3 у(f) = 6/2 + З/2Ґ -3/212 -1 / 2f3
x'(f) = f/ (f) у'(f) = f/ (f)
-1/3 -4/3 -1/3 8/3_
-1/3 -4/3 -1/3 8/3
P^
■ Г' =
(1З)
■ S =
PГ
Гxit) = 2 + 41 - 4/3?3 [у() = З + t - 3t2 + 1/3?3
S =
Рис. 8.
Случай а.3. Две точки исходного массива в одной полуплоскости, две во второй.
"-2 2 6 2
2 6 4 -2 .
*3
Г ' =
(16)
= I*'(і) = *1- (?)
[.у'(() = (= )
Г-1/3 -4/3 -1/3 8/3'
= ^-1/3 -4/3 -1/3 8/3
Рассмотрев все случаи, получаем, что положение точек исходного массива относительно канонического не влияет на канонический тип кривой.
Ь. Массив образует треугольник
Таким же образом изучаем случай, когда у нас канонический массив образует треугольник. Графики кривых, моделей и соответствующих массивов приводить не будем в связи с их тривиальностью.
Случай Ь.1. Все четыре точки исходного массива лежат в одном секторе.
Рассматриваем порождающий массив, находим кривую, каноническую модель:
Г' =
(і7)
S=
3 2 6 5 _
3 5 7 43
)x(t) = 17/б + 3/2t + З / 2f2 -З/3Г3 і у (t) = З + 2t - З/б?3 x'(t) = Fi (О
у'0*) = f/ (О ' 1117 -1/3 -4/3 -1/3 8/3
Случай Ь.2. Три точки исходного массива в одном секторе, одна в другом:
( 1 4 3 _ _
5 4 5 2)=> _
Гх(0 = 2 + 3?2 - 5 / 3?3 (у(ґ) = 23/6 + 3 / 2? -1/2?2 -1 / 2?3
Г х'( Г ) = *1( г*)
[у '«) = *1- (г*) '
1117 -1/3 -4/3 -1/3 8/3
■Г' =
(18)
S=
• Г' =
(19)
Случай Ь.3. Две точки исходного массива в одном секторе, две в других секторах:
Ч -2 6 5 ^
ч! 3 - -1 ^ =
| х(г) = 1/3 + г + И2 - 23 / 6(3 [ У (г) = 17/6 + 3 /2г - 1/2г2 - 5/6г3 [ х'(I) = ^( г) _
[ У '(О = (?) ^
-Ч 1 1 7 7.
3-1/3 -4/3 -1/3 8/3)
Рассмотрев все случаи, получаем, что положение точек исходного массива относительно канонического массива не влияет на канонический тип кривой.
4. О гипотезе Фокса - Пратта
В общем случае известно, что В-сплайновая кривая «подобна» массиву, однако этой информации недостаточно для определения формы кривой. Выясним, как расположение вершин ломаной, длина её звеньев влияют на форму кривой.
Пусть Х-точка пересечения прямых - 8^ и 8283. Определим числа а ив следующим образом: 8081=а 80Х и 8283= вХ83. Фокс и Пратт утверждают [4], что если а ив удовлетворяют условиям:
а-іНв—|)>9 ё а> 1в>l
(20)
то кривая Безье будет иметь самопересечение и будет образовывать петлю. При исследовании В-сплайновых кривых с помощью системы Maple были построены примеры кривых Безье, для которых оба условия выполняются, но петля отсутствует.
Примером, когда условие выполняется, а кривая не образует петлю, является кривая, порож-
| Вестник КемГУ № 3 2008 Математика
денная массивом {P} и соответствующим массивом Безье {S}:
Р =
S =
1 б.5 3.7 10
1 3.1б 2.54 2 5.11 5.5б 4.б3
2.б9 2.95 2.74
5.21
2.55
(21)
Проверяем предположение, выдвинутое Фоксом:
(2.16 -4) • (2.97 -4) = 1.37,
3' У 3 ’
а = 2.16 > 1, в = 2.97 > 1, (22)
4
1.37 > — — верно.
Для него условия выполняются, однако петля отсутствует, т. е. кривая самопересечения не имеет.
Рис. 13. Кривая без петли, удовлетворяющая условию Фокса - Пратта
Требуется дальнейшее исследование и нахождение других величин и соотношений между ними, также влияющих на форму кривой.
Аналогично можно исследовать сплайновые кривые всех остальных типов.
Разработана программа, позволяющая по заданному уравнению кривой определять её канонический тип и находить каноническую модель.
При выполнении работы использовались системы: Maple 7 и Visual FoxPro 8.0.
Литература
1. Соколов, Н. П. Пространственные матрицы и их приложения / Н. П. Соколов. - М.: ГИФМЛ, 1960.
2. Постон, Т. Теория катастроф и её приложения / Т. Постон, И. Стюарт. - М.: МИР, 1980.
3. Шикин, Е. В. Кривые и поверхности на экране компьютера / Е. В. Шикин, А. И. Плис. - М.: ДИАЛОГ-МИФИ, 1996.
4. Фокс, А. Вычислительная геометрия / А. Фокс, М. Пратт. - М.: МИР, 1982.
5. Прокопенко, Е. В. Канонические модели кубически параметризованных кривых / Е. В. ПроПрокопенко // Электронный журнал "Исследовано в России". - 2008. - № 29. - С. 329 - 337 // http:// zhurnal.ape.relarn.ru/articles/2008/029.pdf.
6. Прокопенко, Е. В. Канонические модели кубически параметризованных кривых / Е. В. Прокопенко: тез. докл. Межд. конф. «Геометрия в Одессе - 2008». - 2008. - С. 120 - 121.
7. Прокопенко, Е. В. К вопросу о классификации кубических сплайновых кривы / Е. В. Прокопенко: тез. докл. Межд. конф. «Геометрия в Астрахани - 2008». - 2008.