Obliaczmy myszke ;)

0

Jak policzyć prędkość myszki? jej przyśpieszenie , przemieszczenie ... po czasie np 400ms? Dodatkowo żeby za myszką rysował się czarną linią tor ruchu myszki... a po tych 400ms znikał pojawiał się powiedzmy messagebox z danymi i po kliknieciu ok znowu tak samo? ... ktoś ma jakiś pomysł? z góry dzięki ...

0

Użyj np. TTimer...
złap pozycję kursora i zapisz do zmiennej (ych). [X1]
uruchom Timer z Intervałą na 400ms.
W timerze jeszcze raz łapiesz pozycję myszy. [X2]

Teraz tak:
[ gdyby się ktoś nie domyślił, to /\ - delta (zmiana wartośći) :) ]
/\X = X2-X1 (może być ujemne, więc wartość bezwzględna)
/\Y = Y2-Y1 (-------------||-------------)

prędkość v = /\s / t;
t = 400ms
s = droga (/\X lub /\Y)

a przyśpieszenie a = /\v / t^2 [ale żeby to policzyć, trzeba też zapisywać prędkość do zmiennej]

wzory słownie:

prędkość = przemieszczenie [droga] / czas w którym to przemieszczenie nastąpiło

przyśpieszenie: = zmiana prędkości / czas w którym ta zamiana nastąpiła

PS> chyba troche namiezzałem, ale moze dojdziesz

0

Czas lepiej liczyć za pomocą gettickcount, bo timer nie zawsze jest dokładny.

W sumie tak, ale można zapisywać za każdym odpalniem OnTimer aktualny czas w zmiennej i sprawdzać prawdziwą różnicę czasu.

Właśnie to miałem na myśli, bo z samym gettickcount byłoby trudno :).

0

Sorki, że się wtrącę, ale się uczyłem przed chwilą fizyki i muszę coś napisać bo "tutaj ty mi jakieś brednie brzęczysz!" [mój fizyk]. A wielu już u mnie w klasie za pomyłki jednyki dostało to jestem wyczulony :)

Chodzi o to, że we wzorach podanych powyżej nie występuje prędkość, a szybkość. Za to się kołki sypały. Prędkość to wektor, a szybkość to wartość tego wektora (co wynika z pewnego dowodu), czyli to co nas w tej chwili interesuje.

Prawidłowy wzór V=/\S / /\t oznacza, że szybkość (średnia) to stosunek drogi przebytej przez ciało do czasu w którym ta droga zostala przebyta.

Koniec dygresji.

TTimer będzie dobrym rozwiążaniem tylko odpalony w oddzielnym wątku, aby ten czas w miarę liczony był dokładnie. A pobranie pozycji kursora masz chyba w FAQ.

0

Czas lepiej liczyć za pomocą gettickcount, bo timer nie zawsze jest dokładny.

W sumie tak, ale można zapisywać za każdym odpalniem OnTimer aktualny czas w zmiennej i sprawdzać prawdziwą różnicę czasu.

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