rysowanie w delphi

0

witam
zgłaszam sie po poradę z następującym probleme - napisałem program który generuje plik z próbkami pewnego sygnału zapisanymi w formacie
czas próbki amplituda próbki dodatkowy parametr
0.000000 1.093624 3
0.003906 1.051212 0
0.007813 0.940928 0
0.011719 0.777261 0
0.015625 0.580486 0
0.019531 0.372268 0
0.023438 0.171853 0
potem w tym samym programie chciałbym je narysować i tu pojawia się problem gdyz nie wiem jak to zrobić. mój pomysł był taki zeby każda próbka była rysowana w kolejnym pikselu na osi x ale wtedy nie oddaje to skali czasu i wszystko jest nienaturalnie rozciągnięte na osi x...dodatkowo kiedy wygeneruję dużą liczbe próbek (nawet do 65536) to wykres robi się nienaturalnei długi a poprzez rozciągnięcie skala czasu jest nie do odczytania... wobec tego moje pytanie - czy ktoś z szanownych forumowiczów ma moze pomysł jak to jakoś lepiej narysować na obiekcie Image żeby w miare zachować skale czasu? próbowałem nawet oprzeć się na algorytmie funkcji PLOT z pakietu MATLAB ale okazało sie ze to funkcja wbudowana i nie udało mi sie nic podejrzeć. jeśli moge to prosze o podpowiedzi, za które serdecznie z góry dziękuję...
pozdrawiam malcziki

0

W delphi 7 Enterprise mam komponent TeeChart. Posiada on kilka opcji dla dużych wykresów. Jedna z nich to podział na strony, np. ustalasz, że na raz będzie widoczne 20 punktów. Druga opcja to scroll za pomocą scrollbara.

0

ustalasz, że np. 1 (sekuda?) to 100px. Z tego wynika, że najmniejszy odstęp między próbkami, które możesz narysować to 0.01. Teraz grupujesz Twoje próbki tak
czas próbki amplituda próbki dodatkowy parametr
I
0.000000 1.093624 3
0.003906 1.051212 0
0.007813 0.940928 0
II
0.011719 0.777261 0
0.015625 0.580486 0
0.019531 0.372268 0
III
0.023438 0.171853 0

i możesz jako "wiodącą"
a) wybrać próbkę ze środka przedziału
b) wybrać próbkę z największą amplitudą
c) uśrednić ich amplitudy

Tak samo przy zoomie - np. przy 10x masz 1 (sekunda?) = 10px więc najmniejszy interwał jaki możesz zaznaczyć to 0.1 a przy zoomie 0.1x masz 1 (sekunda?) = 1000px, czyli najmniejsza amplituda to 0.001

0

witam
dziękuje za podpowiedzi rozwiązań - na początek zajmę się propozycją 1 sek = 100 pix gdyż wydaje sie łatwiejsza, natomiast potem spróbuje zaopatrzyć się w Delphi 7 i zobaczyć ten moduł, który był wspomniany we wcześniejszym poście
pozdrawiam malcziki

1 użytkowników online, w tym zalogowanych: 0, gości: 1