On 13may19 I made a video using Mohammad Amanzadeh's evolving portfolio of components for his thesis project, which is an API for building real-time interactive computer animations (RTICA) to study intentional human body movements. The subject of the video is to illustrate choreographic teaching and learning using real-time interactive computer animation.
Please play the movie and then read its story.
As our movie opens, a well tanned Jim Blinn blobby woman on the left simulates a ballet teacher in her icosahedral tutu who teaches her student, the blue blobby man on the right, how to pirouette.
Her performance is not the real thing. It too is a simulation of the real Canadian ballerina Alexandra McDonald demonstrating the figure. It was reconstructed by hand with Mohammad's blobby building tool. I corrupted it, just a little, using his animation editor to make the video. Did you notice?
The blue student on the right experiences her lesson as a skeleton impression of his teacher. Note that when she bows her head in gratitude for your applause, he misses this in sheer exhaustion of trying to mimic her difficult poses. He's a real klutz and is never going to learn! A minute into the effort, and he has gotten a bit better by then, he realizes that the trick is to internalize her phantasm. This is represented by superimposing her skeleton upon himself.
By two minutes the student pretty much has it down right, doesn't he? Well he doesn't look like the tanned teacher on the left exactly, but matches his skeletal impression of her fairly well. I think that by the end he's fallen a little bit in love with his talented, voluptuous teacher, or at least with his impression of her.
Actually, nothing of the sort happened. It's all in the narrator's impression of watching the movie. In fact, at the beginning the student interpolates very few samples of his teacher's movement (i.e. splines a sparse set of sample key-poses) and therefore makes many mistakes. The spline is a simple-minded Catmull-Rom cardinal interpolation of the key-pose data. As the student takes more samples, his performance improves, of course!
The convergence strategy is the same throughout. For now it's just a primitive pursuit algorithm starting from the student's last pose at the beginning of the current time interval to the next skeletal pose at its end. Superimposing the two blobbies let's you estimate the goodness of fit.
Moral of this story
As each component of these two programs are replaced by more sophisticated algorithms, and the user-interface is improved to permit more adept manipulation, this appliction will permit quick, visual evaluation of these components. The goal is to use fewer keyposes, and less accurate information but still achieve satisfactory performance by the student using his "learned habits".
Dirty information might, for example, consist in suppressing the depth coordinate, as in viewing a video, or using a Kinect camera with poor depth inference. Wait! Didn't Mohammad build the teacher while watching a 2D movie?! A multilayer neural net would simulate error correcting "learning habits" in the student.
Or not. We'll see.