0:03

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 to interact with it, using your hands on the real world.

That's what we do, on a computer.

0:42

And there are a couple of previous works

shape, manipulation shape deformation, but they have couple problems.

The most popular approach is space walk, using a simple function you can 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 swapping

space and the result is not very realistic.

And the other possibility is use physics,

or simply meant mass spring water 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,

1:36

So, again let me fast describe of the current state of the art.

So, this is typical drawing generator.

So you can, do the basic things.

You can, draw something

1:51

And then move it around.

So, you can do it.

And you can rotate, and you can also scale them.

However, [UNKNOWN] if you want to, like, shake his head or swing

his arm, it's suddenly become very

difficult and you have to redraw everything,

2:10

basically.

And, here is a system we implemented.

So basically the same, you draw three 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 [UNKNOWN].

And this is very useful for making animation.

Example if you draw this kind of character.

2:51

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

they're moving 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, a 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 is here, have a worm here.

And then that's a frog fill.

And then let's and then let's put push pins,

and then for a select code, 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

the main very quickly, and you can make an army of worms.

4:53

And so far, I only used hand drawings.

But [UNKNOWN] is basically just a shape to formation.

And you can apply the same technique for images,

so this is again just a two dimensional image, photograph.

5:09

But if you put push pins, then it starts to move as if there is a physical 3D

object here, and then you're going to 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 a little bit and deform.

5:44

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.

6:22

So you can use both hands.

Also, two people can work together.

[SOUND] And a little bit more.

So, so far, I showed the deformation of a lesion but shape but

you can also apply the same technique for the deformation of a car.

So suppose, you have a cob this way and you

can grab a cob 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.

A traditional approach is as I said is physical stimulation.

So, moving the handles, when it tries to deform.

7:48

Say a little bit by little, by converting fours.

In acceleration.

And so, for this kind of a 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 lets the 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 and new handle positions.

And they output this coordinated mesh vertices or free vertices.

So these as I input on the system copies all these other vertices.

And what we do is we minimize the distortion of triangles.

So there are many possible mesh particle positions.

But one particular shape, minimize 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.

9:07

And mathematically, this is defined like this.

So what rate is to minimize, this function, so this function

is what is triangle t, we compute the formation.

For distortion, depending on the given by a products position.

And then we aggregate [UNKNOWN] distortions.

And then, we try to find mesh [UNKNOWN] positions that minimize this energy.

9:38

And what we want is energy function.

Specific definition of it that holds no cost.

For translation and rotation.

Translation means moving around, and rotation is rotation.

So these are called alleged deformation because

there is no deformation to this guy.

And in this kind of alleged deformation, there should be no energy.

However, if you scale, make bigger or smaller.

Or stretch or press here, if you cause this kind

deformation to triangle, it should be a cause of energy.

So we need very particular energy or cost

function or distortion [UNKNOWN] that satisfies this [UNKNOWN].

Another important requirement is that E.

Energy, or cost, should be quadra, quadratic in you.

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.

10:51

So okay, ideally we want the [UNKNOWN] functional, and that causes zero energy

for translation or rotation, but [UNKNOWN] energy for scale, stretch or shear.

Unfortunately, we don't [UNKNOWN].

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.

11:27

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 to a little bit strict.

So we combine these two.

So what we do is fast apply E1.

And their scale is wrong and they're waiting www E2 to fix the scale.

So, here's what we want.

So as far as the input positions, we fast

obtain intermediate result, like this one, by using another E1.

12:21

And, in this case E1.

Appropriate handles minimize the, shearing and scaling and

scaling [ and stretching, but scaling is allowed.

So you get this kind of inflation in this, you know left arm.

12:41

Correct size or 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.

[SOUND] So original paper is published

is As-Rigid-As-Possible Shape Manipulation, [UNKNOWN] file.

And they [UNKNOWN] serious paper to see the details of the energy definition.

And as I said, previous existing technique is popular [UNKNOWN] space walk.

And representative work is called feature based image metamorphosis.

Published was published in 1992.

And our technique is using segregation of triangular elements.

And this work is inspired by

As-Rigids-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 [UNKNOWN] paper called on linear variational surface deformation methods.

Published in, 2008.

[INAUDIBLE]