Научная статья на тему 'Интеграция геометрии, программирования и информационных технологий при изучении геометрических сплайнов'

Интеграция геометрии, программирования и информационных технологий при изучении геометрических сплайнов Текст научной статьи по специальности «Математика»

CC BY
173
55
i Надоели баннеры? Вы всегда можете отключить рекламу.
Журнал
Концепт
ВАК
Область наук
Ключевые слова
ИНТЕГРАЦИЯ / ГЕОМЕТРИЯ / КРИВАЯ / АППРОКСИМАЦИЯ / СПЛАЙН / БЕЗЬЕ / INTEGRATION / GEOMETRY / CURVE APPROXIMATION / SPLINE / BEZIER

Аннотация научной статьи по математике, автор научной работы — Бушмелева Наталья Александровна

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Бушмелева Наталья Александровна

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Integration of geometry, programming, and information technology the study of geometric splines

The article focuses on the integration of disciplines in the practice of university teaching. Its aim is to demonstrate the possibilities of the use of various information technologies in the study of the classical discipline.

Текст научной работы на тему «Интеграция геометрии, программирования и информационных технологий при изучении геометрических сплайнов»

КОНТ тнгтт

Бушмелева Н. А. Интеграция геометрии, программирования и информационных технологий при изучении геометрических сплайнов // Концепт. - 2012. -№ 8 (август). - ART 12111. - 0,3 п. л. - URL: http://

научно-методический электронный журнал W*W c0C77Oki9965OnCestN2°3104 120X1. ~ ^ ^

ART 12111 УДК 378.147:004.925.8 л - - . ' .

Бушмелева Наталья Александровна,

кандидат педагогических наук, доцент кафедры прикладной математики и информатики ФГБОУ ВПО «Вятский государственный гуманитарный университет», г. Киров naf@vshu.kirov.ru

Интеграция геометрии, программирования и информационных технологий при изучении геометрических сплайнов

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

Ключевые слова: интеграция, геометрия, кривая, аппроксимация, сплайн, Безье.

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

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

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

Функции, используемые для аппроксимации произвольных гладких кривых, называются математическими сплайнами. Термин «сплайн» происходит от английского spline, что означает гибкую полоску стали, которую применяли чертежники для проведения плавных кривых, например, для построения обводов или самолетов. Свойства таких функций описываются следующими требованиями: 1) функция должна проходить через все заданные точки; 2) функция должна иметь непрерывную вторую производную на всей области определения.

Кроме этого, значения искомой функции должны сравнительно легко вычисляться.

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

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

Рис. 1. Кривая с контрольными точками

f\j ■Л пи

http://www.covenok.ru/koncept/2012/12111.htm

Бушмелева Н. А. Интеграция геометрии, программирования и информационных технологий при изучении геометрических сплайнов // Концепт. - 2012. -№ 8 (август). - ART 12111. - 0,3 п. л. - URL: http://

научно-методический электронный журнал W*W.CoC77Ok^996k5O7C7StN2°31041l20X1. ~ ^ ^

ART 12111 УДК 378.147:004.925.8 л - ' . ' .

точки в разной мере определяют направление данной кривой. При этом совершенно необязательно условие прохождения кривой через все контрольные точки (рис. 1). На нем: P0, Р3 - начальная и конечная точки, P-i, P2 - ключевые точки, определяющие направление кривой (возможен случай, когда Pi = P2).

Такие кривые получили название сплайнов Безье. Рассмотрим их подробнее. Квадратичная кривая Безье [1].

Заданы три контрольные точки Po, P1 и P2 (рис. 2).

Применим процедуру деления отрезков, используя параметр t - число от 0 до 1 (например, t = 0,75):

1) Вычислим точку P1(1) на отрезке P0P1 по следующей формуле: P1(1) = (1 - t) • P0 + t • P1.

2) Вычислим точку P2(1) на отрезке P1P2 по формуле: P2(1) = (1 - t) • P1 + t • P2.

3) Вычислим точку P2(2) на отрезке формуле: P2(2) = (1 - t) • P1(1) + t • P2(1).

4) Обозначим P(t) = P2(2).

Рассмотрим эту процедуру с точки зрения использования параметров. Каждая из точек P1(1), P2(1) и P2(2) зависит от параметра t, и P2(2) принимает значение, соответствующее значению параметра t. Таким образом, P(t) является функциональным представлением кривой Безье.

p1d)p2d)

по

Рис. 2. Квадратичная кривая Безье

Запишем это алгебраически: P(t) = P2(2)(t) = (1 - t) • P1(1)(t) + t • P2(1)(t),

где Р1(1) = (1 - Ц • Ро + t • Р1, Р2(|) = (1 - Ц • Р1 + I • Р2.

Заметим, что мы обозначили Р1(1), Р2(1) как функции от t.

Подставив эти два выражения в исходное, получим

Р^) = (1 - ^ • ((1 - ^ • Ро + t • Р1) + t • ((1 - ^ • Р1 + t • Р2) =

= (1 - t) • ((1 - Г) • Ро + t • Р1) + t • ((1 - t) • Р1 + t • Р2) =

= (1 - t)2 • Ро + (1 - ^ • [ • Р1 + [ • (1 - ^ • Р1 + /2 • Р2 =

= (1 - t)2 • Ро + 2 • { • (1 - Г) • Р1+^2 • Р2.

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

Свойства квадратичной кривой.

1) Р(о) = Ро и Р(1) = Р2, кривая проходит через контрольные точки Ро и Р2.

2) Функция Р(^ является непрерывной, и все ее производные так же непрерывны (это следует из свойств многочленов).

3) Продифференцируем Р(^ по t и получим:

Р(Г) = -2 • (1 - Г) • Ро + (-2 • t + 2 • (1 -t )) • Р1 + 2 • t • Р2 = 2 • ((1 -Г) • + t • (Р2 - Р1)).

Таким образом, Р’(0) = 2 • (Р1 - Ро), при t = 0 и Р’(1) = 2 • (Р2 - Р1) при t = 1.

Это означает, что наклон кривой при t = 0 такой же, как и у вектора 2 • (Р1 - Ро) , а наклон кривой при t = 1 такой же, как и у вектора 2 • (Р2 - Р1).

4) Функции (1 - ^2, 2 • t • (1 - V) и I2 являются полиномами Бернштейна 2-й степени. Сами функции и их сумма неотрицательны:

(1 - Г)2 + 2 • t • (1 - Г) + ? = 1 - 2 • t + I2 + 2 • t - 2 • f2 + f2 = 1.

5) Кривая лежит внутри треугольника РоР1Р2.

(1) -

«VI О (X»

http://www.covenok.ru/koncept/2012/12111.htm

КОНТ тнгтт

Бушмелева Н. А. Интеграция геометрии, программирования и информационных технологий при изучении геометрических сплайнов // Концепт. - 2012. -№ 8 (август). - ART 12111. - 0,3 п. л. - URL: http://

научно-методический электронный журнал W*W c0C77Oki9965OnCestN2°3104 120X1. ~ ^ ^

ART 12111 УДК 378.147:004.925.8 л - - . ' .

P(t) является аффинной комбинацией точек Pq, P1 и P2. Таким образом, P(t) будет лежать в выпуклой области контрольных точек при всех t е [0; 1], а выпуклая область треугольника и есть сам треугольник.

6) Если точки Pq, Pi, P2 коллинеарны, то кривая есть прямая линия. Если точки лежат на одной прямой, то выпуклой областью является прямая, и, следовательно, квадратичная кривая будет прямой линией.

Вывод.

1. Геометрический метод построения квадратичной кривой Безье:

P(t) = P2(2)(t),

ГДе P(j»(() = j(1~ f>' >' j > 0 .

2. Аналитический метод построения квадратичной кривой Безье:

P(t) = (1 - t)2 • Pq + 2 • t • (1 - t) • Pi + t2 • P2.

Кубическая кривая Безье [2].

Заданы четыре контрольные точки Pq, P1,

P2, P3 (рис. 3) .

Пусть Pi(1)(t) = t • Pi+(1 - t) • Pq,

P2(1)(t) = t • P2 + (1 - t) • P1,

= t • P3+(1 - t) • P2,

= t • P2(1)(t) + (1 - t) • P1(1)(t),

= t • P3(1)(t) + (1 - t) • P2(1)(t),

= t • P3(2)(t) + (1 - t) • P2(2)(t).

P3(1)(t P23(2)(t)

P32(2)(t)

Рис. 3. Кубическая кривая Безье

P3(3)(t)

Обозначим P3(3)(t) как P(t).

Формулы аналитического представления точек кривой Безье:

3

F(t) =Z P • Б, (t),

i=0

где Bo(t > = (1 -1 )3, B,(t > = 3. t- (1 -1 >2, B2(t > = 3. t2-(1 -1 >, B3(t > = t3.

Кубическая кривая имеет свойства, схожие со свойствами квадратичной кривой. Вывод.

1.Геометрический метод построения квадратичной кривой Безье:

Задав точки Pq, P1, P2, P3 и выбрав значение t из [0,1] сгенерировать точку P(t)

на кривой Безье P(t) = P3(3)(t) , где р(J >(t) =

j( J)/

(1 -1 )■ F_i(J-1)(t) + t'F(J-1)(t), J > 0 P .J = 0

(J-1)/

2.Аналитический метод построения квадратичной кривой Безье:

3

P(t) =Z P • Bi (t),

i=o

где B0(t) = (1 -1)3, B1(t) = 3^ t^ (1 -1)2, B2(t) = 3^ t2 41 -1), B3(t) = t3- полиномы Бернштейна третьей степени, а te[0; 1].

Кубические сплайны находят самое большое применение в практике [3], так как третья степень - наименьшая из степеней, позволяющих описать форму любой

http://www.covenok.ru/koncept/2012/12111.htm

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

КОНТ тнгтт

научно-методический электронный журнал ART 12111 УДК 378.147:004.925.8

Бушмелева Н. А. Интеграция геометрии, программирования и информационных технологий при изучении геометрических сплайнов // Концепт. - 2012. -№ 8 (август). - ART 12111. - 0,3 п. л. - URL: http:// www.covenok.ru/koncept/2012/12111.htm. - Гос. рег. Эл № ФС 77- 49965. - ISSN 2304-120X.

Г 60 80 100 |120 140 160 |18р |20р 220 240 260 |28р 300

со С В

1 I" a 1

о: О. Квадратичный

о: CN ЗПЛЙИН

"о: Ai

О: /лС J // ~ -\ К уб и че с кии.

1 if сплайн

о; со V *

I L 2

о; о С'Г А ' I

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

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

Так, например, для построения эллипса с хорошей точностью достаточно четырех кубических сплайнов, а квадратичных надо как минимум 10-12 (рис. 4).

На рисунке эллипс - светло-серая кривая - практически невозможно отличить от кубического сплайна (тонкая черная кривая), построенного по точкам А, А1, В-| и В. Контрольные точки А1 и В1 подбирались так, чтобы в точках А и В совпадали радиусы кривизны сплайна и исходной кривой (эллипса).

Квадратичный сплайн (кривая Безье второго порядка, построенная по точкам А, С и В), как видно на рисунке, в точках А и В касается исходной кривой, но в промежутке между этими точками существенно от нее отклоняется.

Задание для практической работы студентов.

1. Написать программу построения кривой Безье на экране компьютера. При этом необходимо предусмотреть работу программы в следующих режимах:

- построение кубической кривой по заданным параметрам;

- аппроксимация заданной кривой с кубической путем подбора параметров.

2. Получить формулы аналитического представления точек кривой Безье в общем виде и частном случае:

- Ро(-30; 10), Р1(-30; -20), Р2(20; 30), Рз(-20; -10);

- Р0(-30; 10), Р1(0; -20), Р2(20; 30), Рз(20; -10).

3. Проверить точность аппроксимации в рамках реализованного алгоритма.

Исходными данными на выполнение работы являются: метод аппроксимации

и вид кривой (рис. 5, 6). Необходимо аппроксимировать заданную кривую с помощью кубической.

Рис. 4. Построение эллипса с помощью квадратичной и кубической кривых Безье

Рис. 5. Вид кривой

Рис. 6. Вид кривой

гм yj nj

http://www.covenok.ru/koncept/2012/12111.htm

КОНТ тнгтт

научно-методический электронный журнал ART 12111 УДК 378.147:004.925.8

Результаты работы: значения параметров построенной кубической кривой, графики промежуточных результатов и график конечного результата.

Замечание. Для выполнения третьего задания можно воспользоваться средствами табличного процессора MS Excel (рис. 7). Необходимо задать координаты контрольных точек. Для каждого значения параметра t є [0; 1] вычислить значения координат точек кривой (в данном случае их 19) и построить кривую. Изменяя значения координат контрольных точек, подобрать параметры сплай-новой кривой, наиболее точно представляющей заданную кривую.

Бушмелева Н. А. Интеграция геометрии, программирования и информационных технологий при изучении геометрических сплайнов // Концепт. - 2012. -№ 8 (август). - ART 12111. - 0,3 п. л. - URL: http:// www.covenok.ru/koncept/2012/12111.htm. - Гос. рег. Эл № ФС 77- 49965. - ISSN 2304-120X.

A в с D E F G H і j к L

1 t X Y xO v0

2 0 •5,00 3,00 -5 3

3 0,05 -3,60 3,95 x1 yi

4 0,1 -2,67 4,73 6 10

5 0,15 -2,15 5,33 x2 V2

6 0,2 -1,97 5,78 -18 4

7 0,25 -2,08 6,09 x3 уз

8 0,3 -2,42 6,28 2 3

9 0,35 -2,93 6,34

10 0,4 -3,54 6,31 Кубическая кривая Безье

11 0,45 -4,21 6,19

12 0,5 -4,88 6,00 -,nn

13 0,55 -5,47 5,75 - ^ t ■

14 0,6 -5,94 5,45 у I

15 0,65 -6,22 5,12

1Б 0,7 -6,25 4,76

17 0,75 -5,98 4,41

18 0,8 -5,35 4,06

19 0,85 -4,30 3,73

2D 0,9 -2,76 3,43 ■

21 0,95 -0,68 3,19 -В,00 -В.Ш -4,00 -2,GO 0.00 2,00 4,00 X

22 1 2,00 3,00

Рис. 7. Результаты вычисления координат точек кривой Безье

Историческая справка.

Пьер Этьен Безье родился 1 сентября 1910 г. в Париже в семье потомственных инженеров. Окончил колледж точных наук и, год спустя, получил степень инженера-электрика. В возрасте 23 лет Безье поступил на службу в компанию «Рено», где и проработал почти всю свою жизнь. Начинал он простым техником, потом постепенно поднялся, участвуя в разработке и проектировании поточных линий автомобильного производства.

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

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

Умер в 1999 г.

Ссылки на источники

1. Порев В. Н. Компьютерная графика. - СПб.: БХВ-Петербург, 2002. - 432 с.

2. Никулин Е. А. Компьютерная геометрия и алгоритмы машинной графики. - СПб: БХВ-Петербург, 2003. - 560 с.

3. Фокс А., Пратт М. Вычислительная геометрия. Применение в проектировании и на производстве.

- М.: Мир, 1982. - 304 с.

Bushmeleva Natalya,

Ph.D., associate professor of applied mathematics and computer science Vyatka State University of Humanities, Kirov nat@vshu.kirov.ru

Integration of geometry, programming, and information technology the study of geometric splines

Abstract. The article focuses on the integration of disciplines in the practice of university teaching. Its aim is to demonstrate the possibilities of the use of various information technologies in the study of the classical discipline.

Keywords: integration, geometry, curve approximation, spline, Bezier.

977230412012808

http://www.covenok.ru/koncept/2012/12111.htm

i Надоели баннеры? Вы всегда можете отключить рекламу.