Figure 4.12 – Slow start, rotated 90o counter clockwise. Trajectory A Figure 4.13 – Slow start, rotated 90o counter clockwise. Trajectory B d) Slow start, an 180o counter clockwise rotated trajectory – same as sequences on c), but the trajectory has been rotated 180o counter clockwise. Figure 4.14 shows the chain code generated for these trajectories, as well as the values of similarity for both algorithms. Figures 4.15, and 4.16 show the trajectories. Figure 4.14 – Slow start, rotated 180o counter clockwise. Chain Code and Similarity values Figure 4.15 – Slow start, rotated 180o counter clockwise. Trajectory A Figure 4.16 – Slow start, rotated 180o counter clockwise. Trajectory B e) Slow start, a 270o counter clockwise rotated trajectory – same as sequences on c), but the trajectory has been rotated 270o counter clockwise. Figure 4.17 shows the chain code generated for these trajectories, as well as the values of similarity for both algorithms. Figures 4.18, and 4.19 show the trajectories.
User performance can be sent to his physician via Internet (Output Module), and get feedback from him in “real time” (Input Module). Exercises based on LABANotation can be shared using these modules. Administration of LABAN files (LABAN Files Module) and System generated files (User Files Module) is going to be handled by a System’s database. Figure 6.1 – Proposed Design for HTMR System Architecture 6.2 - Blocks and Modules Description GUI HMTR SYSTEM System Graphical User Interface (GUI) will allow interaction between user and the system. Standard menus for handling files -i.e. reading, saving, etc.-, and setting parameters –i.e. camera angles, timing for simulation, etc.-, will be available. Human motion simulations based on the LABANotation and the user will be shown. LABAN SIMULATION BLOCK This block deals with the simulation of the LABANotation. Modules: Read Input Files – This module will read files created by LABAN Writer software
Matching User’s performance vs. Model Once User is to do the exercise, he interacts with GUI HMTR System (1) to run the simulation. GUI HMTR System (1) triggers LABAN Simulation Module (3c), for Model simulation, and User Simulation Module (5e), for User simulation. LABAN Simulation Module (3c) starts Model simulation, and User Simulation Module (5e) interacts with Read Sensors Module (5a) and Mapping Module (5b) to read data from User. Sampling Module (4a) begins to sample both LABAN Simulation Module (3c) and User Simulation Module (5e) to perform the analysis of similarity. Messages regarding user performances are generated by Messages Generator Module (4b), and then sent to GUI HMTR System (1) so they can be shown to User. Scenario TWO: GETTING A NEW EXERCISE FROM USER’S DOCTOR AND PERFORMING THE EXERCISE Getting the new exercise from Doctor User interacts with GUI HMTR System (1) to get the new exercise from his Doctor. Here we assume User already knows that such notification has been sent. GUI HMTR System (1) interacts with Communications Block (6), and this block establishes a communication with the Doctor to get the new exercise using Input Module (6a). Loading exercise from input file based on LABANotation
User interacts with GUI HMTR System (1) to select the desired exercise. GUI HMTR System (1) requests to load the exercise from DATABASE (2), which uses its LABAN Files Module (2a). LABAN Files Module (2a) sends the information to LABAN Simulation Block (3) where it is read by Read Input Files Module (3a). Configuring HMTR System for Model Simulation User interacts with GUI HMTR System (1) to enter required settings for model simulation, i.e. type of figure he wants, camera to be used, timing for the simulation, naming the file where performance is going to be saved, etc. GUI HMTR System (1) interacts with LABAN Simulation Block (3) who uses its Animation Settings Module (3b) to accomplish this process. Configuring sensors for use User wear sensors and interacts with GUI HMTR System (1) for the initialization process. GUI HMTR System (1) interacts with User Simulation Block (5) to get this process done. Read Sensors Module (5a) reads from the sensors, Mapping Module (5b) will map that input data into 3D ChainCode system data, which is sent to User Configuration Module (5c) as part of this process. Once that process is done, User Configuration Module (5c) will sends a signal to GUI HMTR System (1) so User knows that he is ready to perform the exercise. Matching User’s performance vs. Model Once User is ready to do the exercise, he interacts with GUI HMTR System (1) to run the simulation. GUI HMTR System (1) triggers LABAN Simulation Module (3c), for Model simulation, and User Simulation Module (5e), for User
Configuring sensors for use User wear sensors and interacts with GUI HMTR System (1) for the initialization process. GUI HMTR System (1) interacts with User Simulation Block (5) to get this process done. Read Sensors Module (5a) reads from the sensors, Mapping Module (5b) will map that input data into 3D ChainCode system data, which is sent to User Configuration Module (5c) as part of this process. Once that process is done, User Configuration Module (5c) will sends a signal to GUI HMTR System (1) so User knows that he is ready to perform the exercise. Matching User’s performance vs. Model Once User is ready to do the exercise, he interacts with GUI HMTR System (1) to run the simulation. GUI HMTR System (1) triggers LABAN Simulation Module (3c), for Model simulation, and User Simulation Module (5e), for User simulation. LABAN Simulation Module (3c) starts Model simulation, and User Simulation Module (5e) interacts with Read Sensors Module (5a) and Mapping Module (5b) to read data from User. Sampling Module (4a) begins to sample both LABAN Simulation Module (3c) and User Simulation Module (5e) to perform the analysis of similarity. Messages regarding user performances are generated by Messages Generator Module (4b), and then sent to GUI HMTR System (1) so they can be shown to User. Additionally, we assume User selects “saving performance into a file” option. By choosing that option, performance User is saved during simulation using Output File Module (5d) of User Simulation Block (5). Sending data to user’s Doctor
[42] Ernesto Bribiesca, Wendy Aguilar, "A Measure of Shape Dissimilarity for 3D Curves," Int. J. Contemp. Math. Sciences, Vol. 1, 2006, no. 15, 727-751. [43] Stan Salvador, Phillip Chan, “FastDTW: Toward Accurate Dynamic Time Warping in Linear Time and KDD Workshop on Mining Temporal and Sequential Data, pp. 70-80, 2004. [44] Lars Wilke, Tom Calvert, Rhonda Ryman, Ilene Fox, “From Dance Notation to Human Animation: The LabanDancer Project: Motion Caption and Retrieval,” Journal Computer Animation and Virtual Worlds, CASA 2005, Vol. 16, Issue 3-4, pages 201-211 [45] Robert Pawlowski, Bozena Malysiak-Mrozek, Stanislaw Kozielski, Dariusz Mrozek, “Fast and Accurate Similarity Searching of Biopolymer Sequences with GPU and CUDA”, ICA3PP 2011, Part I, LNCS 7016, pp. 230-243 Appendix A – Algorithm for mapping 3D data sets into chain codes representing orthogonal changes of direction GenerateChainCode(list3Dpoints) Create orthogonal vectors u and v While there are 3D points in list3Dpoints A = this 3D point B = next 3D point If distance between A and B < step size Then chainCode = chainCode + '.' While there are 3D points in list3Dpoints B = next 3D point If distance between A and B > step size Then break loop EndIf chainCode = chainCode + '.' EndWhile If no 3D points in list3Dpoints Then loop EndIf Else While intersection of AB in any of the current cube's planes Create vector w If w = v Then chainCode = chainCode + '0' Else If w = u x v Then chainCode = chainCode + '1' Else If w = u Then chainCode = chainCode + '2' Else If w = - (u x v) Then chainCode = chainCode + '3' Else If w = - u Then chainCode = chainCode + '4'