|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Anton Vdovichenko 2:5025/3.8 06 Dec 2002 23:41:27 To : Georgy Udov Subject : Параметрическая кривая -------------------------------------------------------------------------------- 06 Dec 30 15:41, Georgy Udov wrote to Anton Vdovichenko: AV>> гарантированно найти парметрические координаты точки на NURBS AV>> поверхности - хотелось бы услышать. GU> Стало быть мы занимаемся решением одинаковых задач :-) GU> Скажи, а как ты сейчас ищешь параметрические координаты точки на GU> NURBS-поверхности? Hу там сейчас достаточная громоздкая процедура, состоящая из нескольких этапов :) 1) Вообще то я ищу координаты не по всей поверхности, а только на конутрах конкретного face'а, который этой поверхностью описывается, поэтому достаточно часто эти точки лежат на краях домена. Т.е. достаточно зафиксировать u=u0,u1 или v=v0,v1 и свести систему к уравнениям от одной переменной. Кстати некоторые уравнения системы могут зависить только от одной переменной и без фиксации u,v. 2) Если первым способом ничего не находится то решаю Hьютоном системы из двух уравнений (всего уравнения 3, поэтому пары будет тоже 3) для каждого интервала. Работает неплохо и достаточно быстро, если решение есть :) Hо иногда это лажает - упорно сходится к каким то левым корням. 3) Если оба предыдущих способа не помогли, то используется метод, который годится только для полиномов степенью не выше 3. Смысл состоит в том, что для каждой степени разделяются переменные, а потом степень понижается методом на подобие Гаусса, в итоге получаем полином бешеной степени, но зато от одной переменной :) Способ конечно скоростью не блещет, но до него дело не часто доходит. Здесь нахождение решения теоретически гарантировано, но практически из-за потерь точности может облажаться... Вообще то конечно ни один из этапов реально не гарантирует решения, но сейчас, после тщательной обработки напильником у меня это работает на всех примерах, которые я пробовал, поэтому эта проблема сейчас отошла на 3-й план, да и по скорости из общей задачи этот этап занимает доли процента. Hо все равно хотелось бы узнать более прямой метод, если он есть :) Anton --- GoldED 2.50+ * Origin: ... (2:5025/3.8) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/22843df12f0d.html, оценка из 5, голосов 10
|