Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > Все точки кривой


Автор: Andrey44 26.10.2007, 11:05
Всем здравствуйте.
Подскажите пожалуйста как можно получить координаты всех точек кривой Безье,
зная 4 контрольных точки.
Кривую рисую в GDI+ DrawBezier(.......)/
Кто знает, подскажите, очень надо smile 

Автор: zkv 26.10.2007, 11:30
думаю только математика спасет.
Знаком со spline'ми? С интерполяцией вообще?
Посмотри http://en.wikipedia.org/wiki/B%C3%A9zier_curve
 
Хотя можно попробовать нарисовать его на контексте в памяти, а затем по цвету пикселей определить точки...

Автор: Andrey44 26.10.2007, 11:37
zkv,  Спасибо , сейчас попробую.
Хотя наверное мне нужно даже не по безье, а GDI+ DrawCurve(........).
Но все равно спасибо сейчас попробую. Хотя с математикой и не очень-то дружу smile 

Автор: Andrey44 26.10.2007, 12:39
Попробовал. Получаю все точки кривой.
Но они не проходят через заданные точки. Это плохо.
Даже не знаю. Наверное придется делать DrawCurve(......) и GetPicsel(.....) smile 

Автор: zkv 26.10.2007, 12:42
Цитата(Andrey44 @  26.10.2007,  12:39 Найти цитируемый пост)
Попробовал. Получаю все точки кривой.
Но они не проходят через заданные точки.

дык а что пробовал? 
У DrawCurve другой http://en.wikipedia.org/wiki/Cardinal_spline smile

Автор: Andrey44 26.10.2007, 12:57
zkv, спасибо еще раз.

Но мои познания в математике не позволяют мне разобраться в этом алгоритме smile 

В первом было все намного проще smile  smile 

Автор: zkv 26.10.2007, 13:39
вот http://msdn2.microsoft.com/en-us/library/ms536358.aspx
http://algolist.manual.ru/graphics/painting/besier.php нашелся smile
http://forum.vingrad.ru/forum/topic-159508.html что-то обсуждали
а http://www.enlight.ru/demo/faq/smth.phtml?query=alg_curves_splines может даже код найдешь

Автор: Andrey44 26.10.2007, 13:59
zkv,  гора благодарностей.
Буду разбираться. Просто не знал с какой стороны подступиться smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)