1 00:00:02,830 --> 00:00:05,969 alright so this lecture we talked about fold in one cut two methods and a little bit about polyhedron flattening so most of the questions are about fold in one cut I'll stick to that first question is is there any cool software for doing fold and cut now and the answer is yes there's some software maybe not the coolest possible yet but getting there there's two saw pieces of software one is from final project when this after this lecture was given 2010 and another one is in a sourceforge project called jour egami or j origami both are written in Java I believe I have this one this is the Swan I've seen before I have it here we can try it out all right it's not online yet because I could use some improvements but it's already pretty cool so you can take something like the angelfish here and if you like you can you have it has an editor so you can move your polygon around then you can say okay please give me the straight skeleton first straight skeleton only and it will update on the fly and gives you some nice intuition about how that works I know that looks weird that in turn goes up that way but that is correct because it's bisecting this edge and and some edge this one I guess yeah they meet out here and then you go that way so you can play with that and then you can add in the perpendiculars to fix a little bit longer so the Refresh may not be as immediate but it works get some really complicated behavior in there there's some spiraling and spiraling out but it's fairly well behaved and you can here's one of the simpler spiraling examples pretty much however you this one is stable under perturbation more or less if you move the verge he's all a little bit they should it should continue spirelings like that one's a little bit degenerate so we'll go around and as you go get bigger and bigger pieces of paper you'll get more and more creases the this I should mention you can if you you can add new vertices as well and draw polygons you can delete edges I'm holding all sorts of crazy modifier keys to make this happen but it does work the one other thing you can do is snap to a grid that's probably hard to see but you there's a square grid underneath if you hold down alt it snaps to a square grid I have one other example I prepare it has save and load it's pretty cool and this example is one one of the dense instances although this one has rationale multiple so it doesn't actually go forever because I drew it on a grid so that I could get all the horizontal and vertical and you can see in particular it stops here because it at some point it gives up and reflecting perpendicular says that's enough won't draw anymore so it's fairly robust in that sense occasionally as using some straight skeleton code they did not write and it has some issues when you have really degenerate situations which they tried to mitigate but occasionally it's not perfect but there are lots of possible follow on projects to this work improving the user interface actually putting it on the web for people to play with I think would be super cool alternatively could port it to JavaScript right now it's in Java and make it even more accessible run on iPhones and things like that and I think still the one of the questions I posed in lecture was can you make a nice interface that would let you force degeneracies make like in I think the Swan has instances of this where you'd like more than two more than three skeleton edges to come together at a point here they almost do and be nice to be able to say effort to like snap to a position where many things come together because that in general reduces number of creases substantially you could also try to compute the folded state be another interesting project based on what we're going to talk about in a little bit of folding the underlying structure of corridors and then you can compute a crease pattern there you have various choices and that lets you throw away some of these creases like this is much messier than the Swan crease pattern that's on my web page because you don't need all of these folds if you choose the right set of subset of folds you can save a lot of time so still lots of cool projects to do here and be great to get this software online but that's its current state next question is what about odd degree vertices this is actually a pretty natural question even degree vertices seem nice because you can kind of well it relates to a page that I didn't really talk very much about in the in lecture but it was on in the lecture notes of this idea of a side assignment so in general you have something like a swan there's the inside of the Swan the outside of Swan and general you have a bunch of regions and for each region you'd like to know is it above the cut line or below the cut line if you imagine the cut line as horizontal and in general the side assignment would specify do I want my region above or below and you can do whatever you want now with even degree vertices this is great you can just alternate around and say above below above below with odd degree vertices you can't so you're going to have two regions that are adjacent to each other which are both above or both below so what does that mean it means it's a little bit hard to cut and there's actually two models of cuts there's scissor cuts which are in particular what the question posed are had in mind and probably what you might have had in mind in general where the cut you're going to make separates material from above and below the line so this is the cut line here and it would be really nice if you have material on both sides because that's usually how scissors work Thank tear apart material an alternative is that you have a mathematical cut and mathematical cut can cut right along a crease line so it could be you have two polygons there's a fold here between them and you can cut right along that line maybe I shouldn't draw scissors imagine a laser beam which can zap right along the line so there's no material on the left side of the line just material on the right but yet it separates the two things on the right so this is this is I call it we call that mathematical cut because it is the natural definition mathematically you're erasing a line but practically it's a little hard to do so scissor cuts are also nice this is a more restrictive model this is general model so what I was talking about in lecture implicitly used mathematical cuts and that's when you can say you can make anything with one cut but and it would be nice to get scissor cuts when possible and when possible is basically when you have even degree at every vertex and one fun example of that is checkerboard this is actually an old magic trick you have a piece of usually tissue paper so it's really thin pre colored as checkered squares on both sides matching and you can fold this because every vertex here has degree 3 sorry it has degree 4 so even degree you can assign the black squares to be on one side or the blue squares to be on one side the white squares to be on the other side and so you can make one cut and simultaneously cut out all the white squares and all the black squares which is kind of cool this is old decades old so in general you can do something with scissor cuts our scissor cuts are going to be possible if and only if you can find a side assignment the sort of alternates between above and below the cut line meaning when you have two regions you don't want them to that are adjacent you don't want them both to be above and below you'd like one to be above one to be below and this is what's called a face to coloring in planar graphs you want to color the faces the regions of your graph with two colors such that no two adjacent cells have the same color two adjacent faces at the same color and that turns out to be equivalent to having all vertices of even degree so this is why that question was asking about odd degree because indeed with scissor cuts you can't do odd degree there is a fun fact though that relates these two things I mean so you have even degree like polygons which is typical case scissor cuts should be possible for mathematical cuts can do everything what if i have something has odd degree vertices but i still want to use scissor cuts well then it turns out two cuts are enough pretty much that if you have i'll call it two edge connected planar graph equals the union of two even graphs I should say even sub graphs much matter so there's one exception which is if you have an edge in your desired set of cuts that partitions the graph into two parts so if you could delete an edge and disconnect the graph into into more parts that there's no hope of decomposing this into even graphs I think check that but as long as you do not have such these are called bridges typically so bridges are forbidden if you have no bridges then you're what's called a two edge connected planar graph and then you can decompose your graph into two parts each of which is even so you can fold make one straight cut and get one even graph fold make one stray cat get the other even graph good luck folding at the second time if it decompose but in theory at least you with to scissor cuts you can make anything that doesn't have bridges so that's just kind of an aside some graph theory that tells you a little bit more about what you can do with to scissor cuts pretty much everything any question or questions about that so that was odd degree vertices next questions are about folding and how exactly so I kind of briefly sketched the proof for linear corridors how you would fold or how you would prove that this thing actually folds this is that where skeleton method first we'll go to dis packing afterwards so how do you convert a set of linear quarters into a tree then once you have that correspondence how does trees folding flat relate two corridors folding flat and so i redrew this figure to make it bit clearer so this is one of the images in the textbook where I've just faced colored in this case with three colors the corridors those are the regions of constant width bounded by perpendiculars this is for making a turtle that sort of doesn't really matter and this is the corresponding tree and this is the folded state of this blue guy here between B and C and to really illustrate what's going on here I folded this thing it's very it's tricky to fold let's say and you added a little bit of a few paper clips to make it really stay but if you hold it right a little bit challenging the projection of this structure is exactly this tree maybe let me show you some examples out here for example this this flap is labeled a B so it corresponds to this flap and it corresponds to the material here between a and B and this a part is at the very tip here and attached to this is this guy that would be this unlabeled pink edge which corresponds so this one it's unlabeled because it goes off to infinity in principle so this would just keep going this one turns around right here then there's this edge this bit of material so it's probably easier for you see from that side and that corresponds to this bc part which is exactly this folding and if I laser-cut or even scissor cut down these two lines and just cut out that little folded part it would look exactly like this so conversely i mean this I was sort of begging the question by assuming I could fold this thing if you don't know how to fold this thing you can go in reverse direction and figure out how to fold it by first modeling these corridors as a tree how do you do that it's just like in the tree method going from crease pattern from the tree method to the shadow tree except there we were given the shadow tree as input here we have to compute it so but it's like what you solved in the problem set is it one or two for each of these corridors it has fixed width so you make an edge of that length it's not quite drawn to scale here this has been scaled up by roughly a factor of two so this length becomes this length and you label it the same thing this set connected component of perpendiculars a goes to that point the connected component of perpendiculars here this thing which branches all of that is B it's like a hinge in the tree method so that's going to be a hinge between this flap and two other flaps whatever touches the be perpendicular so there's this pink one and there's a cyan one sign one is here it's attached to whatever c is attached to so here's see it branches off here bounces around all that c and it's jason to the blue thing we just did the yellow and the pink that's this yellow and this pink connecting to d and g and so on through the thing so it's actually really easy to map from here to the tree just every corridor maps to an edge every connected component of the perpendicular graph maps to a point and what that mean this is the projection it will look it will always look exactly like this you'll be able to independently manipulate each of these corridors as a flap and individually it's pretty easy to fold each corridor it just looks like this accordion thing so the the faces will be stacked linearly in order from back to front and be really clean they'll all line up in this nice vertical strip and then all you have so that's easy to prove it exists I'm sketching the proof now and then all you have to do is attach them together so basically you take first you take this tree view you fold it flat here I can fold it flat just by collapsing the top and bottom then I replace each of these edges is one of these vertical accordion strips and then I just need to check that at each vertex I can actually attach everything that needs to attach without getting crossings that's the one part of the proof i'm not going to show you because it's kind of tedious but basically because this structure was a was planar because it came from one sheet you can show there's no not going to be any crossings they're all of these layers each of these edges expands to be many layers and the layers will nicely connect together so that's the sketch of that proof any questions this is for just linear corridors not circular ones okay cool next question is about the bad example that makes a dense set of creases that completely fills the plane their force completely unfolded and the question was is it really unlikely or is it actually very likely that this happens and there are two things going on here's the example again from the textbook so it's got the dark blue is the desire cut graph then the black lines are the straight skeleton and then the dashed lines are the beginning of the perpendiculars and the point was to make this corridor width versus this corridor width versus this corridor with vs. this quarter wits make those all irrational multiples of each other and then as this thing spirals around it never finishes never hits itself and so it just keeps going I think this is where its ones currently going so indeed and so the question is well irrational multiples are actually very common if you for example randomly perturb all these vertices and you measure the sizes of those corridors they will be with probability one they will be irrational multiples of each other because the rationals are much more common than rational numbers and that's true but the other thing that this example requires is this outer boundary we need that none of these perpendiculars can escape out to infinity if they do they won't stay in there eventually that if there's a tiny tiny gap here if these guys didn't quite match up eventually because this thing is dense it will find that little gap because it has positive length when it finds the gap it's going to spiral around and around around and go out to infinity instead of being trapped inside so the unlikely thing in this example is actually this outer pink polygon that the perpendicular coming out this way bounced around did lots of things and eventually hit the same vertex that's actually unlikely and definitely in this example and in general we claim that we do not get cycles of perpendiculars except in one kind of scenario which I guess I could draw in the software let's try it so whenever you have a vertex of degree more than more than two so let's do something like that a little too far away so let me just add a little guy like this and bring this a little closer yeah this has got a lot of spiraling let's make it a little bit cleaner here that's actually kind of degenerate but the point is if here i have three cut edges I've kind of made them roughly equal so this doesn't get huge but in general if you have any straight skeleton vertex and you reflect it around those these bisectors you will always come back to where you started so whenever you this this requires that each of these angles is strictly convex so this is why you need at least three cottages to come together here but once you have at least three you will always cycle around you always come back to where you start it actually happens again here this guy cycles around and comes back so that's what sorry that one's actually a little bit special because of what I did with the dragging in general it's going to be more like this a little hard to see what's going on here is that this innermost guy cycles around indeed but everyone else spirals around and keeps keeps going so that's actually the perpendicular that comes from here and goes that way and then it spirals around it hasn't finished yet but it would actually spiral all the way out to infinity so the claim is in general the this is conjecture with probability one if you randomly perturb the vertices slightly the the only cycles of perpendiculars that you get are around a single vertex so something like this example which we saw where there was a straight skeleton edge here here and then this guy I should draw the skeleton edges it's a good test of how accurate I drew it because I know if this is perpendicular this is perpendicular and this is perpendicular this will always come back to its starting point it's just property of reflections basically because we satisfy Kawasaki here this must be true because these are bisectors of these guys so this has to happen the claim is that's the only situation it happens and if this is all that happens you can prove there's no density and in fact it folds flat so this is the good case unfortunately when we make real examples we like degeneracies because they reduce the number of folds so the theory says avoid degeneracies to perturb things slightly then it's guaranteed to fold if you but in practice you want to add degeneracies just carefully so that you don't get dense behavior like the weird example I showed you so that's clarification why yeah why we think this does not happen oh sorry why we think with probability 1 things are good but sadly we can't prove this maybe we'll work on in the open problem session I think it's tractable just haven't worked on in a long time questions okay so right the claim is if you perturb this example everybody will escape out to infinity like in this spiral okay so i think the that's the end of the skeleton method but before we want go on I want to show some examples so problem set we're up to four which will go out later today one of the questions is design your own your own fold and cut and draw it so you probably want to draw it in program like inkscape or Adobe Illustrator it has good snapping so you can find intersections and things like that and compute angular bisectors as in ruler and compass and these are some examples from 2010 same question there are lots of them but I chose three they're particularly cool this one has a line of symmetry you get fish bone by G who's a PhD student in the media lab this is by Sarah eisenstaedt who's a PhD student in csail working on folding things which is hat looks pretty cool pretty fairly simple all you have to fold your examples I can't be too complicated and then Jason KU who saw the guest lecture by it wasn't impressed sufficiently impressed by my jackal entrance he made a really complicated one and folded it so those are some inspiration points and i thought i'd show you a magic trick which is one of the sources for inspiration for the fold and one cut problem so piece of paper so this is a magic trick of unknown origin it was described by Martin Gardner I think probably in the 60s and the book appeared in the 90s and it's a story of two politicians and let's just be generic say one politician was very much liked by the people on the other politician was disliked by the people imagine a simple world where it was so simple and by freak accident both politicians died at the same time and both happen to be Christian so they go to the gates of heaven so the story goes and they arrive the gates of heaven I guess st. Peter's the keeper of the gates and st. Peter says well not just anyone can get into heaven you have to have a ticket and the good politician being liked by the people has a ticket which he folds flat and bad politician has no ticket so the bad politician says well you know we've had our disagreements but maybe you could put in a good word to Saint Peter or do something to help me out I here heavens a nice place maybe we could go there together we resolve our differences whatever so the good politician having a ticket and the pair scissors like any respecting politician takes this ticket and makes one complete straight cut and it's going to get a lot of pieces that are going to be hold this carefully so put that down and he hands all these pieces to the bad politician says here you go pet politician has no idea what they're for so he hands them the st. Peter st. Peter starts unfolding the pieces I wonder what shapes i get i hear there's a cool-looking problem about this uh-huh so it's a little hard to do without a table so I'm going to have to use the board first we get the letter H then we get to it right put these down here then we get the letter e okay then we get the letter L and the letter L and if it's not a table at arrange it and it clearly st. Peter is not happy and the bad politician gets sent straight to hell the good politician hung on to one piece cleverly and this ticket is still more or less intact and he gets into it okay that's the magic trick it's very simple full bang it's easy to remember I mean known this remember as this even for years and you get exactly those pieces so pretty cool of course from a mathematical standpoint this is a little unsatisfying so come on there's three pieces for the h three pieces for the e surely you could do better and from a rectangle you can kind of do better uh-huh it's a little awkward because the pieces are not all the same size but is one scissor cut so all the vertices are even degree you cut it and you get all these pieces which if I were more practiced at this I could immediately pick out which one's the H looks like okay I'll just do them out of order here is the cross kind of a cross not quite perfect proportions but good enough here is this is the letter e this one's actually more impressive when you don't have a table because you can't tell that they're all different sizes at the letter e we've got the letter these look like else kind of small else but there you go through different orientations and then we've got the letter H there you go okay so that's our new and improved version using universality of folding cut so I gives you some idea of a we're folding cut came from and in recent times is the magic community I mentioned Harry Houdini did some tricks and Gerald low but there's a bunch of these tricks around and kind of cool saw the checkerboard trick and the the previous he'll trick so those are some examples now we move on to the disk packing method so I have one question about this which is how exactly do we go from the disk packing to yeah cool proof the cool proof bro so how do we go from the disk packing to the decomposition into triangles and quadrilaterals so I thought I'd just review this slide we start with our graph we offset it by some tiny Epsilon that's to get things off the line basically then we do this disk packing and remember roughly how the disk packing work so we put some disks at each of the centers here it's a little awkward cuz of the offset but you put one at each of these four corners also the corners of the piece of paper why not then you also pack small enough distal ong the edge so that you cover the edge by diameters of the disks i do that the same on all the sides basically you try to put a big one in but if that big one intersects you decompose it into half that's how the algorithm works so now you've covered the vertices in the edges but you may have big gaps like this too many too many sides on this gap and so then you just greedily put the largest disk you can in those gaps until all you're left with and these yellow gaps are triangles and quadrilaterals or three sided gaps and for side of gaps and then all we do is draw this red graph by putting a vertex at the center of each disk this is what the question was about and then whenever two disks touch we call this kissing disks for historical reasons because they're just barely touching I guess at their lips I've got a lot of lips for disks uh-huh we're in flatland so then whenever they touch we draw the edge between the two centers so that decomposes this piece of paper into parts and because the gaps are three sides those will correspond to triangles or four sides those will correspond to quadrilaterals so that's all and then we put rabbit ears in here and line Universal quad molecules in there and it folds flat it will align all of the red edges plus the black edges on the outside and it will align all these inner red edges with these black edges and then we do the sink folds that we mentioned and that will get one of these out of the way of the other and we'll end up aligning just these cut edges so that's the quick review that method so one question is how do you allocate the disks is there sort of a best way and I guess there could be several measures maybe you don't want really tiny discs because that tends to lead to very tiny folds but the standard measure here is how many disks do you need because that will reduce the number of folds so can you minimize the number of discs and in general it's known roughly how many discs you need and the algorithm I just told you achieves that number of discs so first I'll give you the number number of this is proportional to the integral and say it was an easy bound but it is the right answer okay there's a lot of notation in here and this one you should definitely not know let's you've taken a computational geometry class even then you probably wouldn't know it it's not that common mostly comes up in meshing and disk packing so it's pretty specific it's called local feature size and this is a once i define it is actually fairly intuitive this bound local feature size at X so we're imagining some kind of polygon here and at every point of the polygon let's look at a vertex here but it works for any point along the boundary actually maybe not even on the boundary but we're interested here this this notation del P is the boundary of the polygon so this is Del P that just means you know edges and vertices all of those points so we take some point X on the boundary and we look at the smallest disk centered at that point that touches another feature so that's the feature size features here are edges of the polygon that's all we have now of course no matter what size disk you hit this feature you hit this feature so those don't count those are incident features so in general it is the smallest radius disk that hits a non incident feature on incident feature which is an edge so here as soon as the disk gets this big it hits this edge and so that's the local feature size is this this radius okay in general for every point you can draw some size disk so over here it's going to be a little bit bigger you can maybe get up to here actually I guess it should be non adjacent it was going to be a little bit awkward I also don't want to count this edge because if I'm right here the feature size is super tiny and I don't I don't want out lfs ever to be zero so you also have to skip the the adjacent edges which means the local feature size at this point is going to be more like hard to draw circles it's going to be more like that distance that's when you hit a non adjacent feature sorry so you have to exclude this edge that you're on and the two adjacent ones otherwise this definition doesn't quite work out so then you measure this for all points just infinitely many of course continue them along the boundary that's the integral over X in the boundary of P and you take one over the local feature size of X and you integrate that for all X it gives you a number and it turns out some constant times that number is the right answer the algorithm I achieve which I described which is put the biggest dis you can or divide in half if you can't we'll get within a constant factor of the best possible bound of all possible dis packings so that so this is pretty much known you can get within a constant factor of the optimal dis packing if you want to you're counting disks not a great number I can't say and this or n squared discs because you just can't do that if you have if you have a piece of paper and some really long here's your cut graph doesn't quite go to the ends though then you've got to have a tiny disc here and that's going to require you to have a bunch of disks even though this has constant size you're going to need I don't know how many dis here especially if your paper is really narrow you're going to need a lot of disks that's the best you can hope for for disk packing actually brought a little example of something like that where you have your goal is just to cut out a single segment in the middle of the paper this is to illustrate odd degree vertices these are degree 1 vertices you might think wow it's impossible for me to cut this thing without I don't know I'm just cutting I could cut with my exacto knife from here to here if I want to make a complete straight cut you can fold it like this this is what the skeleton method would give you you fold it like this and then you use your laser to cut right along the line with scissor cuts it's not so bad right I cut along I cut slightly in its pretty much cutting along a line just not quite tiny mistake so I cut off a line slightly thicker line and I get my slit in the paper so I mean mathematical cuts are not really that bad you're just cutting a slightly larger version than the single slit that you wanted to make have to cut very carefully okay that was number of disks next question is how does all of this relate to the tree method this is kind of a neat question both methods skeleton method and the dis packing method relate to the tree method in different ways I thought I would talk about that so first let's compare the disk packing method which we just talked about to the tree method both of them use Universal molecules this one only uses universal molecules for triangles and quads we know in general Universal molecule works for any convex polygon this is an example of a pentagon and it works it has a gusset to get the tree lengths right here we use gussets to kind of get the tree lengths right as you may recall we want the perpendicular to go to the disk kissing points those tangen sees because then they align with the others and then we never get perpendicular spiraling or doing other bad things so number of creases becomes proportional to the number of disks number this is this messy thing so that's that let's see what else here we only use disks over here we could just use disk but we there's also the ability to use rivers so this is more general it in that we can do bigger bigger polygons in just quads and we can do rivers not just circles here the input though is a tree with specified lengths and it's actually copy it's NP hard to place the disks correctly we proved that last time over here the input is a polygon it's already been embedded on the sheet of paper there's no really hard decisions here except you have to fill the paper with disks but that's not so hard so you can do this in polynomial time polynomial in even almost roughly this time times a log factor you can find this placement of disks so that's not too hard whereas over here it's NP hard to place a distally at least find a displacement you could do so basically the inputs differ and it's using the same backbone or the same what do you call it so front end the same back end I suppose where we're decomposed after we've decomposed into a bunch of molecules you just fold the molecules and you're basically done here we have to do some sinks at the end but it's using it for different purposes otherwise they are very similar and indeed this is inspired by by that okay so that was the disk packing method then there's the straight skeleton method these look much more different but in fact they are quite related if you do fold and cut on a convex polygon it gives you roughly the universal molecule just with no gussets so here neither one is more general than the other the universal molecule is more general in that it has gussets which lets it control the tree topology you get and control the lengths you get in the tree over here we saw that the tree just happens you can't control the tree it's just a tool to prove the shadow tree that's just a tool to prove that it folds flat but you can do non convex polygons which is much more general than convex polygons so they each have their own sort of unique claims to fame natural question is can you combine them and in fact you can and this was you may remember a few bunch of lectures ago I think lecture class for so I showed this slide of the the meat of origami design secrets volume 2 all right second edition rather there's tree theory which we talked about there was a box pleating tree theory which should briefly showed and there's this more general thing called polygon packing and this is in some sense the fusion of straight skeleton method of fold and cut basically the straight skeleton plus tree theory and this is done jointly between Robert Lang and the domains and here's an example of kind of what it looks like a little hard to see here but I will point out that if you look at the blue lines which are kind of the cut lines here of course they're the active paths this guy is non convex and if you look at the red stuff in there it is exactly the straight skeleton of that polygon so those red lines are the straight skeleton of this blue thing so there you go we've got the folding cot straight skeleton being used in that setting you've got perpendicular all over the place which is a annoying feature of the skeleton method it is inherited by this method and if you look at something like this rectangle its convex but you have gussets this is a gusset this is a gusset gusset guess it's a little hard to see but there's a we basically split the rectangle into this rectangle this square this rectangle the square this rectangle so this is really the fusion of the two it's not yet been mathematically formalized because we're first proving that the tree method works then we will finally get to this but if you want these slightly more informal but practical version read origami design secrets and they'll explain all the different cases and what we believe Eve is a correct algorithm we just haven't proved all the cases yet and you can use it to design cool things in the Box pleating setting and get more efficient than if you required rectangles or some convex shape cool so that's that else do we have I have one almost done one cool open question posed by you is what if instead of cutting with a straight line I cut with a constant curvature line so a piece of a circular arc then of course the things I get will have circular arc boundaries but can I get any circular arc boundary with the with that fixed curvature or are there limitations and at first I thought the answer is clearly yes but uh I do wonder about situations like this can you align these two by folding I've thought about enough to be sure but not not totally sure where's if I have things like this I think this is this is good i mean i could fold here and in general i could just kind of pretend that there's a segment and the segment i saw a fold and cut on the segments and that will also align the circular arcs that won't work in general but i feel comfortable if they have the same orientation it looks good if when they flip orientations i'm not sure so neat problem to think about and one final thing is about flattening this is about this question this picture so we said oh great because we can solve fold and cut we can also take the boundary that polygon and flatten it like this of course the folding of the interior here which we're ignoring in general this whole thing goes through three dimensions until we end up here one dimension up if we solve the 3d folding cot problem where you have a polyhedron you fold it through 4d back into 3d which is flat so that you align all the boundaries of the faces of that polyhedron and then just take the boundary of that motion it's like flattening a polyhedron like cereal box or whatever and indeed that will find a folded state of a polyhedron there's flat but of course that motion you can't you can't really use that motion because it goes through 4d this one will go through 3d so it's not if you want it to flatten this linkage that's also not valid so you get a folded state but you don't get the folding motion if you could solve 3d folding cut our current state is we don't know how to solve 3d folding cat we do know how to solve polyhedron flattening so this this relation is just kind of interest not doesn't imply anything super useful an open problem is so we know how to sell polyhedron flattening as a folded state what we don't know so much about is folding motions there is a recent paper from just last year which will continuously flattened by continuous motion any convex polyhedron but non-convex polyhedra we still don't know these are roughly hand-drawn figures an interesting project would be to actually animate their motion I think it would look pretty cool and be much more convincing to that it works I mean I am convinced that it works but it's a lot harder to see visually from these pictures be really cool to see the emotions the actual continuous animation and a couple last project ideas one would be to make a fold and cut alphabet like the maze software that you just use it would be fun if you just type in a message and out comes the crease pattern this is sort of like a special case of a fold and cut design tool but in letters it's a little bit easier and a simp different challenge would be if I just want to be able to fold a single letter at a time can you always do it with simple folds so can you design an alphabet that is simply folding cuttable that would be even nicer and there's some magicians who worked on that but they couldn't get all the letters so be nice to do with just a few folds any letter of the alphabet and any digit this is one we did for our conference in honor martin gardner gathering for Gardner five back in 2002 and here's another possible idea for project although mostly it's an excuse to show you really cool pictures this is Peter callison and he takes usually a4 sheets of paper cuts them with some probably an exacto knife or something and then from that material that septic he acquires builds a 3d structure on that sheet so you see all the material that was used and these are just amazing and I don't think you could necessarily do this level of fidelity from a folding cut but it would be cool to do a folding cut and then build a sculpture out of the slits that you made and I mean it's really cool when he can use the cut out parts to be shadows of the things that he builds especially when those shadows are more complicated than the chief he actually assembles it has a really cool effect of the monsters in the closet Pandora's box or boxing box in a box you can't see that here but you see it unfolding uh-huh bones inside the hand the old versus new cities using the positive and the negative is actually a little boat up there as you can see so pretty pretty amazing stuff and for free versus caged and so on interesting project would be to try to make art at a folding cot just doing one cut instead of a zillion cuts that's it any more questions yeah in the circle the backing and mess with other assignment okay and the circle packing method how'd you assign mountains and valleys that was briefly covered in lecture there was this first you take a spanning tree of all of the molecules and you basically fold each molecule into your parent in the tree so you each one hat each one has a direction and from that you can extract them out in valley assignment you go into the parent it's a mountain there everyone else's Valley basically you're reversing one perpendicular fold per molecule I think maybe two triangles is just one for quads you might be reversing too so you start with all the all of the straight skeleton being mountains all the perpendiculars being valleys and you have to flip a few to just get them to fit together a little more complicated than what I said but I would need a slide to show you the details it's in the textbook anything else alright that's folding cut you 2 00:00:05,969 --> 00:00:09,299 alright so this lecture we talked about fold in one cut two methods and a little bit about polyhedron flattening so most of the questions are about fold in one cut I'll stick to that first question is is there any cool software for doing fold and cut now and the answer is yes there's some software maybe not the coolest possible yet but getting there there's two saw pieces of software one is from final project when this after this lecture was given 2010 and another one is in a sourceforge project called jour egami or j origami both are written in Java I believe I have this one this is the Swan I've seen before I have it here we can try it out all right it's not online yet because I could use some improvements but it's already pretty cool so you can take something like the angelfish here and if you like you can you have it has an editor so you can move your polygon around then you can say okay please give me the straight skeleton first straight skeleton only and it will update on the fly and gives you some nice intuition about how that works I know that looks weird that in turn goes up that way but that is correct because it's bisecting this edge and and some edge this one I guess yeah they meet out here and then you go that way so you can play with that and then you can add in the perpendiculars to fix a little bit longer so the Refresh may not be as immediate but it works get some really complicated behavior in there there's some spiraling and spiraling out but it's fairly well behaved and you can here's one of the simpler spiraling examples pretty much however you this one is stable under perturbation more or less if you move the verge he's all a little bit they should it should continue spirelings like that one's a little bit degenerate so we'll go around and as you go get bigger and bigger pieces of paper you'll get more and more creases the this I should mention you can if you you can add new vertices as well and draw polygons you can delete edges I'm holding all sorts of crazy modifier keys to make this happen but it does work the one other thing you can do is snap to a grid that's probably hard to see but you there's a square grid underneath if you hold down alt it snaps to a square grid I have one other example I prepare it has save and load it's pretty cool and this example is one one of the dense instances although this one has rationale multiple so it doesn't actually go forever because I drew it on a grid so that I could get all the horizontal and vertical and you can see in particular it stops here because it at some point it gives up and reflecting perpendicular says that's enough won't draw anymore so it's fairly robust in that sense occasionally as using some straight skeleton code they did not write and it has some issues when you have really degenerate situations which they tried to mitigate but occasionally it's not perfect but there are lots of possible follow on projects to this work improving the user interface actually putting it on the web for people to play with I think would be super cool alternatively could port it to JavaScript right now it's in Java and make it even more accessible run on iPhones and things like that and I think still the one of the questions I posed in lecture was can you make a nice interface that would let you force degeneracies make like in I think the Swan has instances of this where you'd like more than two more than three skeleton edges to come together at a point here they almost do and be nice to be able to say effort to like snap to a position where many things come together because that in general reduces number of creases substantially you could also try to compute the folded state be another interesting project based on what we're going to talk about in a little bit of folding the underlying structure of corridors and then you can compute a crease pattern there you have various choices and that lets you throw away some of these creases like this is much messier than the Swan crease pattern that's on my web page because you don't need all of these folds if you choose the right set of subset of folds you can save a lot of time so still lots of cool projects to do here and be great to get this software online but that's its current state next question is what about odd degree vertices this is actually a pretty natural question even degree vertices seem nice because you can kind of well it relates to a page that I didn't really talk very much about in the in lecture but it was on in the lecture notes of this idea of a side assignment so in general you have something like a swan there's the inside of the Swan the outside of Swan and general you have a bunch of regions and for each region you'd like to know is it above the cut line or below the cut line if you imagine the cut line as horizontal and in general the side assignment would specify do I want my region above or below and you can do whatever you want now with even degree vertices this is great you can just alternate around and say above below above below with odd degree vertices you can't so you're going to have two regions that are adjacent to each other which are both above or both below so what does that mean it means it's a little bit hard to cut and there's actually two models of cuts there's scissor cuts which are in particular what the question posed are had in mind and probably what you might have had in mind in general where the cut you're going to make separates material from above and below the line so this is the cut line here and it would be really nice if you have material on both sides because that's usually how scissors work Thank tear apart material an alternative is that you have a mathematical cut and mathematical cut can cut right along a crease line so it could be you have two polygons there's a fold here between them and you can cut right along that line maybe I shouldn't draw scissors imagine a laser beam which can zap right along the line so there's no material on the left side of the line just material on the right but yet it separates the two things on the right so this is this is I call it we call that mathematical cut because it is the natural definition mathematically you're erasing a line but practically it's a little hard to do so scissor cuts are also nice this is a more restrictive model this is general model so what I was talking about in lecture implicitly used mathematical cuts and that's when you can say you can make anything with one cut but and it would be nice to get scissor cuts when possible and when possible is basically when you have even degree at every vertex and one fun example of that is checkerboard this is actually an old magic trick you have a piece of usually tissue paper so it's really thin pre colored as checkered squares on both sides matching and you can fold this because every vertex here has degree 3 sorry it has degree 4 so even degree you can assign the black squares to be on one side or the blue squares to be on one side the white squares to be on the other side and so you can make one cut and simultaneously cut out all the white squares and all the black squares which is kind of cool this is old decades old so in general you can do something with scissor cuts our scissor cuts are going to be possible if and only if you can find a side assignment the sort of alternates between above and below the cut line meaning when you have two regions you don't want them to that are adjacent you don't want them both to be above and below you'd like one to be above one to be below and this is what's called a face to coloring in planar graphs you want to color the faces the regions of your graph with two colors such that no two adjacent cells have the same color two adjacent faces at the same color and that turns out to be equivalent to having all vertices of even degree so this is why that question was asking about odd degree because indeed with scissor cuts you can't do odd degree there is a fun fact though that relates these two things I mean so you have even degree like polygons which is typical case scissor cuts should be possible for mathematical cuts can do everything what if i have something has odd degree vertices but i still want to use scissor cuts well then it turns out two cuts are enough pretty much that if you have i'll call it two edge connected planar graph equals the union of two even graphs I should say even sub graphs much matter so there's one exception which is if you have an edge in your desired set of cuts that partitions the graph into two parts so if you could delete an edge and disconnect the graph into into more parts that there's no hope of decomposing this into even graphs I think check that but as long as you do not have such these are called bridges typically so bridges are forbidden if you have no bridges then you're what's called a two edge connected planar graph and then you can decompose your graph into two parts each of which is even so you can fold make one straight cut and get one even graph fold make one stray cat get the other even graph good luck folding at the second time if it decompose but in theory at least you with to scissor cuts you can make anything that doesn't have bridges so that's just kind of an aside some graph theory that tells you a little bit more about what you can do with to scissor cuts pretty much everything any question or questions about that so that was odd degree vertices next questions are about folding and how exactly so I kind of briefly sketched the proof for linear corridors how you would fold or how you would prove that this thing actually folds this is that where skeleton method first we'll go to dis packing afterwards so how do you convert a set of linear quarters into a tree then once you have that correspondence how does trees folding flat relate two corridors folding flat and so i redrew this figure to make it bit clearer so this is one of the images in the textbook where I've just faced colored in this case with three colors the corridors those are the regions of constant width bounded by perpendiculars this is for making a turtle that sort of doesn't really matter and this is the corresponding tree and this is the folded state of this blue guy here between B and C and to really illustrate what's going on here I folded this thing it's very it's tricky to fold let's say and you added a little bit of a few paper clips to make it really stay but if you hold it right a little bit challenging the projection of this structure is exactly this tree maybe let me show you some examples out here for example this this flap is labeled a B so it corresponds to this flap and it corresponds to the material here between a and B and this a part is at the very tip here and attached to this is this guy that would be this unlabeled pink edge which corresponds so this one it's unlabeled because it goes off to infinity in principle so this would just keep going this one turns around right here then there's this edge this bit of material so it's probably easier for you see from that side and that corresponds to this bc part which is exactly this folding and if I laser-cut or even scissor cut down these two lines and just cut out that little folded part it would look exactly like this so conversely i mean this I was sort of begging the question by assuming I could fold this thing if you don't know how to fold this thing you can go in reverse direction and figure out how to fold it by first modeling these corridors as a tree how do you do that it's just like in the tree method going from crease pattern from the tree method to the shadow tree except there we were given the shadow tree as input here we have to compute it so but it's like what you solved in the problem set is it one or two for each of these corridors it has fixed width so you make an edge of that length it's not quite drawn to scale here this has been scaled up by roughly a factor of two so this length becomes this length and you label it the same thing this set connected component of perpendiculars a goes to that point the connected component of perpendiculars here this thing which branches all of that is B it's like a hinge in the tree method so that's going to be a hinge between this flap and two other flaps whatever touches the be perpendicular so there's this pink one and there's a cyan one sign one is here it's attached to whatever c is attached to so here's see it branches off here bounces around all that c and it's jason to the blue thing we just did the yellow and the pink that's this yellow and this pink connecting to d and g and so on through the thing so it's actually really easy to map from here to the tree just every corridor maps to an edge every connected component of the perpendicular graph maps to a point and what that mean this is the projection it will look it will always look exactly like this you'll be able to independently manipulate each of these corridors as a flap and individually it's pretty easy to fold each corridor it just looks like this accordion thing so the the faces will be stacked linearly in order from back to front and be really clean they'll all line up in this nice vertical strip and then all you have so that's easy to prove it exists I'm sketching the proof now and then all you have to do is attach them together so basically you take first you take this tree view you fold it flat here I can fold it flat just by collapsing the top and bottom then I replace each of these edges is one of these vertical accordion strips and then I just need to check that at each vertex I can actually attach everything that needs to attach without getting crossings that's the one part of the proof i'm not going to show you because it's kind of tedious but basically because this structure was a was planar because it came from one sheet you can show there's no not going to be any crossings they're all of these layers each of these edges expands to be many layers and the layers will nicely connect together so that's the sketch of that proof any questions this is for just linear corridors not circular ones okay cool next question is about the bad example that makes a dense set of creases that completely fills the plane their force completely unfolded and the question was is it really unlikely or is it actually very likely that this happens and there are two things going on here's the example again from the textbook so it's got the dark blue is the desire cut graph then the black lines are the straight skeleton and then the dashed lines are the beginning of the perpendiculars and the point was to make this corridor width versus this corridor width versus this corridor with vs. this quarter wits make those all irrational multiples of each other and then as this thing spirals around it never finishes never hits itself and so it just keeps going I think this is where its ones currently going so indeed and so the question is well irrational multiples are actually very common if you for example randomly perturb all these vertices and you measure the sizes of those corridors they will be with probability one they will be irrational multiples of each other because the rationals are much more common than rational numbers and that's true but the other thing that this example requires is this outer boundary we need that none of these perpendiculars can escape out to infinity if they do they won't stay in there eventually that if there's a tiny tiny gap here if these guys didn't quite match up eventually because this thing is dense it will find that little gap because it has positive length when it finds the gap it's going to spiral around and around around and go out to infinity instead of being trapped inside so the unlikely thing in this example is actually this outer pink polygon that the perpendicular coming out this way bounced around did lots of things and eventually hit the same vertex that's actually unlikely and definitely in this example and in general we claim that we do not get cycles of perpendiculars except in one kind of scenario which I guess I could draw in the software let's try it so whenever you have a vertex of degree more than more than two so let's do something like that a little too far away so let me just add a little guy like this and bring this a little closer yeah this has got a lot of spiraling let's make it a little bit cleaner here that's actually kind of degenerate but the point is if here i have three cut edges I've kind of made them roughly equal so this doesn't get huge but in general if you have any straight skeleton vertex and you reflect it around those these bisectors you will always come back to where you started so whenever you this this requires that each of these angles is strictly convex so this is why you need at least three cottages to come together here but once you have at least three you will always cycle around you always come back to where you start it actually happens again here this guy cycles around and comes back so that's what sorry that one's actually a little bit special because of what I did with the dragging in general it's going to be more like this a little hard to see what's going on here is that this innermost guy cycles around indeed but everyone else spirals around and keeps keeps going so that's actually the perpendicular that comes from here and goes that way and then it spirals around it hasn't finished yet but it would actually spiral all the way out to infinity so the claim is in general the this is conjecture with probability one if you randomly perturb the vertices slightly the the only cycles of perpendiculars that you get are around a single vertex so something like this example which we saw where there was a straight skeleton edge here here and then this guy I should draw the skeleton edges it's a good test of how accurate I drew it because I know if this is perpendicular this is perpendicular and this is perpendicular this will always come back to its starting point it's just property of reflections basically because we satisfy Kawasaki here this must be true because these are bisectors of these guys so this has to happen the claim is that's the only situation it happens and if this is all that happens you can prove there's no density and in fact it folds flat so this is the good case unfortunately when we make real examples we like degeneracies because they reduce the number of folds so the theory says avoid degeneracies to perturb things slightly then it's guaranteed to fold if you but in practice you want to add degeneracies just carefully so that you don't get dense behavior like the weird example I showed you so that's clarification why yeah why we think this does not happen oh sorry why we think with probability 1 things are good but sadly we can't prove this maybe we'll work on in the open problem session I think it's tractable just haven't worked on in a long time questions okay so right the claim is if you perturb this example everybody will escape out to infinity like in this spiral okay so i think the that's the end of the skeleton method but before we want go on I want to show some examples so problem set we're up to four which will go out later today one of the questions is design your own your own fold and cut and draw it so you probably want to draw it in program like inkscape or Adobe Illustrator it has good snapping so you can find intersections and things like that and compute angular bisectors as in ruler and compass and these are some examples from 2010 same question there are lots of them but I chose three they're particularly cool this one has a line of symmetry you get fish bone by G who's a PhD student in the media lab this is by Sarah eisenstaedt who's a PhD student in csail working on folding things which is hat looks pretty cool pretty fairly simple all you have to fold your examples I can't be too complicated and then Jason KU who saw the guest lecture by it wasn't impressed sufficiently impressed by my jackal entrance he made a really complicated one and folded it so those are some inspiration points and i thought i'd show you a magic trick which is one of the sources for inspiration for the fold and one cut problem so piece of paper so this is a magic trick of unknown origin it was described by Martin Gardner I think probably in the 60s and the book appeared in the 90s and it's a story of two politicians and let's just be generic say one politician was very much liked by the people on the other politician was disliked by the people imagine a simple world where it was so simple and by freak accident both politicians died at the same time and both happen to be Christian so they go to the gates of heaven so the story goes and they arrive the gates of heaven I guess st. Peter's the keeper of the gates and st. Peter says well not just anyone can get into heaven you have to have a ticket and the good politician being liked by the people has a ticket which he folds flat and bad politician has no ticket so the bad politician says well you know we've had our disagreements but maybe you could put in a good word to Saint Peter or do something to help me out I here heavens a nice place maybe we could go there together we resolve our differences whatever so the good politician having a ticket and the pair scissors like any respecting politician takes this ticket and makes one complete straight cut and it's going to get a lot of pieces that are going to be hold this carefully so put that down and he hands all these pieces to the bad politician says here you go pet politician has no idea what they're for so he hands them the st. Peter st. Peter starts unfolding the pieces I wonder what shapes i get i hear there's a cool-looking problem about this uh-huh so it's a little hard to do without a table so I'm going to have to use the board first we get the letter H then we get to it right put these down here then we get the letter e okay then we get the letter L and the letter L and if it's not a table at arrange it and it clearly st. Peter is not happy and the bad politician gets sent straight to hell the good politician hung on to one piece cleverly and this ticket is still more or less intact and he gets into it okay that's the magic trick it's very simple full bang it's easy to remember I mean known this remember as this even for years and you get exactly those pieces so pretty cool of course from a mathematical standpoint this is a little unsatisfying so come on there's three pieces for the h three pieces for the e surely you could do better and from a rectangle you can kind of do better uh-huh it's a little awkward because the pieces are not all the same size but is one scissor cut so all the vertices are even degree you cut it and you get all these pieces which if I were more practiced at this I could immediately pick out which one's the H looks like okay I'll just do them out of order here is the cross kind of a cross not quite perfect proportions but good enough here is this is the letter e this one's actually more impressive when you don't have a table because you can't tell that they're all different sizes at the letter e we've got the letter these look like else kind of small else but there you go through different orientations and then we've got the letter H there you go okay so that's our new and improved version using universality of folding cut so I gives you some idea of a we're folding cut came from and in recent times is the magic community I mentioned Harry Houdini did some tricks and Gerald low but there's a bunch of these tricks around and kind of cool saw the checkerboard trick and the the previous he'll trick so those are some examples now we move on to the disk packing method so I have one question about this which is how exactly do we go from the disk packing to yeah cool proof the cool proof bro so how do we go from the disk packing to the decomposition into triangles and quadrilaterals so I thought I'd just review this slide we start with our graph we offset it by some tiny Epsilon that's to get things off the line basically then we do this disk packing and remember roughly how the disk packing work so we put some disks at each of the centers here it's a little awkward cuz of the offset but you put one at each of these four corners also the corners of the piece of paper why not then you also pack small enough distal ong the edge so that you cover the edge by diameters of the disks i do that the same on all the sides basically you try to put a big one in but if that big one intersects you decompose it into half that's how the algorithm works so now you've covered the vertices in the edges but you may have big gaps like this too many too many sides on this gap and so then you just greedily put the largest disk you can in those gaps until all you're left with and these yellow gaps are triangles and quadrilaterals or three sided gaps and for side of gaps and then all we do is draw this red graph by putting a vertex at the center of each disk this is what the question was about and then whenever two disks touch we call this kissing disks for historical reasons because they're just barely touching I guess at their lips I've got a lot of lips for disks uh-huh we're in flatland so then whenever they touch we draw the edge between the two centers so that decomposes this piece of paper into parts and because the gaps are three sides those will correspond to triangles or four sides those will correspond to quadrilaterals so that's all and then we put rabbit ears in here and line Universal quad molecules in there and it folds flat it will align all of the red edges plus the black edges on the outside and it will align all these inner red edges with these black edges and then we do the sink folds that we mentioned and that will get one of these out of the way of the other and we'll end up aligning just these cut edges so that's the quick review that method so one question is how do you allocate the disks is there sort of a best way and I guess there could be several measures maybe you don't want really tiny discs because that tends to lead to very tiny folds but the standard measure here is how many disks do you need because that will reduce the number of folds so can you minimize the number of discs and in general it's known roughly how many discs you need and the algorithm I just told you achieves that number of discs so first I'll give you the number number of this is proportional to the integral and say it was an easy bound but it is the right answer okay there's a lot of notation in here and this one you should definitely not know let's you've taken a computational geometry class even then you probably wouldn't know it it's not that common mostly comes up in meshing and disk packing so it's pretty specific it's called local feature size and this is a once i define it is actually fairly intuitive this bound local feature size at X so we're imagining some kind of polygon here and at every point of the polygon let's look at a vertex here but it works for any point along the boundary actually maybe not even on the boundary but we're interested here this this notation del P is the boundary of the polygon so this is Del P that just means you know edges and vertices all of those points so we take some point X on the boundary and we look at the smallest disk centered at that point that touches another feature so that's the feature size features here are edges of the polygon that's all we have now of course no matter what size disk you hit this feature you hit this feature so those don't count those are incident features so in general it is the smallest radius disk that hits a non incident feature on incident feature which is an edge so here as soon as the disk gets this big it hits this edge and so that's the local feature size is this this radius okay in general for every point you can draw some size disk so over here it's going to be a little bit bigger you can maybe get up to here actually I guess it should be non adjacent it was going to be a little bit awkward I also don't want to count this edge because if I'm right here the feature size is super tiny and I don't I don't want out lfs ever to be zero so you also have to skip the the adjacent edges which means the local feature size at this point is going to be more like hard to draw circles it's going to be more like that distance that's when you hit a non adjacent feature sorry so you have to exclude this edge that you're on and the two adjacent ones otherwise this definition doesn't quite work out so then you measure this for all points just infinitely many of course continue them along the boundary that's the integral over X in the boundary of P and you take one over the local feature size of X and you integrate that for all X it gives you a number and it turns out some constant times that number is the right answer the algorithm I achieve which I described which is put the biggest dis you can or divide in half if you can't we'll get within a constant factor of the best possible bound of all possible dis packings so that so this is pretty much known you can get within a constant factor of the optimal dis packing if you want to you're counting disks not a great number I can't say and this or n squared discs because you just can't do that if you have if you have a piece of paper and some really long here's your cut graph doesn't quite go to the ends though then you've got to have a tiny disc here and that's going to require you to have a bunch of disks even though this has constant size you're going to need I don't know how many dis here especially if your paper is really narrow you're going to need a lot of disks that's the best you can hope for for disk packing actually brought a little example of something like that where you have your goal is just to cut out a single segment in the middle of the paper this is to illustrate odd degree vertices these are degree 1 vertices you might think wow it's impossible for me to cut this thing without I don't know I'm just cutting I could cut with my exacto knife from here to here if I want to make a complete straight cut you can fold it like this this is what the skeleton method would give you you fold it like this and then you use your laser to cut right along the line with scissor cuts it's not so bad right I cut along I cut slightly in its pretty much cutting along a line just not quite tiny mistake so I cut off a line slightly thicker line and I get my slit in the paper so I mean mathematical cuts are not really that bad you're just cutting a slightly larger version than the single slit that you wanted to make have to cut very carefully okay that was number of disks next question is how does all of this relate to the tree method this is kind of a neat question both methods skeleton method and the dis packing method relate to the tree method in different ways I thought I would talk about that so first let's compare the disk packing method which we just talked about to the tree method both of them use Universal molecules this one only uses universal molecules for triangles and quads we know in general Universal molecule works for any convex polygon this is an example of a pentagon and it works it has a gusset to get the tree lengths right here we use gussets to kind of get the tree lengths right as you may recall we want the perpendicular to go to the disk kissing points those tangen sees because then they align with the others and then we never get perpendicular spiraling or doing other bad things so number of creases becomes proportional to the number of disks number this is this messy thing so that's that let's see what else here we only use disks over here we could just use disk but we there's also the ability to use rivers so this is more general it in that we can do bigger bigger polygons in just quads and we can do rivers not just circles here the input though is a tree with specified lengths and it's actually copy it's NP hard to place the disks correctly we proved that last time over here the input is a polygon it's already been embedded on the sheet of paper there's no really hard decisions here except you have to fill the paper with disks but that's not so hard so you can do this in polynomial time polynomial in even almost roughly this time times a log factor you can find this placement of disks so that's not too hard whereas over here it's NP hard to place a distally at least find a displacement you could do so basically the inputs differ and it's using the same backbone or the same what do you call it so front end the same back end I suppose where we're decomposed after we've decomposed into a bunch of molecules you just fold the molecules and you're basically done here we have to do some sinks at the end but it's using it for different purposes otherwise they are very similar and indeed this is inspired by by that okay so that was the disk packing method then there's the straight skeleton method these look much more different but in fact they are quite related if you do fold and cut on a convex polygon it gives you roughly the universal molecule just with no gussets so here neither one is more general than the other the universal molecule is more general in that it has gussets which lets it control the tree topology you get and control the lengths you get in the tree over here we saw that the tree just happens you can't control the tree it's just a tool to prove the shadow tree that's just a tool to prove that it folds flat but you can do non convex polygons which is much more general than convex polygons so they each have their own sort of unique claims to fame natural question is can you combine them and in fact you can and this was you may remember a few bunch of lectures ago I think lecture class for so I showed this slide of the the meat of origami design secrets volume 2 all right second edition rather there's tree theory which we talked about there was a box pleating tree theory which should briefly showed and there's this more general thing called polygon packing and this is in some sense the fusion of straight skeleton method of fold and cut basically the straight skeleton plus tree theory and this is done jointly between Robert Lang and the domains and here's an example of kind of what it looks like a little hard to see here but I will point out that if you look at the blue lines which are kind of the cut lines here of course they're the active paths this guy is non convex and if you look at the red stuff in there it is exactly the straight skeleton of that polygon so those red lines are the straight skeleton of this blue thing so there you go we've got the folding cot straight skeleton being used in that setting you've got perpendicular all over the place which is a annoying feature of the skeleton method it is inherited by this method and if you look at something like this rectangle its convex but you have gussets this is a gusset this is a gusset gusset guess it's a little hard to see but there's a we basically split the rectangle into this rectangle this square this rectangle the square this rectangle so this is really the fusion of the two it's not yet been mathematically formalized because we're first proving that the tree method works then we will finally get to this but if you want these slightly more informal but practical version read origami design secrets and they'll explain all the different cases and what we believe Eve is a correct algorithm we just haven't proved all the cases yet and you can use it to design cool things in the Box pleating setting and get more efficient than if you required rectangles or some convex shape cool so that's that else do we have I have one almost done one cool open question posed by you is what if instead of cutting with a straight line I cut with a constant curvature line so a piece of a circular arc then of course the things I get will have circular arc boundaries but can I get any circular arc boundary with the with that fixed curvature or are there limitations and at first I thought the answer is clearly yes but uh I do wonder about situations like this can you align these two by folding I've thought about enough to be sure but not not totally sure where's if I have things like this I think this is this is good i mean i could fold here and in general i could just kind of pretend that there's a segment and the segment i saw a fold and cut on the segments and that will also align the circular arcs that won't work in general but i feel comfortable if they have the same orientation it looks good if when they flip orientations i'm not sure so neat problem to think about and one final thing is about flattening this is about this question this picture so we said oh great because we can solve fold and cut we can also take the boundary that polygon and flatten it like this of course the folding of the interior here which we're ignoring in general this whole thing goes through three dimensions until we end up here one dimension up if we solve the 3d folding cot problem where you have a polyhedron you fold it through 4d back into 3d which is flat so that you align all the boundaries of the faces of that polyhedron and then just take the boundary of that motion it's like flattening a polyhedron like cereal box or whatever and indeed that will find a folded state of a polyhedron there's flat but of course that motion you can't you can't really use that motion because it goes through 4d this one will go through 3d so it's not if you want it to flatten this linkage that's also not valid so you get a folded state but you don't get the folding motion if you could solve 3d folding cut our current state is we don't know how to solve 3d folding cat we do know how to solve polyhedron flattening so this this relation is just kind of interest not doesn't imply anything super useful an open problem is so we know how to sell polyhedron flattening as a folded state what we don't know so much about is folding motions there is a recent paper from just last year which will continuously flattened by continuous motion any convex polyhedron but non-convex polyhedra we still don't know these are roughly hand-drawn figures an interesting project would be to actually animate their motion I think it would look pretty cool and be much more convincing to that it works I mean I am convinced that it works but it's a lot harder to see visually from these pictures be really cool to see the emotions the actual continuous animation and a couple last project ideas one would be to make a fold and cut alphabet like the maze software that you just use it would be fun if you just type in a message and out comes the crease pattern this is sort of like a special case of a fold and cut design tool but in letters it's a little bit easier and a simp different challenge would be if I just want to be able to fold a single letter at a time can you always do it with simple folds so can you design an alphabet that is simply folding cuttable that would be even nicer and there's some magicians who worked on that but they couldn't get all the letters so be nice to do with just a few folds any letter of the alphabet and any digit this is one we did for our conference in honor martin gardner gathering for Gardner five back in 2002 and here's another possible idea for project although mostly it's an excuse to show you really cool pictures this is Peter callison and he takes usually a4 sheets of paper cuts them with some probably an exacto knife or something and then from that material that septic he acquires builds a 3d structure on that sheet so you see all the material that was used and these are just amazing and I don't think you could necessarily do this level of fidelity from a folding cut but it would be cool to do a folding cut and then build a sculpture out of the slits that you made and I mean it's really cool when he can use the cut out parts to be shadows of the things that he builds especially when those shadows are more complicated than the chief he actually assembles it has a really cool effect of the monsters in the closet Pandora's box or boxing box in a box you can't see that here but you see it unfolding uh-huh bones inside the hand the old versus new cities using the positive and the negative is actually a little boat up there as you can see so pretty pretty amazing stuff and for free versus caged and so on interesting project would be to try to make art at a folding cot just doing one cut instead of a zillion cuts that's it any more questions yeah in the circle the backing and mess with other assignment okay and the circle packing method how'd you assign mountains and valleys that was briefly covered in lecture there was this first you take a spanning tree of all of the molecules and you basically fold each molecule into your parent in the tree so you each one hat each one has a direction and from that you can extract them out in valley assignment you go into the parent it's a mountain there everyone else's Valley basically you're reversing one perpendicular fold per molecule I think maybe two triangles is just one for quads you might be reversing too so you start with all the all of the straight skeleton being mountains all the perpendiculars being valleys and you have to flip a few to just get them to fit together a little more complicated than what I said but I would need a slide to show you the details it's in the textbook anything else alright that's folding cut you 3 00:00:09,299 --> 00:00:11,280 4 00:00:11,280 --> 00:00:12,839 5 00:00:12,839 --> 00:00:15,690 6 00:00:15,690 --> 00:00:18,210 7 00:00:18,210 --> 00:00:20,490 8 00:00:20,490 --> 00:00:23,220 9 00:00:23,220 --> 00:00:25,290 10 00:00:25,290 --> 00:00:27,599 11 00:00:27,599 --> 00:00:30,599 12 00:00:30,599 --> 00:00:34,619 13 00:00:34,619 --> 00:00:36,780 14 00:00:36,780 --> 00:00:40,439 15 00:00:40,439 --> 00:00:43,320 16 00:00:43,320 --> 00:00:48,180 17 00:00:48,180 --> 00:00:55,859 18 00:00:55,859 --> 00:00:57,930 19 00:00:57,930 --> 00:01:02,399 20 00:01:02,399 --> 00:01:06,630 21 00:01:06,630 --> 00:01:11,000 22 00:01:11,000 --> 00:01:13,770 23 00:01:13,770 --> 00:01:15,840 24 00:01:15,840 --> 00:01:17,550 25 00:01:17,550 --> 00:01:20,520 26 00:01:20,520 --> 00:01:22,770 27 00:01:22,770 --> 00:01:24,180 28 00:01:24,180 --> 00:01:26,700 29 00:01:26,700 --> 00:01:28,200 30 00:01:28,200 --> 00:01:31,830 31 00:01:31,830 --> 00:01:38,820 32 00:01:38,820 --> 00:01:40,560 33 00:01:40,560 --> 00:01:45,750 34 00:01:45,750 --> 00:01:48,240 35 00:01:48,240 --> 00:01:49,950 36 00:01:49,950 --> 00:01:54,750 37 00:01:54,750 --> 00:01:56,640 38 00:01:56,640 --> 00:01:58,350 39 00:01:58,350 --> 00:02:00,570 40 00:02:00,570 --> 00:02:07,020 41 00:02:07,020 --> 00:02:12,030 42 00:02:12,030 --> 00:02:14,309 43 00:02:14,309 --> 00:02:16,020 44 00:02:16,020 --> 00:02:16,470 45 00:02:16,470 --> 00:02:19,860 46 00:02:19,860 --> 00:02:21,720 47 00:02:21,720 --> 00:02:23,940 48 00:02:23,940 --> 00:02:25,979 49 00:02:25,979 --> 00:02:27,360 50 00:02:27,360 --> 00:02:32,550 51 00:02:32,550 --> 00:02:35,339 52 00:02:35,339 --> 00:02:39,869 53 00:02:39,869 --> 00:02:42,449 54 00:02:42,449 --> 00:02:43,949 55 00:02:43,949 --> 00:02:47,699 56 00:02:47,699 --> 00:02:49,199 57 00:02:49,199 --> 00:02:50,460 58 00:02:50,460 --> 00:02:52,500 59 00:02:52,500 --> 00:02:54,470 60 00:02:54,470 --> 00:02:58,110 61 00:02:58,110 --> 00:03:01,250 62 00:03:01,250 --> 00:03:06,300 63 00:03:06,300 --> 00:03:08,789 64 00:03:08,789 --> 00:03:10,140 65 00:03:10,140 --> 00:03:12,330 66 00:03:12,330 --> 00:03:13,860 67 00:03:13,860 --> 00:03:16,470 68 00:03:16,470 --> 00:03:20,309 69 00:03:20,309 --> 00:03:22,860 70 00:03:22,860 --> 00:03:25,080 71 00:03:25,080 --> 00:03:29,250 72 00:03:29,250 --> 00:03:31,199 73 00:03:31,199 --> 00:03:33,150 74 00:03:33,150 --> 00:03:34,620 75 00:03:34,620 --> 00:03:36,720 76 00:03:36,720 --> 00:03:38,849 77 00:03:38,849 --> 00:03:40,440 78 00:03:40,440 --> 00:03:43,039 79 00:03:43,039 --> 00:03:45,449 80 00:03:45,449 --> 00:03:46,710 81 00:03:46,710 --> 00:03:47,990 82 00:03:47,990 --> 00:03:49,710 83 00:03:49,710 --> 00:03:51,420 84 00:03:51,420 --> 00:03:53,220 85 00:03:53,220 --> 00:03:57,599 86 00:03:57,599 --> 00:03:59,670 87 00:03:59,670 --> 00:04:01,530 88 00:04:01,530 --> 00:04:03,150 89 00:04:03,150 --> 00:04:07,589 90 00:04:07,589 --> 00:04:12,930 91 00:04:12,930 --> 00:04:20,939 92 00:04:20,939 --> 00:04:22,710 93 00:04:22,710 --> 00:04:25,469 94 00:04:25,469 --> 00:04:28,380 95 00:04:28,380 --> 00:04:29,500 96 00:04:29,500 --> 00:04:30,790 97 00:04:30,790 --> 00:04:32,650 98 00:04:32,650 --> 00:04:34,660 99 00:04:34,660 --> 00:04:36,990 100 00:04:36,990 --> 00:04:39,310 101 00:04:39,310 --> 00:04:41,950 102 00:04:41,950 --> 00:04:44,050 103 00:04:44,050 --> 00:04:45,550 104 00:04:45,550 --> 00:04:46,960 105 00:04:46,960 --> 00:04:48,040 106 00:04:48,040 --> 00:04:49,780 107 00:04:49,780 --> 00:04:51,670 108 00:04:51,670 --> 00:04:53,050 109 00:04:53,050 --> 00:04:55,000 110 00:04:55,000 --> 00:04:57,490 111 00:04:57,490 --> 00:05:02,530 112 00:05:02,530 --> 00:05:04,210 113 00:05:04,210 --> 00:05:06,670 114 00:05:06,670 --> 00:05:09,730 115 00:05:09,730 --> 00:05:12,940 116 00:05:12,940 --> 00:05:16,990 117 00:05:16,990 --> 00:05:18,910 118 00:05:18,910 --> 00:05:21,940 119 00:05:21,940 --> 00:05:23,560 120 00:05:23,560 --> 00:05:26,950 121 00:05:26,950 --> 00:05:29,050 122 00:05:29,050 --> 00:05:31,570 123 00:05:31,570 --> 00:05:32,980 124 00:05:32,980 --> 00:05:34,330 125 00:05:34,330 --> 00:05:35,740 126 00:05:35,740 --> 00:05:37,690 127 00:05:37,690 --> 00:05:39,670 128 00:05:39,670 --> 00:05:41,770 129 00:05:41,770 --> 00:05:45,160 130 00:05:45,160 --> 00:05:46,990 131 00:05:46,990 --> 00:05:48,880 132 00:05:48,880 --> 00:05:51,070 133 00:05:51,070 --> 00:05:52,420 134 00:05:52,420 --> 00:05:54,610 135 00:05:54,610 --> 00:05:56,680 136 00:05:56,680 --> 00:05:57,940 137 00:05:57,940 --> 00:05:59,470 138 00:05:59,470 --> 00:06:02,890 139 00:06:02,890 --> 00:06:07,360 140 00:06:07,360 --> 00:06:10,750 141 00:06:10,750 --> 00:06:13,530 142 00:06:13,530 --> 00:06:18,460 143 00:06:18,460 --> 00:06:20,320 144 00:06:20,320 --> 00:06:21,730 145 00:06:21,730 --> 00:06:24,460 146 00:06:24,460 --> 00:06:26,650 147 00:06:26,650 --> 00:06:28,990 148 00:06:28,990 --> 00:06:32,920 149 00:06:32,920 --> 00:06:34,390 150 00:06:34,390 --> 00:06:35,740 151 00:06:35,740 --> 00:06:40,840 152 00:06:40,840 --> 00:06:42,399 153 00:06:42,399 --> 00:06:46,449 154 00:06:46,449 --> 00:06:49,449 155 00:06:49,449 --> 00:06:54,279 156 00:06:54,279 --> 00:06:57,040 157 00:06:57,040 --> 00:07:00,790 158 00:07:00,790 --> 00:07:04,719 159 00:07:04,719 --> 00:07:07,809 160 00:07:07,809 --> 00:07:09,249 161 00:07:09,249 --> 00:07:10,929 162 00:07:10,929 --> 00:07:13,359 163 00:07:13,359 --> 00:07:15,999 164 00:07:15,999 --> 00:07:18,279 165 00:07:18,279 --> 00:07:19,779 166 00:07:19,779 --> 00:07:22,329 167 00:07:22,329 --> 00:07:23,739 168 00:07:23,739 --> 00:07:25,239 169 00:07:25,239 --> 00:07:27,879 170 00:07:27,879 --> 00:07:30,279 171 00:07:30,279 --> 00:07:32,019 172 00:07:32,019 --> 00:07:34,089 173 00:07:34,089 --> 00:07:39,669 174 00:07:39,669 --> 00:07:41,649 175 00:07:41,649 --> 00:07:43,929 176 00:07:43,929 --> 00:07:46,600 177 00:07:46,600 --> 00:07:49,179 178 00:07:49,179 --> 00:07:51,249 179 00:07:51,249 --> 00:07:53,319 180 00:07:53,319 --> 00:07:56,829 181 00:07:56,829 --> 00:07:59,949 182 00:07:59,949 --> 00:08:01,959 183 00:08:01,959 --> 00:08:05,409 184 00:08:05,409 --> 00:08:08,109 185 00:08:08,109 --> 00:08:10,239 186 00:08:10,239 --> 00:08:11,259 187 00:08:11,259 --> 00:08:12,790 188 00:08:12,790 --> 00:08:14,319 189 00:08:14,319 --> 00:08:16,509 190 00:08:16,509 --> 00:08:18,059 191 00:08:18,059 --> 00:08:34,529 192 00:08:34,529 --> 00:08:39,930 193 00:08:39,930 --> 00:08:42,339 194 00:08:42,339 --> 00:08:45,400 195 00:08:45,400 --> 00:08:54,420 196 00:08:54,420 --> 00:09:01,380 197 00:09:01,380 --> 00:09:03,850 198 00:09:03,850 --> 00:09:05,740 199 00:09:05,740 --> 00:09:07,210 200 00:09:07,210 --> 00:09:08,890 201 00:09:08,890 --> 00:09:11,829 202 00:09:11,829 --> 00:09:16,480 203 00:09:16,480 --> 00:09:18,400 204 00:09:18,400 --> 00:09:21,790 205 00:09:21,790 --> 00:09:23,890 206 00:09:23,890 --> 00:09:25,900 207 00:09:25,900 --> 00:09:27,670 208 00:09:27,670 --> 00:09:34,060 209 00:09:34,060 --> 00:09:35,680 210 00:09:35,680 --> 00:09:36,910 211 00:09:36,910 --> 00:09:39,870 212 00:09:39,870 --> 00:09:43,150 213 00:09:43,150 --> 00:09:45,790 214 00:09:45,790 --> 00:09:47,860 215 00:09:47,860 --> 00:09:53,220 216 00:09:53,220 --> 00:09:56,440 217 00:09:56,440 --> 00:09:57,640 218 00:09:57,640 --> 00:09:59,200 219 00:09:59,200 --> 00:10:01,750 220 00:10:01,750 --> 00:10:11,890 221 00:10:11,890 --> 00:10:15,580 222 00:10:15,580 --> 00:10:28,170 223 00:10:28,170 --> 00:10:35,220 224 00:10:35,220 --> 00:10:38,680 225 00:10:38,680 --> 00:10:41,620 226 00:10:41,620 --> 00:10:46,420 227 00:10:46,420 --> 00:10:48,940 228 00:10:48,940 --> 00:10:51,430 229 00:10:51,430 --> 00:10:55,150 230 00:10:55,150 --> 00:10:56,800 231 00:10:56,800 --> 00:11:02,770 232 00:11:02,770 --> 00:11:04,570 233 00:11:04,570 --> 00:11:08,230 234 00:11:08,230 --> 00:11:10,900 235 00:11:10,900 --> 00:11:11,950 236 00:11:11,950 --> 00:11:13,990 237 00:11:13,990 --> 00:11:16,300 238 00:11:16,300 --> 00:11:18,310 239 00:11:18,310 --> 00:11:20,170 240 00:11:20,170 --> 00:11:22,360 241 00:11:22,360 --> 00:11:24,010 242 00:11:24,010 --> 00:11:27,130 243 00:11:27,130 --> 00:11:29,230 244 00:11:29,230 --> 00:11:32,560 245 00:11:32,560 --> 00:11:36,270 246 00:11:36,270 --> 00:11:39,880 247 00:11:39,880 --> 00:11:41,050 248 00:11:41,050 --> 00:11:42,940 249 00:11:42,940 --> 00:11:45,250 250 00:11:45,250 --> 00:11:49,090 251 00:11:49,090 --> 00:11:57,930 252 00:11:57,930 --> 00:12:01,540 253 00:12:01,540 --> 00:12:04,180 254 00:12:04,180 --> 00:12:07,720 255 00:12:07,720 --> 00:12:09,220 256 00:12:09,220 --> 00:12:12,010 257 00:12:12,010 --> 00:12:14,400 258 00:12:14,400 --> 00:12:18,100 259 00:12:18,100 --> 00:12:19,990 260 00:12:19,990 --> 00:12:22,270 261 00:12:22,270 --> 00:12:23,950 262 00:12:23,950 --> 00:12:28,360 263 00:12:28,360 --> 00:12:29,230 264 00:12:29,230 --> 00:12:31,329 265 00:12:31,329 --> 00:12:34,060 266 00:12:34,060 --> 00:12:35,889 267 00:12:35,889 --> 00:12:38,920 268 00:12:38,920 --> 00:12:41,100 269 00:12:41,100 --> 00:12:43,810 270 00:12:43,810 --> 00:12:45,970 271 00:12:45,970 --> 00:12:50,139 272 00:12:50,139 --> 00:12:52,930 273 00:12:52,930 --> 00:12:56,350 274 00:12:56,350 --> 00:12:59,079 275 00:12:59,079 --> 00:13:01,570 276 00:13:01,570 --> 00:13:04,720 277 00:13:04,720 --> 00:13:07,329 278 00:13:07,329 --> 00:13:09,460 279 00:13:09,460 --> 00:13:13,590 280 00:13:13,590 --> 00:13:18,160 281 00:13:18,160 --> 00:13:22,060 282 00:13:22,060 --> 00:13:27,010 283 00:13:27,010 --> 00:13:29,650 284 00:13:29,650 --> 00:13:31,690 285 00:13:31,690 --> 00:13:36,220 286 00:13:36,220 --> 00:13:39,880 287 00:13:39,880 --> 00:13:41,860 288 00:13:41,860 --> 00:13:43,930 289 00:13:43,930 --> 00:13:45,250 290 00:13:45,250 --> 00:13:46,990 291 00:13:46,990 --> 00:13:49,120 292 00:13:49,120 --> 00:13:52,060 293 00:13:52,060 --> 00:13:54,250 294 00:13:54,250 --> 00:13:57,670 295 00:13:57,670 --> 00:14:00,610 296 00:14:00,610 --> 00:14:03,550 297 00:14:03,550 --> 00:14:07,480 298 00:14:07,480 --> 00:14:09,490 299 00:14:09,490 --> 00:14:12,130 300 00:14:12,130 --> 00:14:14,199 301 00:14:14,199 --> 00:14:15,970 302 00:14:15,970 --> 00:14:18,370 303 00:14:18,370 --> 00:14:20,380 304 00:14:20,380 --> 00:14:22,180 305 00:14:22,180 --> 00:14:24,819 306 00:14:24,819 --> 00:14:27,730 307 00:14:27,730 --> 00:14:31,360 308 00:14:31,360 --> 00:14:33,370 309 00:14:33,370 --> 00:14:37,449 310 00:14:37,449 --> 00:14:39,069 311 00:14:39,069 --> 00:14:42,579 312 00:14:42,579 --> 00:14:43,110 313 00:14:43,110 --> 00:14:47,070 314 00:14:47,070 --> 00:14:49,620 315 00:14:49,620 --> 00:14:52,110 316 00:14:52,110 --> 00:14:53,519 317 00:14:53,519 --> 00:14:56,190 318 00:14:56,190 --> 00:15:00,000 319 00:15:00,000 --> 00:15:02,490 320 00:15:02,490 --> 00:15:04,320 321 00:15:04,320 --> 00:15:06,630 322 00:15:06,630 --> 00:15:08,970 323 00:15:08,970 --> 00:15:11,090 324 00:15:11,090 --> 00:15:14,310 325 00:15:14,310 --> 00:15:16,170 326 00:15:16,170 --> 00:15:18,840 327 00:15:18,840 --> 00:15:22,110 328 00:15:22,110 --> 00:15:24,590 329 00:15:24,590 --> 00:15:28,670 330 00:15:28,670 --> 00:15:31,800 331 00:15:31,800 --> 00:15:34,680 332 00:15:34,680 --> 00:15:36,810 333 00:15:36,810 --> 00:15:38,820 334 00:15:38,820 --> 00:15:41,870 335 00:15:41,870 --> 00:15:45,120 336 00:15:45,120 --> 00:15:46,320 337 00:15:46,320 --> 00:15:48,690 338 00:15:48,690 --> 00:15:51,630 339 00:15:51,630 --> 00:15:53,250 340 00:15:53,250 --> 00:15:56,880 341 00:15:56,880 --> 00:15:58,500 342 00:15:58,500 --> 00:15:59,940 343 00:15:59,940 --> 00:16:02,100 344 00:16:02,100 --> 00:16:04,579 345 00:16:04,579 --> 00:16:06,780 346 00:16:06,780 --> 00:16:10,140 347 00:16:10,140 --> 00:16:14,130 348 00:16:14,130 --> 00:16:17,610 349 00:16:17,610 --> 00:16:22,079 350 00:16:22,079 --> 00:16:26,910 351 00:16:26,910 --> 00:16:28,890 352 00:16:28,890 --> 00:16:31,110 353 00:16:31,110 --> 00:16:33,329 354 00:16:33,329 --> 00:16:35,640 355 00:16:35,640 --> 00:16:38,040 356 00:16:38,040 --> 00:16:39,900 357 00:16:39,900 --> 00:16:41,400 358 00:16:41,400 --> 00:16:43,800 359 00:16:43,800 --> 00:16:46,019 360 00:16:46,019 --> 00:16:48,360 361 00:16:48,360 --> 00:16:49,829 362 00:16:49,829 --> 00:16:51,540 363 00:16:51,540 --> 00:16:53,250 364 00:16:53,250 --> 00:16:54,210 365 00:16:54,210 --> 00:16:56,430 366 00:16:56,430 --> 00:16:58,560 367 00:16:58,560 --> 00:17:00,600 368 00:17:00,600 --> 00:17:02,910 369 00:17:02,910 --> 00:17:05,189 370 00:17:05,189 --> 00:17:07,679 371 00:17:07,679 --> 00:17:09,300 372 00:17:09,300 --> 00:17:13,260 373 00:17:13,260 --> 00:17:14,699 374 00:17:14,699 --> 00:17:17,630 375 00:17:17,630 --> 00:17:29,550 376 00:17:29,550 --> 00:17:33,510 377 00:17:33,510 --> 00:17:35,250 378 00:17:35,250 --> 00:17:41,190 379 00:17:41,190 --> 00:17:43,470 380 00:17:43,470 --> 00:17:45,480 381 00:17:45,480 --> 00:17:47,070 382 00:17:47,070 --> 00:17:50,640 383 00:17:50,640 --> 00:17:52,770 384 00:17:52,770 --> 00:17:54,720 385 00:17:54,720 --> 00:17:56,760 386 00:17:56,760 --> 00:17:59,280 387 00:17:59,280 --> 00:18:02,250 388 00:18:02,250 --> 00:18:07,110 389 00:18:07,110 --> 00:18:09,480 390 00:18:09,480 --> 00:18:11,100 391 00:18:11,100 --> 00:18:12,780 392 00:18:12,780 --> 00:18:15,240 393 00:18:15,240 --> 00:18:17,610 394 00:18:17,610 --> 00:18:19,260 395 00:18:19,260 --> 00:18:24,530 396 00:18:24,530 --> 00:18:29,190 397 00:18:29,190 --> 00:18:30,690 398 00:18:30,690 --> 00:18:32,580 399 00:18:32,580 --> 00:18:34,800 400 00:18:34,800 --> 00:18:37,590 401 00:18:37,590 --> 00:18:39,570 402 00:18:39,570 --> 00:18:40,890 403 00:18:40,890 --> 00:18:42,690 404 00:18:42,690 --> 00:18:47,370 405 00:18:47,370 --> 00:18:49,170 406 00:18:49,170 --> 00:18:52,890 407 00:18:52,890 --> 00:18:54,630 408 00:18:54,630 --> 00:18:57,180 409 00:18:57,180 --> 00:18:58,680 410 00:18:58,680 --> 00:19:01,350 411 00:19:01,350 --> 00:19:03,690 412 00:19:03,690 --> 00:19:05,669 413 00:19:05,669 --> 00:19:07,350 414 00:19:07,350 --> 00:19:08,760 415 00:19:08,760 --> 00:19:09,720 416 00:19:09,720 --> 00:19:11,610 417 00:19:11,610 --> 00:19:14,280 418 00:19:14,280 --> 00:19:15,870 419 00:19:15,870 --> 00:19:18,900 420 00:19:18,900 --> 00:19:20,550 421 00:19:20,550 --> 00:19:22,920 422 00:19:22,920 --> 00:19:25,140 423 00:19:25,140 --> 00:19:28,170 424 00:19:28,170 --> 00:19:30,810 425 00:19:30,810 --> 00:19:32,900 426 00:19:32,900 --> 00:19:36,840 427 00:19:36,840 --> 00:19:39,750 428 00:19:39,750 --> 00:19:45,420 429 00:19:45,420 --> 00:19:53,220 430 00:19:53,220 --> 00:19:59,310 431 00:19:59,310 --> 00:20:01,110 432 00:20:01,110 --> 00:20:16,560 433 00:20:16,560 --> 00:20:18,419 434 00:20:18,419 --> 00:20:20,749 435 00:20:20,749 --> 00:20:23,810 436 00:20:23,810 --> 00:20:27,690 437 00:20:27,690 --> 00:20:29,999 438 00:20:29,999 --> 00:20:32,700 439 00:20:32,700 --> 00:20:34,019 440 00:20:34,019 --> 00:20:36,930 441 00:20:36,930 --> 00:20:40,080 442 00:20:40,080 --> 00:20:43,740 443 00:20:43,740 --> 00:20:45,360 444 00:20:45,360 --> 00:20:46,799 445 00:20:46,799 --> 00:20:48,659 446 00:20:48,659 --> 00:20:51,690 447 00:20:51,690 --> 00:20:55,049 448 00:20:55,049 --> 00:20:56,639 449 00:20:56,639 --> 00:20:57,690 450 00:20:57,690 --> 00:21:00,090 451 00:21:00,090 --> 00:21:04,169 452 00:21:04,169 --> 00:21:05,190 453 00:21:05,190 --> 00:21:09,090 454 00:21:09,090 --> 00:21:11,460 455 00:21:11,460 --> 00:21:16,980 456 00:21:16,980 --> 00:21:19,100 457 00:21:19,100 --> 00:21:21,889 458 00:21:21,889 --> 00:21:26,460 459 00:21:26,460 --> 00:21:27,539 460 00:21:27,539 --> 00:21:29,100 461 00:21:29,100 --> 00:21:31,259 462 00:21:31,259 --> 00:21:32,279 463 00:21:32,279 --> 00:21:36,210 464 00:21:36,210 --> 00:21:43,510 465 00:21:43,510 --> 00:21:54,150 466 00:21:54,150 --> 00:21:57,070 467 00:21:57,070 --> 00:22:02,980 468 00:22:02,980 --> 00:22:05,380 469 00:22:05,380 --> 00:22:25,600 470 00:22:25,600 --> 00:22:28,600 471 00:22:28,600 --> 00:22:30,640 472 00:22:30,640 --> 00:22:35,890 473 00:22:35,890 --> 00:22:39,460 474 00:22:39,460 --> 00:22:41,620 475 00:22:41,620 --> 00:22:43,570 476 00:22:43,570 --> 00:22:46,720 477 00:22:46,720 --> 00:22:48,730 478 00:22:48,730 --> 00:22:50,680 479 00:22:50,680 --> 00:22:52,510 480 00:22:52,510 --> 00:22:56,799 481 00:22:56,799 --> 00:22:59,799 482 00:22:59,799 --> 00:23:02,409 483 00:23:02,409 --> 00:23:04,750 484 00:23:04,750 --> 00:23:06,130 485 00:23:06,130 --> 00:23:07,870 486 00:23:07,870 --> 00:23:09,960 487 00:23:09,960 --> 00:23:12,010 488 00:23:12,010 --> 00:23:13,990 489 00:23:13,990 --> 00:23:15,850 490 00:23:15,850 --> 00:23:18,520 491 00:23:18,520 --> 00:23:20,440 492 00:23:20,440 --> 00:23:23,110 493 00:23:23,110 --> 00:23:25,960 494 00:23:25,960 --> 00:23:27,610 495 00:23:27,610 --> 00:23:31,919 496 00:23:31,919 --> 00:23:37,600 497 00:23:37,600 --> 00:23:40,810 498 00:23:40,810 --> 00:23:43,720 499 00:23:43,720 --> 00:23:45,039 500 00:23:45,039 --> 00:23:46,360 501 00:23:46,360 --> 00:23:48,549 502 00:23:48,549 --> 00:23:55,330 503 00:23:55,330 --> 00:23:59,330 504 00:23:59,330 --> 00:24:02,389 505 00:24:02,389 --> 00:24:03,950 506 00:24:03,950 --> 00:24:07,580 507 00:24:07,580 --> 00:24:10,549 508 00:24:10,549 --> 00:24:12,560 509 00:24:12,560 --> 00:24:17,180 510 00:24:17,180 --> 00:24:18,799 511 00:24:18,799 --> 00:24:20,330 512 00:24:20,330 --> 00:24:23,720 513 00:24:23,720 --> 00:24:25,759 514 00:24:25,759 --> 00:24:28,330 515 00:24:28,330 --> 00:24:30,830 516 00:24:30,830 --> 00:24:32,749 517 00:24:32,749 --> 00:24:37,249 518 00:24:37,249 --> 00:24:39,680 519 00:24:39,680 --> 00:24:41,749 520 00:24:41,749 --> 00:24:43,850 521 00:24:43,850 --> 00:24:45,580 522 00:24:45,580 --> 00:24:50,690 523 00:24:50,690 --> 00:24:54,440 524 00:24:54,440 --> 00:24:57,609 525 00:24:57,609 --> 00:25:00,259 526 00:25:00,259 --> 00:25:02,930 527 00:25:02,930 --> 00:25:04,879 528 00:25:04,879 --> 00:25:07,789 529 00:25:07,789 --> 00:25:09,549 530 00:25:09,549 --> 00:25:11,989 531 00:25:11,989 --> 00:25:13,879 532 00:25:13,879 --> 00:25:17,899 533 00:25:17,899 --> 00:25:21,200 534 00:25:21,200 --> 00:25:24,440 535 00:25:24,440 --> 00:25:27,470 536 00:25:27,470 --> 00:25:32,200 537 00:25:32,200 --> 00:25:35,359 538 00:25:35,359 --> 00:25:37,129 539 00:25:37,129 --> 00:25:40,659 540 00:25:40,659 --> 00:25:44,149 541 00:25:44,149 --> 00:25:47,090 542 00:25:47,090 --> 00:25:50,869 543 00:25:50,869 --> 00:25:52,970 544 00:25:52,970 --> 00:25:54,649 545 00:25:54,649 --> 00:25:56,810 546 00:25:56,810 --> 00:26:01,879 547 00:26:01,879 --> 00:26:04,780 548 00:26:04,780 --> 00:26:06,400 549 00:26:06,400 --> 00:26:08,350 550 00:26:08,350 --> 00:26:10,720 551 00:26:10,720 --> 00:26:12,280 552 00:26:12,280 --> 00:26:14,500 553 00:26:14,500 --> 00:26:16,750 554 00:26:16,750 --> 00:26:19,540 555 00:26:19,540 --> 00:26:20,920 556 00:26:20,920 --> 00:26:23,230 557 00:26:23,230 --> 00:26:25,900 558 00:26:25,900 --> 00:26:26,980 559 00:26:26,980 --> 00:26:28,720 560 00:26:28,720 --> 00:26:30,160 561 00:26:30,160 --> 00:26:32,110 562 00:26:32,110 --> 00:26:34,090 563 00:26:34,090 --> 00:26:35,890 564 00:26:35,890 --> 00:26:39,400 565 00:26:39,400 --> 00:26:41,140 566 00:26:41,140 --> 00:26:44,320 567 00:26:44,320 --> 00:26:46,570 568 00:26:46,570 --> 00:26:48,250 569 00:26:48,250 --> 00:26:53,380 570 00:26:53,380 --> 00:26:57,010 571 00:26:57,010 --> 00:27:00,580 572 00:27:00,580 --> 00:27:02,500 573 00:27:02,500 --> 00:27:04,270 574 00:27:04,270 --> 00:27:08,230 575 00:27:08,230 --> 00:27:10,570 576 00:27:10,570 --> 00:27:11,740 577 00:27:11,740 --> 00:27:15,250 578 00:27:15,250 --> 00:27:16,990 579 00:27:16,990 --> 00:27:21,450 580 00:27:21,450 --> 00:27:33,930 581 00:27:33,930 --> 00:27:39,660 582 00:27:39,660 --> 00:27:47,800 583 00:27:47,800 --> 00:27:50,350 584 00:27:50,350 --> 00:27:52,660 585 00:27:52,660 --> 00:27:54,430 586 00:27:54,430 --> 00:27:55,960 587 00:27:55,960 --> 00:27:58,480 588 00:27:58,480 --> 00:28:02,080 589 00:28:02,080 --> 00:28:05,170 590 00:28:05,170 --> 00:28:08,830 591 00:28:08,830 --> 00:28:10,930 592 00:28:10,930 --> 00:28:13,990 593 00:28:13,990 --> 00:28:15,880 594 00:28:15,880 --> 00:28:18,910 595 00:28:18,910 --> 00:28:21,610 596 00:28:21,610 --> 00:28:23,410 597 00:28:23,410 --> 00:28:26,170 598 00:28:26,170 --> 00:28:28,360 599 00:28:28,360 --> 00:28:31,330 600 00:28:31,330 --> 00:28:33,940 601 00:28:33,940 --> 00:28:36,040 602 00:28:36,040 --> 00:28:38,080 603 00:28:38,080 --> 00:28:42,630 604 00:28:42,630 --> 00:28:45,910 605 00:28:45,910 --> 00:28:47,890 606 00:28:47,890 --> 00:28:52,570 607 00:28:52,570 --> 00:28:56,890 608 00:28:56,890 --> 00:28:58,750 609 00:28:58,750 --> 00:29:02,800 610 00:29:02,800 --> 00:29:04,330 611 00:29:04,330 --> 00:29:05,830 612 00:29:05,830 --> 00:29:08,110 613 00:29:08,110 --> 00:29:12,430 614 00:29:12,430 --> 00:29:16,030 615 00:29:16,030 --> 00:29:17,680 616 00:29:17,680 --> 00:29:19,420 617 00:29:19,420 --> 00:29:25,000 618 00:29:25,000 --> 00:29:27,010 619 00:29:27,010 --> 00:29:29,620 620 00:29:29,620 --> 00:29:32,050 621 00:29:32,050 --> 00:29:34,720 622 00:29:34,720 --> 00:29:36,010 623 00:29:36,010 --> 00:29:37,810 624 00:29:37,810 --> 00:29:39,520 625 00:29:39,520 --> 00:29:41,890 626 00:29:41,890 --> 00:29:43,330 627 00:29:43,330 --> 00:29:47,230 628 00:29:47,230 --> 00:29:49,450 629 00:29:49,450 --> 00:29:53,470 630 00:29:53,470 --> 00:29:56,680 631 00:29:56,680 --> 00:30:00,160 632 00:30:00,160 --> 00:30:04,660 633 00:30:04,660 --> 00:30:06,460 634 00:30:06,460 --> 00:30:08,020 635 00:30:08,020 --> 00:30:10,030 636 00:30:10,030 --> 00:30:12,640 637 00:30:12,640 --> 00:30:15,790 638 00:30:15,790 --> 00:30:18,340 639 00:30:18,340 --> 00:30:20,620 640 00:30:20,620 --> 00:30:23,230 641 00:30:23,230 --> 00:30:25,390 642 00:30:25,390 --> 00:30:28,000 643 00:30:28,000 --> 00:30:29,500 644 00:30:29,500 --> 00:30:31,600 645 00:30:31,600 --> 00:30:33,040 646 00:30:33,040 --> 00:30:35,830 647 00:30:35,830 --> 00:30:37,930 648 00:30:37,930 --> 00:30:41,020 649 00:30:41,020 --> 00:30:43,090 650 00:30:43,090 --> 00:30:44,650 651 00:30:44,650 --> 00:30:46,690 652 00:30:46,690 --> 00:30:50,920 653 00:30:50,920 --> 00:30:52,330 654 00:30:52,330 --> 00:30:54,640 655 00:30:54,640 --> 00:30:58,420 656 00:30:58,420 --> 00:31:00,280 657 00:31:00,280 --> 00:31:02,440 658 00:31:02,440 --> 00:31:04,240 659 00:31:04,240 --> 00:31:07,030 660 00:31:07,030 --> 00:31:09,310 661 00:31:09,310 --> 00:31:12,280 662 00:31:12,280 --> 00:31:14,350 663 00:31:14,350 --> 00:31:16,690 664 00:31:16,690 --> 00:31:18,700 665 00:31:18,700 --> 00:31:22,000 666 00:31:22,000 --> 00:31:25,060 667 00:31:25,060 --> 00:31:27,340 668 00:31:27,340 --> 00:31:30,220 669 00:31:30,220 --> 00:31:33,850 670 00:31:33,850 --> 00:31:36,340 671 00:31:36,340 --> 00:31:39,250 672 00:31:39,250 --> 00:31:41,500 673 00:31:41,500 --> 00:31:43,270 674 00:31:43,270 --> 00:31:45,340 675 00:31:45,340 --> 00:31:47,770 676 00:31:47,770 --> 00:31:50,110 677 00:31:50,110 --> 00:31:52,930 678 00:31:52,930 --> 00:31:55,750 679 00:31:55,750 --> 00:31:57,520 680 00:31:57,520 --> 00:31:59,620 681 00:31:59,620 --> 00:32:02,410 682 00:32:02,410 --> 00:32:03,790 683 00:32:03,790 --> 00:32:06,130 684 00:32:06,130 --> 00:32:07,870 685 00:32:07,870 --> 00:32:10,150 686 00:32:10,150 --> 00:32:15,880 687 00:32:15,880 --> 00:32:20,260 688 00:32:20,260 --> 00:32:22,510 689 00:32:22,510 --> 00:32:25,420 690 00:32:25,420 --> 00:32:26,620 691 00:32:26,620 --> 00:32:27,910 692 00:32:27,910 --> 00:32:29,620 693 00:32:29,620 --> 00:32:32,320 694 00:32:32,320 --> 00:32:34,450 695 00:32:34,450 --> 00:32:36,940 696 00:32:36,940 --> 00:32:39,100 697 00:32:39,100 --> 00:32:41,260 698 00:32:41,260 --> 00:32:43,270 699 00:32:43,270 --> 00:32:46,380 700 00:32:46,380 --> 00:32:52,090 701 00:32:52,090 --> 00:32:57,780 702 00:32:57,780 --> 00:33:00,760 703 00:33:00,760 --> 00:33:07,480 704 00:33:07,480 --> 00:33:09,730 705 00:33:09,730 --> 00:33:12,040 706 00:33:12,040 --> 00:33:13,630 707 00:33:13,630 --> 00:33:15,580 708 00:33:15,580 --> 00:33:17,980 709 00:33:17,980 --> 00:33:19,750 710 00:33:19,750 --> 00:33:25,600 711 00:33:25,600 --> 00:33:28,030 712 00:33:28,030 --> 00:33:31,510 713 00:33:31,510 --> 00:33:35,140 714 00:33:35,140 --> 00:33:40,540 715 00:33:40,540 --> 00:33:42,910 716 00:33:42,910 --> 00:33:44,620 717 00:33:44,620 --> 00:33:46,450 718 00:33:46,450 --> 00:33:49,270 719 00:33:49,270 --> 00:33:52,630 720 00:33:52,630 --> 00:33:56,020 721 00:33:56,020 --> 00:33:58,180 722 00:33:58,180 --> 00:34:01,420 723 00:34:01,420 --> 00:34:03,760 724 00:34:03,760 --> 00:34:08,620 725 00:34:08,620 --> 00:34:10,770 726 00:34:10,770 --> 00:34:12,570 727 00:34:12,570 --> 00:34:14,370 728 00:34:14,370 --> 00:34:17,040 729 00:34:17,040 --> 00:34:18,899 730 00:34:18,899 --> 00:34:20,280 731 00:34:20,280 --> 00:34:22,800 732 00:34:22,800 --> 00:34:34,860 733 00:34:34,860 --> 00:34:41,070 734 00:34:41,070 --> 00:34:45,810 735 00:34:45,810 --> 00:34:48,450 736 00:34:48,450 --> 00:34:51,659 737 00:34:51,659 --> 00:34:55,740 738 00:34:55,740 --> 00:34:58,560 739 00:34:58,560 --> 00:35:00,510 740 00:35:00,510 --> 00:35:06,470 741 00:35:06,470 --> 00:35:08,250 742 00:35:08,250 --> 00:35:10,940 743 00:35:10,940 --> 00:35:13,830 744 00:35:13,830 --> 00:35:15,870 745 00:35:15,870 --> 00:35:17,850 746 00:35:17,850 --> 00:35:20,580 747 00:35:20,580 --> 00:35:24,090 748 00:35:24,090 --> 00:35:25,830 749 00:35:25,830 --> 00:35:29,090 750 00:35:29,090 --> 00:35:32,040 751 00:35:32,040 --> 00:35:34,740 752 00:35:34,740 --> 00:35:37,980 753 00:35:37,980 --> 00:35:39,450 754 00:35:39,450 --> 00:35:41,280 755 00:35:41,280 --> 00:35:44,220 756 00:35:44,220 --> 00:35:46,290 757 00:35:46,290 --> 00:35:48,840 758 00:35:48,840 --> 00:35:50,520 759 00:35:50,520 --> 00:35:53,550 760 00:35:53,550 --> 00:35:56,190 761 00:35:56,190 --> 00:35:59,220 762 00:35:59,220 --> 00:36:02,370 763 00:36:02,370 --> 00:36:04,080 764 00:36:04,080 --> 00:36:05,880 765 00:36:05,880 --> 00:36:07,800 766 00:36:07,800 --> 00:36:09,690 767 00:36:09,690 --> 00:36:11,670 768 00:36:11,670 --> 00:36:13,740 769 00:36:13,740 --> 00:36:17,100 770 00:36:17,100 --> 00:36:18,600 771 00:36:18,600 --> 00:36:20,490 772 00:36:20,490 --> 00:36:23,190 773 00:36:23,190 --> 00:36:24,390 774 00:36:24,390 --> 00:36:27,000 775 00:36:27,000 --> 00:36:30,599 776 00:36:30,599 --> 00:36:32,940 777 00:36:32,940 --> 00:36:35,430 778 00:36:35,430 --> 00:36:38,010 779 00:36:38,010 --> 00:36:39,660 780 00:36:39,660 --> 00:36:41,190 781 00:36:41,190 --> 00:36:42,720 782 00:36:42,720 --> 00:36:45,089 783 00:36:45,089 --> 00:36:47,640 784 00:36:47,640 --> 00:36:48,930 785 00:36:48,930 --> 00:36:51,960 786 00:36:51,960 --> 00:36:53,430 787 00:36:53,430 --> 00:36:55,200 788 00:36:55,200 --> 00:36:57,269 789 00:36:57,269 --> 00:36:58,950 790 00:36:58,950 --> 00:37:00,059 791 00:37:00,059 --> 00:37:02,609 792 00:37:02,609 --> 00:37:04,200 793 00:37:04,200 --> 00:37:06,510 794 00:37:06,510 --> 00:37:09,120 795 00:37:09,120 --> 00:37:11,190 796 00:37:11,190 --> 00:37:13,049 797 00:37:13,049 --> 00:37:16,220 798 00:37:16,220 --> 00:37:19,260 799 00:37:19,260 --> 00:37:21,750 800 00:37:21,750 --> 00:37:23,609 801 00:37:23,609 --> 00:37:25,440 802 00:37:25,440 --> 00:37:30,170 803 00:37:30,170 --> 00:37:33,319 804 00:37:33,319 --> 00:37:38,700 805 00:37:38,700 --> 00:37:41,970 806 00:37:41,970 --> 00:37:44,269 807 00:37:44,269 --> 00:37:46,710 808 00:37:46,710 --> 00:37:48,990 809 00:37:48,990 --> 00:37:51,390 810 00:37:51,390 --> 00:37:53,279 811 00:37:53,279 --> 00:37:58,819 812 00:37:58,819 --> 00:38:02,160 813 00:38:02,160 --> 00:38:03,839 814 00:38:03,839 --> 00:38:06,299 815 00:38:06,299 --> 00:38:08,039 816 00:38:08,039 --> 00:38:10,859 817 00:38:10,859 --> 00:38:12,870 818 00:38:12,870 --> 00:38:14,339 819 00:38:14,339 --> 00:38:16,440 820 00:38:16,440 --> 00:38:18,480 821 00:38:18,480 --> 00:38:21,329 822 00:38:21,329 --> 00:38:24,150 823 00:38:24,150 --> 00:38:25,799 824 00:38:25,799 --> 00:38:27,359 825 00:38:27,359 --> 00:38:30,809 826 00:38:30,809 --> 00:38:32,849 827 00:38:32,849 --> 00:38:35,400 828 00:38:35,400 --> 00:38:36,960 829 00:38:36,960 --> 00:38:38,140 830 00:38:38,140 --> 00:38:41,470 831 00:38:41,470 --> 00:38:44,079 832 00:38:44,079 --> 00:38:45,839 833 00:38:45,839 --> 00:38:47,980 834 00:38:47,980 --> 00:38:50,079 835 00:38:50,079 --> 00:38:51,430 836 00:38:51,430 --> 00:38:55,390 837 00:38:55,390 --> 00:39:00,039 838 00:39:00,039 --> 00:39:02,650 839 00:39:02,650 --> 00:39:04,089 840 00:39:04,089 --> 00:39:06,430 841 00:39:06,430 --> 00:39:09,519 842 00:39:09,519 --> 00:39:12,970 843 00:39:12,970 --> 00:39:15,849 844 00:39:15,849 --> 00:39:18,640 845 00:39:18,640 --> 00:39:22,120 846 00:39:22,120 --> 00:39:25,230 847 00:39:25,230 --> 00:39:29,410 848 00:39:29,410 --> 00:39:30,940 849 00:39:30,940 --> 00:39:32,740 850 00:39:32,740 --> 00:39:35,319 851 00:39:35,319 --> 00:39:39,220 852 00:39:39,220 --> 00:39:40,660 853 00:39:40,660 --> 00:39:44,740 854 00:39:44,740 --> 00:39:49,269 855 00:39:49,269 --> 00:39:51,400 856 00:39:51,400 --> 00:39:53,019 857 00:39:53,019 --> 00:39:56,079 858 00:39:56,079 --> 00:39:58,750 859 00:39:58,750 --> 00:40:00,640 860 00:40:00,640 --> 00:40:06,309 861 00:40:06,309 --> 00:40:09,220 862 00:40:09,220 --> 00:40:11,620 863 00:40:11,620 --> 00:40:12,849 864 00:40:12,849 --> 00:40:14,289 865 00:40:14,289 --> 00:40:15,609 866 00:40:15,609 --> 00:40:17,620 867 00:40:17,620 --> 00:40:18,490 868 00:40:18,490 --> 00:40:20,440 869 00:40:20,440 --> 00:40:25,329 870 00:40:25,329 --> 00:40:27,519 871 00:40:27,519 --> 00:40:28,930 872 00:40:28,930 --> 00:40:31,269 873 00:40:31,269 --> 00:40:33,760 874 00:40:33,760 --> 00:40:37,150 875 00:40:37,150 --> 00:40:39,069 876 00:40:39,069 --> 00:40:43,000 877 00:40:43,000 --> 00:40:44,260 878 00:40:44,260 --> 00:40:45,940 879 00:40:45,940 --> 00:40:47,349 880 00:40:47,349 --> 00:40:49,390 881 00:40:49,390 --> 00:40:51,700 882 00:40:51,700 --> 00:40:53,230 883 00:40:53,230 --> 00:40:56,440 884 00:40:56,440 --> 00:40:58,810 885 00:40:58,810 --> 00:41:00,040 886 00:41:00,040 --> 00:41:01,870 887 00:41:01,870 --> 00:41:03,640 888 00:41:03,640 --> 00:41:06,099 889 00:41:06,099 --> 00:41:09,150 890 00:41:09,150 --> 00:41:11,530 891 00:41:11,530 --> 00:41:14,859 892 00:41:14,859 --> 00:41:17,410 893 00:41:17,410 --> 00:41:20,410 894 00:41:20,410 --> 00:41:23,200 895 00:41:23,200 --> 00:41:25,599 896 00:41:25,599 --> 00:41:27,910 897 00:41:27,910 --> 00:41:29,950 898 00:41:29,950 --> 00:41:31,359 899 00:41:31,359 --> 00:41:32,890 900 00:41:32,890 --> 00:41:34,450 901 00:41:34,450 --> 00:41:37,359 902 00:41:37,359 --> 00:41:38,710 903 00:41:38,710 --> 00:41:41,790 904 00:41:41,790 --> 00:41:44,829 905 00:41:44,829 --> 00:41:47,589 906 00:41:47,589 --> 00:41:50,170 907 00:41:50,170 --> 00:41:51,640 908 00:41:51,640 --> 00:41:54,070 909 00:41:54,070 --> 00:41:55,900 910 00:41:55,900 --> 00:41:59,320 911 00:41:59,320 --> 00:42:05,950 912 00:42:05,950 --> 00:42:07,900 913 00:42:07,900 --> 00:42:10,480 914 00:42:10,480 --> 00:42:13,750 915 00:42:13,750 --> 00:42:16,000 916 00:42:16,000 --> 00:42:18,280 917 00:42:18,280 --> 00:42:21,130 918 00:42:21,130 --> 00:42:22,570 919 00:42:22,570 --> 00:42:25,060 920 00:42:25,060 --> 00:42:26,200 921 00:42:26,200 --> 00:42:28,329 922 00:42:28,329 --> 00:42:33,250 923 00:42:33,250 --> 00:42:36,190 924 00:42:36,190 --> 00:42:38,230 925 00:42:38,230 --> 00:42:39,910 926 00:42:39,910 --> 00:42:41,950 927 00:42:41,950 --> 00:42:43,990 928 00:42:43,990 --> 00:42:48,520 929 00:42:48,520 --> 00:42:50,070 930 00:42:50,070 --> 00:42:52,089 931 00:42:52,089 --> 00:42:54,099 932 00:42:54,099 --> 00:42:55,570 933 00:42:55,570 --> 00:42:57,490 934 00:42:57,490 --> 00:42:59,680 935 00:42:59,680 --> 00:43:02,650 936 00:43:02,650 --> 00:43:04,390 937 00:43:04,390 --> 00:43:05,650 938 00:43:05,650 --> 00:43:06,849 939 00:43:06,849 --> 00:43:10,120 940 00:43:10,120 --> 00:43:12,160 941 00:43:12,160 --> 00:43:14,109 942 00:43:14,109 --> 00:43:15,339 943 00:43:15,339 --> 00:43:20,410 944 00:43:20,410 --> 00:43:31,120 945 00:43:31,120 --> 00:43:33,640 946 00:43:33,640 --> 00:43:37,059 947 00:43:37,059 --> 00:43:39,460 948 00:43:39,460 --> 00:43:42,160 949 00:43:42,160 --> 00:43:45,039 950 00:43:45,039 --> 00:43:46,539 951 00:43:46,539 --> 00:43:48,339 952 00:43:48,339 --> 00:43:51,270 953 00:43:51,270 --> 00:43:54,490 954 00:43:54,490 --> 00:43:56,020 955 00:43:56,020 --> 00:44:03,930 956 00:44:03,930 --> 00:44:08,140 957 00:44:08,140 --> 00:44:10,960 958 00:44:10,960 --> 00:44:13,000 959 00:44:13,000 --> 00:44:18,490 960 00:44:18,490 --> 00:44:20,019 961 00:44:20,019 --> 00:44:21,549 962 00:44:21,549 --> 00:44:23,529 963 00:44:23,529 --> 00:44:24,970 964 00:44:24,970 --> 00:44:26,380 965 00:44:26,380 --> 00:44:28,329 966 00:44:28,329 --> 00:44:29,470 967 00:44:29,470 --> 00:44:30,789 968 00:44:30,789 --> 00:44:33,819 969 00:44:33,819 --> 00:44:39,880 970 00:44:39,880 --> 00:44:41,859 971 00:44:41,859 --> 00:44:44,740 972 00:44:44,740 --> 00:44:46,690 973 00:44:46,690 --> 00:44:48,279 974 00:44:48,279 --> 00:44:51,700 975 00:44:51,700 --> 00:44:54,339 976 00:44:54,339 --> 00:44:56,170 977 00:44:56,170 --> 00:44:57,519 978 00:44:57,519 --> 00:45:00,279 979 00:45:00,279 --> 00:45:02,319 980 00:45:02,319 --> 00:45:03,430 981 00:45:03,430 --> 00:45:06,880 982 00:45:06,880 --> 00:45:08,650 983 00:45:08,650 --> 00:45:11,650 984 00:45:11,650 --> 00:45:14,920 985 00:45:14,920 --> 00:45:16,359 986 00:45:16,359 --> 00:45:18,490 987 00:45:18,490 --> 00:45:19,089 988 00:45:19,089 --> 00:45:23,019 989 00:45:23,019 --> 00:45:27,819 990 00:45:27,819 --> 00:45:29,620 991 00:45:29,620 --> 00:45:30,940 992 00:45:30,940 --> 00:45:32,799 993 00:45:32,799 --> 00:45:34,630 994 00:45:34,630 --> 00:45:37,960 995 00:45:37,960 --> 00:45:39,400 996 00:45:39,400 --> 00:45:41,589 997 00:45:41,589 --> 00:45:44,019 998 00:45:44,019 --> 00:45:45,579 999 00:45:45,579 --> 00:45:47,589 1000 00:45:47,589 --> 00:45:49,989 1001 00:45:49,989 --> 00:45:52,329 1002 00:45:52,329 --> 00:45:56,019 1003 00:45:56,019 --> 00:45:57,880 1004 00:45:57,880 --> 00:46:00,130 1005 00:46:00,130 --> 00:46:01,660 1006 00:46:01,660 --> 00:46:04,210 1007 00:46:04,210 --> 00:46:08,440 1008 00:46:08,440 --> 00:46:10,859 1009 00:46:10,859 --> 00:46:13,120 1010 00:46:13,120 --> 00:46:15,249 1011 00:46:15,249 --> 00:46:17,710 1012 00:46:17,710 --> 00:46:19,150 1013 00:46:19,150 --> 00:46:20,950 1014 00:46:20,950 --> 00:46:22,450 1015 00:46:22,450 --> 00:46:25,120 1016 00:46:25,120 --> 00:46:26,289 1017 00:46:26,289 --> 00:46:27,549 1018 00:46:27,549 --> 00:46:29,370 1019 00:46:29,370 --> 00:46:32,650 1020 00:46:32,650 --> 00:46:38,109 1021 00:46:38,109 --> 00:46:40,089 1022 00:46:40,089 --> 00:46:41,950 1023 00:46:41,950 --> 00:46:43,150 1024 00:46:43,150 --> 00:46:45,249 1025 00:46:45,249 --> 00:46:46,930 1026 00:46:46,930 --> 00:46:49,120 1027 00:46:49,120 --> 00:46:51,910 1028 00:46:51,910 --> 00:46:53,950 1029 00:46:53,950 --> 00:46:55,420 1030 00:46:55,420 --> 00:46:57,430 1031 00:46:57,430 --> 00:46:59,319 1032 00:46:59,319 --> 00:47:01,059 1033 00:47:01,059 --> 00:47:03,430 1034 00:47:03,430 --> 00:47:04,719 1035 00:47:04,719 --> 00:47:06,579 1036 00:47:06,579 --> 00:47:08,410 1037 00:47:08,410 --> 00:47:09,999 1038 00:47:09,999 --> 00:47:11,920 1039 00:47:11,920 --> 00:47:13,420 1040 00:47:13,420 --> 00:47:18,069 1041 00:47:18,069 --> 00:47:19,900 1042 00:47:19,900 --> 00:47:21,579 1043 00:47:21,579 --> 00:47:23,739 1044 00:47:23,739 --> 00:47:26,410 1045 00:47:26,410 --> 00:47:29,529 1046 00:47:29,529 --> 00:47:31,930 1047 00:47:31,930 --> 00:47:33,009 1048 00:47:33,009 --> 00:47:36,880 1049 00:47:36,880 --> 00:47:38,229 1050 00:47:38,229 --> 00:47:39,909 1051 00:47:39,909 --> 00:47:43,899 1052 00:47:43,899 --> 00:47:45,459 1053 00:47:45,459 --> 00:47:47,620 1054 00:47:47,620 --> 00:47:49,359 1055 00:47:49,359 --> 00:47:52,559 1056 00:47:52,559 --> 00:47:55,839 1057 00:47:55,839 --> 00:47:58,059 1058 00:47:58,059 --> 00:48:00,729 1059 00:48:00,729 --> 00:48:02,169 1060 00:48:02,169 --> 00:48:04,479 1061 00:48:04,479 --> 00:48:06,789 1062 00:48:06,789 --> 00:48:11,589 1063 00:48:11,589 --> 00:48:13,659 1064 00:48:13,659 --> 00:48:17,439 1065 00:48:17,439 --> 00:48:26,079 1066 00:48:26,079 --> 00:48:27,399 1067 00:48:27,399 --> 00:48:30,159 1068 00:48:30,159 --> 00:48:33,999 1069 00:48:33,999 --> 00:48:39,120 1070 00:48:39,120 --> 00:48:40,929 1071 00:48:40,929 --> 00:48:43,149 1072 00:48:43,149 --> 00:48:46,989 1073 00:48:46,989 --> 00:48:51,609 1074 00:48:51,609 --> 00:48:54,249 1075 00:48:54,249 --> 00:48:54,259 1076 00:48:54,259 --> 00:48:57,180 1077 00:48:57,180 --> 00:48:59,530 1078 00:48:59,530 --> 00:49:00,640 1079 00:49:00,640 --> 00:49:03,160 1080 00:49:03,160 --> 00:49:04,810 1081 00:49:04,810 --> 00:49:07,240 1082 00:49:07,240 --> 00:49:10,090 1083 00:49:10,090 --> 00:49:12,760 1084 00:49:12,760 --> 00:49:14,320 1085 00:49:14,320 --> 00:49:15,640 1086 00:49:15,640 --> 00:49:17,650 1087 00:49:17,650 --> 00:49:19,510 1088 00:49:19,510 --> 00:49:21,010 1089 00:49:21,010 --> 00:49:25,870 1090 00:49:25,870 --> 00:49:27,880 1091 00:49:27,880 --> 00:49:29,980 1092 00:49:29,980 --> 00:49:32,020 1093 00:49:32,020 --> 00:49:33,340 1094 00:49:33,340 --> 00:49:35,050 1095 00:49:35,050 --> 00:49:38,170 1096 00:49:38,170 --> 00:49:39,490 1097 00:49:39,490 --> 00:49:41,980 1098 00:49:41,980 --> 00:49:45,730 1099 00:49:45,730 --> 00:49:56,440 1100 00:49:56,440 --> 00:49:56,450 1101 00:49:56,450 --> 00:49:58,510