Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.30;
Скачать: CL | DM;

Вниз

сплайны Безье - кубические в квадратичные...   Найти похожие ветки 

 
wicked ©   (2005-11-14 00:01) [0]

каким способом разбить одну кубическую кривую Безье на 2 (3, больше?) квадратичных?....
заранее спасибо за любую полезную информацию.... ;)


 
MBo ©   (2005-11-14 00:43) [1]

Понятно, что нельзя точно аппроксимировать исходную кубическую кривую несколькими кривыми второй степени (если только она изначально не была квадратичной).
Нужно выработать подходящий для твоего приложения критерий качества аппроксимации, и из него исходить.
Таким образом, оцениваешь отклонение при приближении одной квадр. кривой. Если плохо - делишь кубическую пополам (а если особенность cusp есть, то лучше по ней), и так далее.

Например, можно попробовать так:
Q - контр. точки квадратичной кривой, P - кубической, представляющей ту же самую Q, R - исходной кубической.
повышение степени квадрат-куб:
P0=Q0
P1=1/3*Q0+2/3*Q1
P2=2/3*Q1+1/3*Q2
P3=Q2

Если конечные точки взять совпадающими, то неизвестной останется только Q1
Запишем Q в виде кубической кривой P, составим разность
D=R-P, эта разность тоже является кубической кривой, и найдем минимум максимального удаления D от нуля в зависимости от двух переменных Q1.X и Q1.Y.

Другой вариант - порезать R на куски без особенностей, петель, и с не слишком большой кривизной, затем побогнать каждый кусок квадратичной кривой по конечным точкам и производной в них.

Если покопаться в comp.graphics.algorithms, то Dave Eberly писал там об аппроксимации с исп. метода наименьших квадратов (поиск по bezier degree reduction)


 
wicked ©   (2005-11-14 01:20) [2]

угу, спасибо.... будем пробовать....


 
wicked ©   (2005-11-25 19:02) [3]

ссылки по теме:
http://stevehollasch.com/cgindex/curves/cbez-quadspline.html
http://www.flashkit.com/board/archive/index.php/t-106254.html

ЗЫ в второй прочел только пару первых постингов.... но она ссылается на первую.... :)


 
wicked ©   (2005-11-30 18:17) [4]

а вот, что искалось....... с достаточными выкладками и примерами..... да и предметная область та, что нужно:
http://www.timotheegroleau.com/Flash/articles/cubic_bezier_in_flash.htm



Страницы: 1 вся ветка

Текущий архив: 2006.04.30;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.043 c
15-1144570984
Ega23
2006-04-09 12:23
2006.04.30
С Днём рождения! 8 апреля


3-1141391413
ANB
2006-03-03 16:10
2006.04.30
Как настроить ядро BTrieve ?


6-1137084456
bloodman
2006-01-12 19:47
2006.04.30
Перечислить сет. интерфейсы, Как?


2-1144901581
Rubey
2006-04-13 08:13
2006.04.30
Очистка таблицы


4-1139301504
MixAnOL
2006-02-07 11:38
2006.04.30
Определение окончания бумаги в принтере