![]() As soon as a developer is confident that the results of the development are working, the code/application is transferred to the tabletop system where the application is tested and debugged. #Multitouch software simulator#Khandkar et al illustrate the development workflow of tabletop applications as illustrated in Figure 5: The actual development of the application is carried out on a desktop computer where the results are tested and debugged with the help of a simulator application. The TUI callback system is illustrated in Figure 2 in the lower half. On the other hand, TUIO AS3 provides a global callback approach: If an application always wants to react on a certain tangible in the same way, it can register a callback for that tangible. A FiducialEvent contains the fiducial id (a fiducial id stands for a certain type of tangible), the position and the rotation of the tangible. This means that if any tangible has been placed on top of an UI element, a FiducialEvent will be dispatched onto the UI element. For tangible interaction, two approaches can be employed in TUIO AS3: On one hand, an UI element can listen on fiducial events and can react appropriately on them. The momentum depends on the element’s velocity at the moment of release. 3.2.3 Na ̈ ıve Physics Na ̈ ıve physics properties can be added to an UI element by adding FlickControl to the element’s TouchControl : FlickControl uses an UI element’s momentum as a physical behavior causing an element to keep on floating after it has been released. To alleviate the task to create own gestures, abstract base gesture classes are provided that allow to base gestures upon: For instance, a two finger move gesture is provided on which a two finger rotate or scale gesture could be based upon. The gesture ends when any of the three touches A, B or C is lifted. Event: TOUCH UP, containerAlias:’C’, die:true To perform a three finger move gesture, the first three rules must be satisfied: As soon as three different touches are moved simultaneously, they will be labeled with the alias A, B and C and the three finger move gesture starts. Event: TOUCH UP, containerAlias:’B’, die:true 6. Event: TOUCH UP, containerAlias:’A’, die:true 5. A simple grammar allows to define own gestures: All that needs to be done is to declare the order of events for instance for a three finger move gesture: 1. Figure 4 exemplifies a few complex gestures: Number 1 shows a one finger down one finger move gesture, Number 2 a two finger tap and Number 3 a two finger swipe gesture. 3.2.2 Complex Custom Gesture Interactivity Gestures that should be tracked globally in an application can be registered with a GestureManager in TUIO AS3. ![]() As interaction is only calculated locally, the necessity to globally calculate potential interaction is circumvented. Hence, a TouchControl of each UI element administrates a touch list that can be used by other controls like the MultifingerControl. For standard gesture interactivity a MultifingerControl must be added: If TUIO AS3 would be based on a purely event driven model (for instance if drag, scale and rotate events would be globally dispatched on UI elements) TUIO AS3 would need to calculate every potential kind of gestural interaction for every combination of touches in the application for every UI element. To a TouchControl another control can be added. From a development point of view, standard gesture interactivity can be used with every UI element that uses the TouchControl provided by TUIO AS3. ![]() For instance a user could rotate an UI element by turning the index and middle finger of both hands on the element. However, other gestures are conceivable to perform such gestures. Similar to two- finger interaction, dragging can be performed by moving both hands at once, scaling by moving both hands away from or towards each other and rotation by moving both hands in a circular fashion. The third example demonstrates two- handed interaction: Additionally to the barycenter between the hands, the barycenters of the single hands have been drawn for illustration purposes. The second example shows whole-hand interaction: By placing a whole hand on an UI element, the element can be dragged by moving the hand, scaled by spreading the fingers and rotated by turning the hand. Scale and rotate gestures can be carried out with the usual two-finger gestures. If both fingers are placed on top of an UI element, a dragging gesture can be performed by moving both fingers at once in the same direction. Figure 3 shows the flexibility of the standard interaction model: The first example illustrates two touches t 1 and t 2 that perform a standard two-finger gesture with the barycenter c between them. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |