![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Замкнутые сплайны [Delphi, Windows]
Sapersky © (2003-09-04 16:03:00)Лучше бы, конечно, готовую библиотеку какую. Или переделать имеющийся TBSpline - в кладовке должен быть. Он обычные сплайны делает, а вот замкнутые из него вытрясти у меня не получилось.
З.Ы. Извиняюсь за типично ламерскую постановку вопроса ("где дастать кампанент"), но слаб я в математике, увы... :( впрочем, может, кто-нибудь хорошо объяснит? :)
MBo (2003-09-12 15:18:00) [1]пришли.
кривые Безье можно построить, проходящие через нужные точки, но проблема согласования наклона в узлах будет - сплайны тем и хороши, что это обеспечивают автоматически.
Sapersky (2003-09-12 14:46:00) [2]Попробовал, получилось не намного лучше. Т.е. кренделей действительно меньше (Catmull-Romm более "плоские", что ли), но выпуклости там где не надо всё равно есть. А где надо - нету :(
Нашёл программу по кривым Безье:
http://www.efg2.com/Lab/Graphics/Jean-YvesQueinecBezierCurves.htm
там можно контрольные точки произвольно (мышкой) задавать. Мышкой мне, конечно, не надо, но вот рассчитать их так, чтобы получилось то, что нужно... например, если кривая поворачивает "наружу" профиля (обычно "внутрь"), делать не выпуклость, а перегиб... муторно, конечно...
Вообще, может быть, послать вам картинки - как надо и как получается (1 бит/пиксель, так что размер небольшой)? А то на словах трудно объяснить, что именно не так.
MBo (2003-09-11 17:42:00) [3]попробуй сплайны Catmull-Rom.
Они локальные, считаются очень быстро.
Sapersky (2003-09-11 17:37:00) [4]Сделал B-сплайнами, но они плохо в данном случае работают - имеют тенденцию к выписыванию излишних кренделей, особенно на не гладких участках (а такие имеются). Понятно, что точно интерполировать такие участки сплайнами невозможно, но хотя бы минимальное закругление получить... Может, какая-то другая разновидность здесь лучше подойдёт?
MBo (2003-09-05 10:43:00) [5]c B-сплайнами дела пока не имел.
Поищи по Periodic B-Splines
Sapersky (2003-09-05 10:00:00) [6]Кажется, B-сплайны (в TBSpline вроде используются они). Хотя без разницы - лишь бы сглаживали нормально. Сплайн должен лежать на точках. В TBSpline начальное преобразование для этого сложнее собственно сплайновых вычислений, и именно с ним имеются проблемы. Пробовал временно добавлять в начало и конец точки с противоположных концов - получается похоже на правду, но всё-таки не совсем то.
MBo (2003-09-04 17:16:00) [7]Какие именно сплайны интересуют (их много видов)