Advertisement
wandrake

Untitled

May 15th, 2012
283
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.40 KB | None | 0 0
  1. Vorremmo che tutto questo sia in qualche modo dichiarativo, e che sia basato
  2. su componenti di base che è possibile connettere con operatori di composizione.
  3. Vorremmo inoltre che il comportamento sia associato sia all'intero gesto, ma anche
  4. nei vari sottocomponenti.
  5.  
  6. Come modelliamo gli eventi a basso livello?
  7. Come una proprietà osservabile (feature) f \in \mathbb{R}^n
  8. Il supporto ai gesti come insieme di feature, che può essere visto come
  9. un unico vettore con dimensione la somma di tutti i vettori che rappresentano
  10. le feature. G_s = {f_1 .. f_k}
  11. Lo stato di supporto dei gesti, ossia il valore delle feature ad un certo
  12. tempo G = {f_1(t_n), ..., f_k(t_n)}
  13.  
  14. - Eventi a basso livello definiti come eventi ground, con eventuali condizioni
  15. come stato di supporto.
  16. - I seguenti operatori di composizione:
  17. Iterazione: riconosco il gesto infinite volte G*
  18. Sequenza: scompongo il gesto in gesti in sequenza G_1 >> G_2
  19. Parallelo: il gesto si compone da due gesti in contemporanea G_1 || G_2
  20. Scelta: il gesto si compone O da un gesto O da un altro G_1 [] G_2
  21. Disabilitazione: Il gesto si compone di un gesto che viene interrotto da un
  22. altro gesto G_1 [> G_2 (G_2 interrompe G_1)
  23. Order indipendence: tutti i gesti che compongono questo operatore devono
  24. essere eseguiti, non importa in che ordine (ad esempio per descrivere il
  25. gesto che prevede due tocchi da qualche parte, quindi, so solo che devono
  26. esserci due tocchi, ma non fisso l'ordine). G_1 |=| G_2 |=| ... |=| G_n
  27.  
  28. Cosa ci facciamo ora?
  29. Possiamo cominciare a modellare il multitouch:
  30. features:
  31. - p_i: posizione 2D di n tocchi, in coordinate in pixel
  32. - Se il tocco non è stato ancora rilevato un valore di default (\bottom, \bottom)
  33. - Scorrere del tempo
  34.  
  35. i termini ground del multitouch:
  36. Start_t = p_i[p_i(t-1)=(\bottom, \bottom) \cap p_i(t) \not =(\bottom, \bottom)]
  37. Move_t = punto prima definito poi ancora definito
  38. End_t = punto prima definito e poi non definito
  39.  
  40. Deviniamo quindi il
  41. tap: Start_i >> End_t (sequenza)
  42. double tap: Start_i >> End_i >> Start_i[pos \cap timeDiff] >> End_i
  43. Pan: Start_i >> Move_i* [> End_i
  44. Slide: Start_i >> Move_i[linear \cap speed] >> End_i
  45. Pinch: (Start_i |=| Start_j) >> (Move_i* |=| Move_j*) [> (End_i |=| End_j)
  46. Rotate: (Start_i |=| Start_j) >> (Move_i[circular]* |=| Move_j*[circular]) [> (End_i |=| End_j)
  47.  
  48. Letteratura: Kin et al. "Proton: Multitouch Gestures as Regular Expressions"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement