Witam wszystkich - jest to mój pierwszy wpis, mam nadzieję, że umieszczam go we właściwym miejscu.
Sprawa wygląda następująco - robię programik, który na podstawie jakiś tam próbek ma tworzyć linię (akurat na wykresie), który sobie można za pomocą WWW zobaczyć, przybliżyć, oddalić itp itd.
O ile samo wykonanie nie jest problemem, to rysowanie już tak. Problem jest taki że tych punktów jest masa, dla danych z miesiąca jest tyle, że np IE nie wyrabia,a przy większej ilości pewnie i inne przeglądarki przestałyby wyrabiać. Dlatego też wymyśliłem sobie, że pewnie można ten zbiór punktów jakoś tak "obrobić", żeby ograniczyć go do niezbędnego minimum, a i tak ładna będzie linia.
Z matematyki jestem słaby, dlatego proszę o pomoc.
Założenia są takie, że linie na wykresie mogą być liniami prostymi lub łukami. Do dyspozycji mam funkcje które rysują linie(od punktu, do punktu) albo łuki o określonych parametrach.
Wejście
np 30 tyś punktów pobranych z bazy danych chronologicznie
Na wyjściu chciałbym osiągnąć np taki efekt
1,1 - 1,10 - linia
1,10-10,5 - linia
10,5 - 10,8 - łuk o zadanych parametrach
10,8-10,10 - linia
Problem polega na tym, z czego skorzystać aby to osiągnąć
- jak szybko, bez sprawdzania każdego z każdym,wykryć współliniowość(a nawet współliniowości) w danym zbiorze
- jak wykryć że pewien podzbiór (podzbiory) tworzą łuk i jak określić parametry tego łuku na tej podstawie
- a może cały zbiór można jakoś przybliżyć, znajdując punkty charakterystyczne (jak takie punkty znaleźć)
poruszam się całkowicie po omacku i nie wiem z czego i jak skorzystać, od czego zacząć, nie chodzi mi o gotowy wzór czy jakiś przepis, ale o wskazówki co jak i w jakim zakresie z tego można skorzystać, aby coś zacząć potem ewentualnie się dopytać bardziej szczegółowo, ewentualnie odpowiedź czy jest to możliwe czy się da taki wynik na podstawie takich danych dostać, a jeśli nie to, co można zamiast tego uzyskać.
Z góry dziękuję za odpowiedzi