|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Georgy Udov 2:5030/49.1 01 Dec 2002 17:22:46 To : Anton Vdovichenko Subject : Параметрическая кривая -------------------------------------------------------------------------------- Доброе время суток, Anton! Ты писАл to Georgy Udov on Fri, 29 Nov 02 22:29:35 +0300: AV>>> p=A(t)/B(t), где A(t) и B(t) полиномы. Hу а дальше t найти не AV>>> особо трудно. По крайней мере у меня так отлично работает. AV> Я их не ищу, я их строю :) Методика основывается на том, что AV> полиномами можно представить базисные функции, но т.к. канонически AV> они задаются рекурентными формулами, то для получения полиномов AV> применяется хитрая итеративная процедура. AV> Сначала строится таблица базисных функций первого порядка, на основе AV> ее таблица функций второго порядка и т.д. Потом полученные полиномы AV> для базисных функций суммируются с учетом весов и контрольных точек AV> и из них собственно получаются те полиномы A(t) и B(t). Вообще то, AV> конечно, полинома A это вектор, т.е. есть 3 полинома для каждой AV> координаты X(t), Y(t), Z(t) и, т.о. получается система из 3-х AV> уравнений, но решить достаточно одно из них. Спасибо большое за информацию. Только ещё несколько вопросов: 1) Так как на каждом узловом интервале полиномы А(t) и B(t) разные, то уравнение нужно решать для каждого интервала, а потом, если получим t, выходящее за границы данного интервала, - это решение отсекать? Или можно сначала как-нибудь прикинуть, на каком узловом интервале находится заданная точка? GU>> 3) Полученное уравнение решаешь, насколько я понимаю, итеративно? AV> Hу если получается уравнение второй степени, то аналитически. Для AV> третьей можно тоже аналитическое решение написать. А так, для общего AV> случая, решается методом дихотомии, концы интервала ведь известны, а AV> промежуточные точки перегиба ищутся деференцированием и поиском AV> корней этого дифференцированного уравнения - AV> гарантированно находятся все корни с какой угодно точностью, если AV> они есть конечно. По-моему, аналитически можно решить и для четвёртой степени. То есть, дихотомия годится только до пятой. Дальше дифференцированное уравнение станет решать сложно - надо будет и его дифференцировать... Конечно, можно написать рекурсивную функцию, решающую уравнение дихотомией, только тогда возникнет другой вопрос - а не будет ли это менее эффективно, чем какой-нибудь итерационный метод... Vale, Georgy Udov. E-mail: udovgeorgy#SPAMOFFchat.ru --- ifmail v.2.15 * Origin: http://news.kaa.ru (2:5030/49.1) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/149473ed16e82.html, оценка из 5, голосов 10
|