| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Visual C++/MFC/WTL > Все точки кривой |
| Автор: Andrey44 26.10.2007, 11:05 |
| Всем здравствуйте. Подскажите пожалуйста как можно получить координаты всех точек кривой Безье, зная 4 контрольных точки. Кривую рисую в GDI+ DrawBezier(.......)/ Кто знает, подскажите, очень надо |
| Автор: 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(........). Но все равно спасибо сейчас попробую. Хотя с математикой и не очень-то дружу |
| Автор: Andrey44 26.10.2007, 12:39 |
| Попробовал. Получаю все точки кривой. Но они не проходят через заданные точки. Это плохо. Даже не знаю. Наверное придется делать DrawCurve(......) и GetPicsel(.....) |
| Автор: Andrey44 26.10.2007, 12:57 |
| zkv, спасибо еще раз. Но мои познания в математике не позволяют мне разобраться в этом алгоритме В первом было все намного проще |
| Автор: zkv 26.10.2007, 13:39 |
| вот http://msdn2.microsoft.com/en-us/library/ms536358.aspx http://algolist.manual.ru/graphics/painting/besier.php нашелся 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, гора благодарностей. Буду разбираться. Просто не знал с какой стороны подступиться |