From 5abd33f31af910fe1cbdd270bbd2c1342799b576 Mon Sep 17 00:00:00 2001 From: Henrik Rydberg Date: Tue, 10 Aug 2010 17:26:56 +0100 Subject: change rotation units to angles Use angle units, such that a complete revolution corresponds to 2 pi. Signed-off-by: Henrik Rydberg --- src/grail-gestures.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/grail-gestures.c b/src/grail-gestures.c index 1d49765..be53cc0 100644 --- a/src/grail-gestures.c +++ b/src/grail-gestures.c @@ -69,7 +69,7 @@ static float compute_rotation(float x, float y, float r, const struct touch_frame *frame) { int i, n = frame->nactive; - float da = 0, da2 = 0; + float da = 0, darc2 = 0; if (n < 2) return da; for (i = 0; i < n; i++) { @@ -79,10 +79,10 @@ static float compute_rotation(float x, float y, float r, float dy = t->prop[TP_POS_Y] - y; float mx = t->prop[TP_POS_X] - ot->prop[TP_POS_X]; float my = t->prop[TP_POS_Y] - ot->prop[TP_POS_Y]; - da2 += dx * my - dy * mx; + darc2 += dx * my - dy * mx; } - da2 /= n; - da = da2 / r; + darc2 /= n; + da = darc2 / (r * r); return da; } @@ -150,7 +150,7 @@ void gru_init_motion(struct grail *ge) D[FM_X] = max.x - min.x; D[FM_Y] = max.y - min.y; D[FM_R] = sqrt(D[FM_X] * D[FM_X] + D[FM_Y] * D[FM_Y]); - D[FM_A] = D[FM_R]; + D[FM_A] = 2 * M_PI; for (i = 0; i < DIM_FM; i++) { m->fm[i].fuzz = D[i] / FM_SN[i]; m->fm[i].bar = D[i] / FM_BAR[i]; -- cgit v1.2.3