Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Rysowanie wykresów

Ostatnio zmodyfikowano 2012-10-11 10:31
Autor Wiadomość
Badman
Temat założony przez niniejszego użytkownika
Rysowanie wykresów
» 2012-10-10 10:39:12
Zamierzam napisać programik rysujący wykres danych archiwalnych, powiedzmy 100 milionów próbek.
Wiadomo, że na ekranie będę przedstawiał wąski zakres próbek, zakładam że 1000, więc bufor będzię na 1000 próbek. Sprecyzujmy próbka będzię miała parametry x, y, czyli będzię tablicą probka[1000][1000], do której będą wstawiane dane z pliku z danymi archiwalnymi. Zakładam, że do zmiany zakresu danych będzię użyty suwak, jego zmian będzie powodowała doczytanie danych i odpowiednio wypełnienie tablicy.
Zastanawiam się w jaki sposób to zrealizować. Myślę, żeby utworzyć 3 tablice:
probka_poprzednia[1000][1000]
probka[1000][1000]
probka_nastepna[1000][1000]

Przy starcie programu tablice probka_poprzednia i probka zawierają te same dane, a próbka probka_nastepna wypełniona 1000 danych kolejnych. Kiedy zostanie przesunięty suwak na + dane z tablicy  probka_nastepna zostaną skopiowane do probka, a danę bedące w probka przed kopiowaniem do probka_poprzednia. Analogiczna procedura kiedy suwak zostanie przesunięty na -.
Teraz pytanie czy to ma sens ? Idealnym rozwiązaniem byłby krok o 1000, lecz zakładam, że może być mniejszy, bądź większy.

Może ktoś ma jakieś materiały nt. rysowania wykresów.
P-66552
starter
» 2012-10-10 15:10:52
chodzi ci o coś typu mam pomiary temperatury(np.) w czasie i chcesz narysować z tego wykres?
P-66559
DejaVu
» 2012-10-10 19:47:41
1. Nie używaj tablic o stałych wielkościach (zalecam std::vector).
2. Rysowanie wykresu jest banalne - jeżeli rysujesz wykres liniowy to łączysz "poprzednią wartość" z "aktualną wartością".
3. Jeżeli rysujesz wykres słupkowy - wykorzystujesz tylko i wyłącznie "aktualną" wartość".
4. Dane organizuje się ZAWSZE w postaci jednowymiarowej tablicy (tj. jeden wykres = jedna tablica z danymi).
P-66580
crash
» 2012-10-11 00:07:45
Przychodzi mi taki pomysł jeszcze, byś użył dwóch suwaków. Jeden suwak jest od powiedzmy 100 do 1000. Ustawia on, o ile drugi suwak zmniejsza się / zwiększa od zero do liczby określającej rozmiar bazy. Przyda się takie rozwiązanie do regulowania precyzji wyświetlania wykresu
P-66604
Badman
Temat założony przez niniejszego użytkownika
» 2012-10-11 07:10:37
@starter: właśnie tak !

@DejaVu: hmm, only C. Być może już nie długo przekonam się do obiektówki, tym bardziej jak napisałeś to std::vector.
Ad 4. Hmm, kwestia przemyślenia...
P-66617
RazzorFlame
» 2012-10-11 07:58:48
Przeczytaj o czyms takim jak tablice dynamiczne
P-66618
Badman
Temat założony przez niniejszego użytkownika
» 2012-10-11 10:31:12
Wiem co to są tablice dynamiczne !

Może powinienem napisać 100 miliardów próbek i każa próbka zajmuje 1 MB danych :)
Nie potrzebuje dynamicznie alokować pamięci, ponieważ zakładam że na ekranie w jednej chwili max. może zostać 1000 pomiarów/próbek, przyjmyje że roździelczoś ekranu nie pozwoli na zobrazowanie większej ilośći.
P-66620
« 1 »
  Strona 1 z 1