So next topic is shape manipulation. And the method we introduce here is called, As-Rigid-As-Possible Shape Manipulation. The goal of this work is to move and deform 2D shapes on the screen, as if manipulating real object. So in the real world, you can pick up an object, with your both hands, and you can manipulate it, moving around, rotate, and pull, or squash. And also you can, you know, shake his head or wave his hand and so on. So you can do many things very intuitively, using your hands on the real world. That's what we do, on a computer. And there are a couple of previous works on shape manipulation, shape deformation, but they have couple problems. The most popular approach is space-warp, using a simple function you can deform the space, and then you can deform the images in, in embedded in the space. So this is very efficient for compute. However, the resulting deformation is like warping space and the result is not very realistic. And the other possibility is use physics, or simply meant mass-spring model and others. And this is a kind of simulation with real world, so can be very realistic. While this is very slow to converge and can be very unstable, and also cannot handle contradictory configuration. So, let me show you what we do. So, again let me first describe the current state of the art. So, this is typical drawing editor. So you can, do the basic things. You can, draw something and then you can select an object. And then move it around. So, you can do it. And you can rotate, and you can also scale them. However, beyond that-if you want to, like, shake his head or swing his arm, it's suddenly become very difficult and you have to redraw everything, basically. And, here is a system we implemented. So basically the same, you draw 2- dimensional illustration, however, after you finish drawing you can use push pin tool, so you put pin here, and then you can manipulate them, by using these pins. So, if you pull this, you can pull his, his ears. Or you can you can, you know, shake his head, or make him run this way. So you can, deform the illustration very intuitively. And this is very useful for making animation. Example if you draw this kind of character. And then again, this is just two dimensional nothing special drawing. But as soon as I put push pin, then you, you can make them deform, as if this is a physical object. And then, you can also press leg hold, [SOUND] to make motion. And then, in this way. So you can easily make him run. And also you can drag him around, and you can get an interesting animation very quickly. Traditionally, if you want to make this kind of animation, you have to draw many, many drawings. But here you can just draw something, and then move him around, and you will get an animation. And here's an example. Again, nothing special. Just 2D drawing. But we can press push pin, and press record, and then you can get this kind of animation. A kick, and kick. And then you can draw something else here, [SOUND] and press record. And you can get this kind of animation. So of course, this is not designed for professional animations, but we can quickly generate interesting stories with this kind of technique. Let me show you one more example. So, suppose you have a worm here And then let’s flood-fill. And then let's put push pins, and then press record, and one and two. [SOUND] So in this way you can make a crawling worm very easily. And then of course, it's a computer so you can multiply them very quickly, and you can make an army of worms. And so far, I only used hand drawings. But the algorithm is basically just a shape deformation. And you can apply the same technique for images, so this is again just a two dimensional image, photograph. But if you put push pins, then it starts to move as if there is a physical 3D object here, and then you can easily generate interesting animations. [SOUND] And so far, I have been showing just mouse operations, but if you have two hands, you can do more. For example here, you have two handed mouse, and then, two handed mice, so, then you can grab screen with your two hands and then moving around, and rotate, and deform. And if you have a multi-touch device, here we use Sony computer science research laboratories SmartSkin system, and it can detect your fingertips. And you can directly grab object on the screen, and manipulating them as if you have a, physical object. So, this is very new way of making an deformable object animations. [BLANK_AUDIO] So you can use both hands. Also, two people can work together. [SOUND] And a little bit more. So, so far, I showed deformation of a region- or shape but you can also apply the same technique for the deformation of a curve. So suppose, you have a curve this way and you can grab a curve and then deform it this way. And if you pull more and more, and you get a larger region will be deformed. And then you pull more, and you can deform the entire shape. [SOUND] And finally, this is not very essential, but we, another convenient operation is. smoothing. So this smoothing will remove small noise, and then after you rubbing, then you will eventually get a very beautiful shape. So by combining this pulling and smoothing, you will get a very professional looking smooth illustration, just by starting from a rough sketch. [SOUND] So okay. So now, let me briefly describe the algorithm behind this technique. So here this is our input. And then this is output. And traditional approach is as I said is physical simulation. So, moving the handles, and it tries to deform the shape a little bit by little, by computing force, and acceleration, And so on, but it’s kind of step by step computation and it can be very slow. Here what we propose is a kind of instant computation. Or final results from this kind of input information. So input information is initial rest shape. And handle positions. [SOUND] And then target locations of handles. And then we compute the final result. And what we do is minimize shape distortion, satisfying constraints. So let me describe a little bit more. So again, input is coordinates of handles so new handle positions. And then output is coordinates of mesh vertices or free vertices. So these are the input and the system computes all these other vertices. And what we do is to minimize distortion of triangles. So there are many possible mesh vertex positions. But one particular shape, minimize the distortion of individual triangle. Here, in this blue, blue triangle, corresponds to this triangle, and then we try to find the shapes that minimize the deformation or distortion of these triangles, so that's a problem we want to solve. And mathematically, this is defined like this. So what we did is to minimize, this function, so this function is for each triangle t, we compute deformation for distortion, depending on the given by a vertex position. And then we aggregate all the defor- distortions. And then, we try to find mesh vertex positions that minimize this energy. And what we want is energy function. Specific definition of it that codes no cost. For translation and rotation. Translation means moving around, and rotation is rotation. So these are called rigid deformation because there is no deformation to this guy. And in this kind of rigid deformation, there should be no energy. However, if you scale, make bigger or smaller. Or stretch or press here, if you cause this kind of deformation to triangle, it should be a cause an energy. So we need very particular energy or cost function or distortion metric that satisfies this constraint. Another important requirement is that E. Energy, or cost, should be quadra-, quadratic in u. Which means if u, if this energy is a quadratic to u, then its derivative is linear. So you can solve instantly by solving si-, simultaneous linear equations. So that's what we want. So again, ideally we want very specific energy functional, and that causes zero energy for translation and rotation, but costs energy for scale, stretch or shear. Unfortunately, we don't have it. So there's no such energy in this world for quadratic energy. So we therefore combine two complementary sub-optimal energies. So here's a description. So ideally, we want to have this. But in this world, what we have is only Two kinds, so E1 and E2. So E1 is basically, similarity transform. It supports translation and rotation, but also scales and then causes no energy but it can detect stretch and shear, so this is kind of lose energy. And another E2 is more strict energy. It only allows translations, no rotation, no scaling, no stretch, no shear. And then we can have quadratic function. So E1 is a little bit too relaxed. E2 is too little bit strict. So we combine these two. So what we do is first apply E1. And then scale is wrong and we then apply E2 to fix the scale. So, here's what we works. So for the input positions, we first obtain an intermediate result, like this one, by using energy, E1. And the, in this case E1. Appropriate the handles minimize the, shearing and scaling- shearing and stretching, but scaling is allowed. So you get this kind of inflation in this, you know left arm. And then after step 1, we correct the size of individual triangle and then we use energy two, to get the correct answer. So that's the algorithm and, refer to the paper for the details of these energies. So original paper is published as As-Rigid-As-Possible Shape Manipulation, at SIGGRAPH 2005. And please see this paper to see the details of the energy definition. And as I said, previous existing technique is popular one- space-warp. And the representative work is called feature based image metamorphosis. Published in 1992. And our technique is using segregation of triangular elements. And this work is inspired by As-Rigid-As-Possible Shape interpolation technique published in 2000. And also, our work is related to recent works on shape deformation. And I recommend that you to take a look at this survey paper called on linear variational surface deformation methods. Published in, 2008. So that’s it.