Алгоритъм за повишаване степента на криви на Безие



Дата12.03.2018
Размер15.87 Kb.
#62621

Алгоритъм за повишаване степента на криви на Безие

Основната идея на повишаването на степента на криви на Безие е зададена полиномиална крива от степен n да представим като полином от степен n+1. За целта трябва да определим контролен полигон с върхове , който описва същата крива, зададена първоначално с полигон - .

Формулата за получаване на новите върхове е следната:

Тоест новите върхове се получават от старите върхове чрез линейна интерполация със стойност на параметъра .



Фиг 1. Крива и полигон от 3та степен и полигон от 4та степен описващ същата крива


Възможно е да повторим процеса на повишаване на степента неколкократно. Нека оригиналният ни полигон е P – при повишаване на степента последователно ще получаваме полигони и т.н. Ако повторим този процес r пъти ще получим полигон . Може да се докаже, че

Тоест с увеличаване на степента на полигона, той започва да се стреми към кривата, определена от началния полигон.



Фиг. 2 Крива и полигон от 3та степен и полигони с по-висока степен (5, 6 и 18)


Аплет, демонстриращ алгоритъма за повишаване на степента




Аплетът позволява интерактивно въвеждане на контролен полигон на крива, разместване на точките на въведената крива и добавяне на криви с по-висока степен.
Начин на работа:


  • Въвеждане на върхове – става с левия бутон на мишката

  • Премахване на последния въведен връх – с десния бутон на мишката

  • Преместване на точки – с влачене с натиснат ляв бутон на мишката

  • Въвеждане на криви от по висока степен – става чрез натискане на бутона „+”. При натискане на бутона се добява нов ред в таблицата с криви. Първоначално кривата е със степен +1 и случаен цвят. В колоната за степен може да се въвежда положителни степени. Редактирането на цвета става с двойно щракване в клетката за цвят.

  • Премахване на крива от по-висока степен – с бутона „-” се премахва текущо избраната крива.

  • Чрез бутона "Изчистване" се премахват всички въведени данни и може да се въведе нова крива.

Каталог: fmi -> companal -> krassivl
krassivl -> 3d-алгоритъм на Chaikin
fmi -> Конкурентно Програмиране
fmi -> Лекции по компютърни мрежи и комуникации
fmi -> Ще предпочетеш да наблюдаваш света отстрани или ще се присъединиш към най-голяма студентска организация?
fmi -> Лекции по обектно-ориентирано програмиране
krassivl -> Crossplot на крива на Bezier Аплетът има две основни състояния(modes) Insertion mode
krassivl -> 1. Oписание на алгоритъма Описание на реализация Описание на функционалност
krassivl -> Алгоритъм на Doo-Sabin Описание на алгоритъма
krassivl -> Повърхнина на Peters-Reif За да работи приложението е необходимо на компютъра да е инсталиран


Сподели с приятели:




©obuch.info 2024
отнасят до администрацията

    Начална страница