Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.28;
Скачать: [xml.tar.bz2];




Вниз

B сплайны 


Ahd   (2002-03-14 23:39) [0]

Программеры!
подскажите алгоритм, я уже всю башку сломал...

Есть куча точек, заранее не извесно сколько, но, среди них нет точек с одинаковыми координатами, т. е. все точки с разными координатами, нужно нарисовать B сплайн, между этими точками, (точки находятся в 3D пространстве)...



lipskiy   (2002-03-15 01:09) [1]

Ух ты, аж в 3D!
Про 2D я еще могу на работе глянуть, а вот с тридэ сложнее.



Ahd   (2002-03-15 01:59) [2]

Да там не принципиально в 3D или 2D, просто когда добавляется Z, вычисляется еще одна координата, а считается все по одной формуле для X, Y, Z вот эта формула в принципе мне и нужна...



Ahd   (2002-03-15 03:57) [3]

Да, забыл сказать, кривая должнабыть 3-го порядка.



_Mike_   (2002-03-15 08:42) [4]

метод наименьших квадратов.
второй курс. аналитическая геометрия.

Вся сложность в том, чтобы догадаться, как его применить. :-)
Вводишь параметр t (типа, шаг) и по методу наименьших квадратов
независимо вычисляешь 3 функции:
x=X(t)
y=Y(t)
z=Z(t)
(t:=0 TO tMax)



ProgMan   (2002-03-15 08:53) [5]

Попробуй посмотреть здесь:
http://www.srcc.msu.su/num_anal/lib_na/cat/cat914.htm



han_malign   (2002-03-15 09:43) [6]

2 _Mike_ - опять вы путаете задачи апроксимации(МНК)и интерполяции (сплайн, Гаус), а вот через параметрическую функцию - грамотно.
Примечание: Насчет МНК - если кривая проходит через все точки(главное условие задачи интерполяции) - СКО=0 всегда!!!



Фэ   (2002-03-15 10:29) [7]

Одно уточнение - должен быть известен порядок обхода точек (очередность точек). Если это автору известно - тогда интерполяция.



_Mike_   (2002-03-15 11:02) [8]

TO han_malign:
во-первых, почему "опять"?
во-вторых, я ничего не путаю:
если использовать для МНК 3-го порядка (как это нужно
автору вопроса) 4 точки, то и получите интерполяцию - где
противоречие (в том смысле, что я ничего не путаю, просто недоговорил)?
И таким образом по 4 точки двигаемся до конца (можно брать серединные
отрезки, чтобы поглаже были стыки).

TO Фэ:
порядок обхода точек должен быть известен и для интерполяции,
иначе никак.



_Mike_   (2002-03-15 11:04) [9]

В смысле: порядок обхода точек должен быть известен и для МНК



Фэ   (2002-03-15 11:58) [10]

_Mike_ © (15.03.02 11:04)
Это - регресионный анализ, т.е. построение регресионной зависимости функции от параметров.
Если задача получить, например Y=A+B*X, то совершенно не важно в каком порядке Вам даны пары Y,X.Задача МНК состоит, вообще-то, в получении наименьшего RSS.



Владимир Васильев   (2002-03-15 12:50) [11]

забирай готовое решение (BSplines.zip) с
ftp://vladcommon:vladcommon@194.84.65.217

Прямой ссылки на сайт автора, к сожалению нет,
но внутри есть его E-mail.



_Mike_   (2002-03-15 13:55) [12]

TO Фэ:
про порядок точек: признаю свою ошибку, погорячился :-)



Ahd   (2002-03-15 16:25) [13]

порядок точек известен, он задеется массивом...
а через 4 точки не полоучается, я пробовал, получается ломаная,
вся проблема в том, что можно написать этот алгоритм для нескольких точек число которых заранее извесно, а вот для неизвесного колличесва точек проблемно, по условию задачи число точек колеблется примерно от 20 - 200, но это не предел, и их может быть больше...



Фэ   (2002-03-15 16:40) [14]

Выложил
ftp://ftp.pi8plus.ru/pub/download/app/win/math/spline/



JibSkeart   (2002-03-15 17:01) [15]

А вообше про сплайны можно и на сайтах DemoDesign посмотреть



Ahd   (2002-03-16 22:42) [16]

Глюки, когда кривая закончена, она почему-то начинает рисовать кривую от последней точки кривой в току экрана (0.0) хотя этого сегмента просто не должно быть, потому, что его нет!!!



Фэ   (2002-03-16 22:45) [17]

Ну а говоля на что ?
Или хочется шоб все самотеком ?
Это не мое, за что купил, за то продал.



Ahd   (2002-03-17 00:06) [18]

Да нет, та прога работает нормально...
Это моя глючит, я в той не разобрался, там слишком сложно написано, а я на Delphi програмирую всего неделю... Я сам формулу вывел, вормула работает, но почему - то хвост за собой оставляет... а к той проге претензий нет, вот только бы разобратся :) ...




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.28;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.74 MB
Время: 0.029 c
1-90978           Sam3D                 2002-03-13 14:37  2002.03.28  
Отладка в условиях нехватки ресурсов


3-90741           Turalyon              2002-03-01 09:31  2002.03.28  
InterBase 6


14-91046          DenKop                2002-02-13 00:30  2002.03.28  
ShareWare Components


14-91068          nick_vstu             2002-02-13 06:41  2002.03.28  
Так что-же значат все эти


1-90958           Alibaba               2002-03-14 17:47  2002.03.28  
Delphi-Excel