Параметрическая кривая
- From
- Georgy Udov ()
- To
- Anton Vdovichenko
- Date
- 2002-12-03T19:22:28Z
- Area
- RU.ALGORITHMS
From: "Georgy Udov" <udovgeorgy@chat.ru>
Доброе время суток, Anton!
Ты писАл to Georgy Udov on Sun, 01 Dec 02 23:36:57 +0300:
AV> Насколько я знаю, реально используются только кубические сплайны,
AV> да и то, случаи когда степень равна 3 достаточно редки, в основном
AV> 2-я. По крайней мере это верно для той геометрии которая
AV> импортируется из большинства CAD систем (в основном работал с
AV> геометрией из SolidWorks ).
В Автокаде большинство создаваемых сплайнов - третьей степени, так как
именно такие сплайны являются результатом его алгоритмов интерполяции и
аппроксимации набора точек. Четвёртую степень я видел достаточно редко -
спасибо за информацию, значит, действительно, произвольная степень - не
такая большая проблема, как мне казалось...
AV> Но в принципе у меня есть опыт и по решению уравнений большей степени.
AV> Например когда ищешь расстояние от точки до кривой, то там степень
AV> вырастала до 9. Я реализовывал именно рекурсивный алгоритм - работает
AV> достаточно шустро. В принципе можно приблизительно оценить затраты
AV> дихотомии и прямого поиска для степени k: если длина интервала d, а шаг
AV> с которым ты будешь искать e, то при прямом поиске число вычислений
AV> функции будет n=d/e, а для дихотомии <
AV> (k^2)*log2(n). Т.ч. выбирай сам :) Возможно есть какой-нибудь лучший
AV> метод, но я его не знаю. Для меня, при реализации решающим фактором
AV> было то, что дихотомия гарантированно находит все корни с заданой
AV> точностью.
Ну, прямой поиск я бы даже не рассматривал вообще как метод. Очень уж он ...
глупый.
Есть семеёство так называемых итерационных методов. Простейший из них
состоит в том, что уравнение сводят к виду x = f(x), дальше выбирают
некоторое "начальное приближение" х0, и далее
х1 = f(x0)
x2 = f(x1)
...
Очевидно, если данная последовательность сходится, то она сходится к
решению. Что же касается вопроса гарантированной сходимости - то на эту тему
развита огромная теория. Вроде, есть какое-то достаточное условие... То ли
модуль производной f(x) должен быть меньше единицы... не помню.
А хороший вопрос... Не задать ли его All... Что лучше для решения
полиномиального уравнения - дихотомия или итерации... И как реализовать
итерации, чтобы они гарантированно сходились...
Vale, Georgy Udov. E-mail: udovgeorgy#SPAMOFFchat.ru
--- ifmail v.2.15
* Origin: http://news.kaa.ru (2:5030/49.1)