Our next topic is Layer Operations. So this work is titled, Apparent Layer Operations for the Manipulation of Deformable Objects. The problem we discussed- discussed here is that interaction with deformable objects is very difficult. And by deformed object we mean here, is kind of interrelated stacked clothes and also ropes, and so on. And typical approach is to wrung, continuously, physical simulation. And then user moves one vertex and then rely on physics. This is always physically possible. But this is kind of a little bit inflexible. You know, you cannot penetrate pass other object and so. So it's always needs to be physically valid. And this can be inflexible in some situations for modeling purposes. And this other possibility is directly control all the vertices one by one. In this way you can do whatever you want. However, it can be very, very, tedious, right? And you have too many, many control of vertices. So what we introduce here is one example of semantic-level operations. By semantics like, layers and so on. So if you look at the physical configuration, user want to do some operations. But these some operations in some meaning for operation for the user; like changes the order of layers of this garment. However, from computer point of view, this is just a collection of vertex coordinates. So many, many, numerical values. So additionally users were asked to control these numerical values directly But here we tried to allow the user to work on this 3D model with semantics level. Now specifically we want to, we introduce here is a layer operations for 3D modeling, and I think you know the three- layer operations. So in 2D drawing systems you can always have a layer ordering. So you can say, go to front or go to back and so. For example in PowerPoint you can say you can say go to back and then you will get this result. And then, go to front and then you will get this result. So we want to get this kind of operation for the garments, for the clothes to go front, or front to back and so on. So so we specifically we introduced two new techniques here. One is layer swap. So you just click here and then the system changes the layer ordering. And then the other is, you drag one piece, and then you can go up, and down, depending on the user control. So let me show you a demonstration. So you have a three dimensional cloth placed on the floor, like this one. And then, you can deform it just by pulling, and pushing, and so on. And here this is just a standard physics based dragging. So it's always physically valid. However, for example, if you want to try to change the layer ordering of this part and this part, it can be, it suddenly becomes very tedious. You have to move it away. And then move it here, and it goes back. But this takes lots of steps and then our global configuration changes. And so if you want to swap this blue and this green, now it's almost impossible. But here what we propose is just a single click operation to do it. So if you want to swap this layer just, just, click here and then system automatically swaps. So it's very subtle but internally the system do a lot of things. And if you click here, just swap, and then you will get this instantly. And this operation can be very, very tedious, if you use standard dragging operation or vertex-based control. Let me show you a couple more examples. So here's an example, so you have green, purple and blue here. And for example if you try to swap green and purple blue if you click here user want the system to swap green and blue. But if you, the system do it naively, then there can be a penetration or intersection between purple and blue. So system automatically analyzes the thing and then try to abort invalid configurations. So if you click here instead of putting blue somewhere the system decided to bring the green to the front to avoid intersection. And again, the same thing, so if you click blue, if you want to swap blue and purple, if you just do it, if the purple is on top of green, there'll be a intersection here, right? So in, in order to prevent an intersection, or penetration when the user clicks here, the system should push the purple one all the way to the bottom. And that's what we do here. If you click here, the system automatically pushes the purple one all the way back. And here is a folded pocket handkerchief. If you click here you still do- so in order to avoid penetration system automatically decide to move the top layer all the way to the bottom. And then you will get this shape. And if you click here the direction of the spiral completely swaps. And also if you have a this one for example you can do something like this very quickly, just by a successive clicking, and then you will get this shape. So this way of changing the way of making a knot can be very difficult using traditional approaches. And this is our most complicated case, a necktie. So we created this shape by many, many clicks here. And the same operation can be applicable for a knot or ropes. So if you click here you can swap the layers and you can quickly change the configuration of a knot. And then here the same thing you can change the whole direction of a twist or you can change the configuration of a net, like this way. [BLANK_AUDIO] Okay, so that's the layer's work. And next operation I will show is layer aware dragging. So, in standard dragging, you know, the dragged object always on top of existing one. However, if you press shift key down, during dragging it will automatically goes below the colliding clothing. So by combining shift up and shift down, you go up and then go down and so on. So this is very useful for making a knot here, so you go up without shift and shift down, and then shift up, and then shift down, and shift up. So in this way, you can generate a three dimensional knot just by two dimensional dragging. Okay. So that's a demonstration and let me briefly describe the algorithm behind this. So layer swap. So, this is a before the layer swap and then the after the layer swap. Suppose a user click somewhere here. A user tries to swap yellow with blue. And in order to do this system do actually a lot of thing inside the box. So first, the system project 3D configuration onto the screen space. And then analyze the configuration, and then, generate a structure called list graph. List graph is, each sub-region represents a layered structure and then system maintains adjacency graph of the, regions. And then, depending, starting from this current configuration. Depending on the user input, system swaps the layers, in this 2.5D representation. The layer list graph representation. And then after that, system takes this two dimensional input configuration, and then automatically synthesize it to 3D shape. And then apply physical relaxation to get the final, 3D shape. So that's what we do. So first step is project-, projection, and analysis. So projection is from 3D configuration, to 2D vector representation and the similar technique was presented by Eisemann in 2009. And then after getting to the two-dimensional vector, 2.5D representation, we construct a list graph representation. And this technique was inspired by a local layering technique proposed in 2009 here. So in this one call- represents local layering structure and then also adjacency graph. Okay, so given this list graph you know, 2.5D layer structure, the system updates the list graph. So this, this is before configuration and then gets a new configuration. So what the system actually do is to change the ordering of these local layers. However, important thing is to, to avoid invalid configurations. So here's an example of invalid configuration. So type one, invalid configuration is like this one. So you see the two sub-regions here and here. And then in the top region above this region here, blue is on top of purple, and here purple is on top of blue. So if this kind of configuration happens then there will be an intersection or penetration here which means undesirable, so this is type 1 error or type one invalid configuration, so another invalid configuration is like this. So this is not so obvious but suppose this is folded, you know, this is dark blue and the light blue is folded and connected, and then, and then if the connected layer should be adjacent. Otherwise, you know, there will be a penetration, so that's a problem. So what we do is to consider all possible permutations of layer orders in each region and then tries to find valid configuration. And to do this we actually do kind of an exhaustive search of all the combinations in this space. And then after gets having the updated list graph, what we do is to reconstruct the 3D geometry from it. And this is a two-step operation. So first operation is to get geometric reconstruction, so there is no gravity, there's no physics, just reconstruct three-dimensional layer structure, just directly compute the depths from 2D layers. And then after that, we apply physics you know, apply gravity to get the final relaxed shape. So, in summary, we introduced layer operations for cloth and ropes. And them specifically we introduced layer swaps single click change layer ordering and then layer aware dragging, you can go above and go down using a shift key. And then for the algorithm what we do is to- projection to 2.5D representation called the list graph. So project re-order and synthesize go back to 3D. To learn more, the original paper was published as Apparent Layer Operations for the Manipulation of Deformable Objects, and 2D layer operations was introduced as Local Layering in 2009. So our work is inspired by this work. And also if you want to know more about 3D to 2D projection, I recommend you take a look at this Visibility algorithm for converting 3D meshes into editable 2d vector graphics. So this one enables conversion from 3D graphics to 2D vector illustrations. Thank you.