Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

PolyBezier, проходящий через заданные точки.


Дмитрий Белькевич ©   (2010-04-26 11:58:00) 

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

Другие решения не интересуют. Нужна максимально возможная скорость отрисовки кривой сглаженной линии, которую даёт PolyBezier.


Ins   (2010-04-27 21:59:00) [1]


> еще такой способ (в крайних точках только придумать условие):


Хороший алгоритм, и простой, и позволяет коэффициент натяжения регулировать.

> Спасибо, буду разбираться.

Могу подсказать граничные условия :) Пусть недостающая опорная точка для кривой Безье совпадает с вершиной - певрой или последней, смотря для какой ищем. Получится красивая кривулина


Дмитрий Белькевич   (2010-04-27 20:39:00) [2]

Спасибо, буду разбираться.


MBo   (2010-04-26 13:23:00) [3]

Нужно построить кубические сплайны и перевести их в форму Безье.
Легко считаются сплайны Кэтмулл-Рома.

еще такой способ (в крайних точках только придумать условие):
http://antigrain.com/research/bezier_interpolation/index.html#PAGE_BEZIER_INTERPOLATION


Наверх

Титульная страница Поиск, карта сайта Написать письмо