1 00:00:03,520 --> 00:00:05,070 PROFESSOR: All right. 2 00:00:05,070 --> 00:00:08,210 Today I think is the last lecture at least 3 00:00:08,210 --> 00:00:11,280 for the while about origami, and I'm 4 00:00:11,280 --> 00:00:14,257 going to talk about where I got started 5 00:00:14,257 --> 00:00:15,715 thinking about organic mathematics. 6 00:00:21,020 --> 00:00:28,270 The folding cup problem, and this 7 00:00:28,270 --> 00:00:31,050 is sort of motivated by a magic trick. 8 00:00:31,050 --> 00:00:34,040 The idea is you take a piece of paper. 9 00:00:34,040 --> 00:00:35,450 You fold it flat. 10 00:00:40,040 --> 00:00:41,920 You make one complete straight cut. 11 00:00:49,550 --> 00:00:50,525 You cut along a line. 12 00:00:54,290 --> 00:01:00,080 And you unfold the pieces, and the question 13 00:01:00,080 --> 00:01:03,450 is what shapes can you get by that process. 14 00:01:03,450 --> 00:01:06,440 So this is like a magic trick. 15 00:01:06,440 --> 00:01:09,860 I showed you making a swan which I have here 16 00:01:09,860 --> 00:01:12,400 just for-- to jog your memory. 17 00:01:12,400 --> 00:01:17,090 You have a rectangle paper, and you can see the swan on there 18 00:01:17,090 --> 00:01:18,770 and you can see a bunch of creases. 19 00:01:18,770 --> 00:01:23,460 You fold along all the creases, not the swan lines, 20 00:01:23,460 --> 00:01:26,620 and you end up with all the edges of the swan lying 21 00:01:26,620 --> 00:01:28,110 right along that line. 22 00:01:28,110 --> 00:01:36,460 You cut along the line, and you get your swan, 23 00:01:36,460 --> 00:01:38,770 as we did before. 24 00:01:38,770 --> 00:01:41,085 And you also get the anti-swan. 25 00:01:41,085 --> 00:01:43,089 The other piece-- I didn't show that last time. 26 00:01:43,089 --> 00:01:44,630 But it's really-- it's not like we're 27 00:01:44,630 --> 00:01:46,755 making we're not allowed to make any extra creases. 28 00:01:46,755 --> 00:01:49,420 We really want the swan. 29 00:01:49,420 --> 00:01:53,350 So we cut along exactly the edges of the swan 30 00:01:53,350 --> 00:01:54,765 by lining them up onto a line. 31 00:01:54,765 --> 00:01:56,890 So really, you could think of this as a magic trick 32 00:01:56,890 --> 00:01:58,660 in cutting, but you can also think of it 33 00:01:58,660 --> 00:02:00,090 as an origami problem, which is I 34 00:02:00,090 --> 00:02:02,190 want to line up all these edges by folding. 35 00:02:02,190 --> 00:02:03,140 How do I do it? 36 00:02:03,140 --> 00:02:07,440 And that way it connects to a lot origami design problems. 37 00:02:07,440 --> 00:02:11,360 This problem has an old history. 38 00:02:11,360 --> 00:02:13,130 It goes back to 1721. 39 00:02:13,130 --> 00:02:15,000 This is the oldest reference we know. 40 00:02:15,000 --> 00:02:21,120 This is a Japanese puzzle book, Wakoku Chiyekurabe 41 00:02:21,120 --> 00:02:22,600 by Kan Chu Sen. 42 00:02:22,600 --> 00:02:24,510 And I think this is kind of like-- it's 43 00:02:24,510 --> 00:02:27,630 called "Mathematical Contests" is the translation. 44 00:02:27,630 --> 00:02:31,650 And it's sort of like the old version 45 00:02:31,650 --> 00:02:36,520 of like these big problem solving sessions 46 00:02:36,520 --> 00:02:40,030 that kids do these days to get better at math, 47 00:02:40,030 --> 00:02:43,470 and one of the pages poses this problem. 48 00:02:43,470 --> 00:02:45,460 I have this Japanese emblem shape. 49 00:02:45,460 --> 00:02:47,520 Can I make it from a piece of paper 50 00:02:47,520 --> 00:02:51,377 by folding in one straight cut, and the answer is yes. 51 00:02:51,377 --> 00:02:53,210 And this is a solution if you cheat and look 52 00:02:53,210 --> 00:02:55,190 in the back of the book. 53 00:02:55,190 --> 00:02:58,030 So I'll let you read that for minute. 54 00:02:58,030 --> 00:02:59,680 [LAUGHS] 55 00:02:59,680 --> 00:03:02,120 You're making folds along lines that end up 56 00:03:02,120 --> 00:03:05,370 lining up other parts of the shape 57 00:03:05,370 --> 00:03:07,770 so that in the end everything lies along the line, 58 00:03:07,770 --> 00:03:10,310 then you cut along the line. 59 00:03:10,310 --> 00:03:12,920 We learned about this a bit later 60 00:03:12,920 --> 00:03:16,280 than the-- we learned about this problem from Martin Gardner 61 00:03:16,280 --> 00:03:20,410 originally, and he knew about the magic world. 62 00:03:20,410 --> 00:03:22,430 So Houdini, before he was an escape artist, 63 00:03:22,430 --> 00:03:26,770 he was a general magician, and in 1922, he wrote or probably 64 00:03:26,770 --> 00:03:30,650 had ghost written this book, "Houdini's Paper Magic". 65 00:03:30,650 --> 00:03:35,580 And one of the pages is about folding, and it says here, 66 00:03:35,580 --> 00:03:37,730 you can take a square paper, fold it flat, 67 00:03:37,730 --> 00:03:41,060 make one straight cut, and get a regular five-pointed star. 68 00:03:41,060 --> 00:03:44,600 And that was pretty cool, and then other magicians 69 00:03:44,600 --> 00:03:47,289 picked it up, in particular this guy Gerald Lowe, who 70 00:03:47,289 --> 00:03:48,580 wrote this book "Paper Capers". 71 00:03:48,580 --> 00:03:50,680 It's more like a very small book. 72 00:03:50,680 --> 00:03:51,750 Magic book. 73 00:03:51,750 --> 00:03:53,970 And he could make all sorts of different things 74 00:03:53,970 --> 00:03:56,330 and he would incorporate them into magic tricks. 75 00:03:56,330 --> 00:03:58,660 And he was primarily using simple folds. 76 00:03:58,660 --> 00:04:00,910 He would just fold along one line at a time, 77 00:04:00,910 --> 00:04:04,610 and make one straight cut, and go 78 00:04:04,610 --> 00:04:06,500 to make all these cool patterns. 79 00:04:06,500 --> 00:04:12,080 Like here, I have one of his examples redone. 80 00:04:12,080 --> 00:04:16,100 I start from a rectangle, I fold, I fold, I fold, 81 00:04:16,100 --> 00:04:17,880 I fold-- these are all simple folds. 82 00:04:17,880 --> 00:04:24,400 I take my scissors, and I make one complete straight cut. 83 00:04:24,400 --> 00:04:28,650 And usually when I perform this trick, I say look! 84 00:04:28,650 --> 00:04:32,050 I made an isosceles triangle. 85 00:04:32,050 --> 00:04:33,320 Wow! 86 00:04:33,320 --> 00:04:35,220 I made five isosceles triangles. 87 00:04:35,220 --> 00:04:36,630 Amazing! 88 00:04:36,630 --> 00:04:39,220 And then I made everything, except the five 89 00:04:39,220 --> 00:04:40,430 isosceles triangles. 90 00:04:40,430 --> 00:04:43,477 So you saw that coming. 91 00:04:43,477 --> 00:04:45,560 And you could make an arrangement of five of these 92 00:04:45,560 --> 00:04:46,170 if you want. 93 00:04:46,170 --> 00:04:47,810 All that sort of very symmetric stuff 94 00:04:47,810 --> 00:04:49,670 is easy to do by simple folds. 95 00:04:49,670 --> 00:04:51,910 I'll talk more about simple folds later, 96 00:04:51,910 --> 00:04:55,640 but we were really curious about the general challenge. 97 00:04:55,640 --> 00:04:59,260 So this is the-- you can download this from my web page 98 00:04:59,260 --> 00:05:00,400 if you want to make one. 99 00:05:00,400 --> 00:05:05,110 It's pretty-- it's a fun trick. 100 00:05:05,110 --> 00:05:05,610 Good. 101 00:05:05,610 --> 00:05:08,420 So I have some more interesting examples. 102 00:05:08,420 --> 00:05:11,380 See here I have a rectangle folded, 103 00:05:11,380 --> 00:05:14,160 and I make one complete straight cut. 104 00:05:24,000 --> 00:05:28,247 And this one has actually a line of symmetry, 105 00:05:28,247 --> 00:05:29,705 so I fold in half at the beginning. 106 00:05:32,330 --> 00:05:34,931 So I get an angel fish. 107 00:05:34,931 --> 00:05:35,430 Ooh! 108 00:05:38,917 --> 00:05:40,250 All right, you're not impressed. 109 00:05:40,250 --> 00:05:41,880 Keep going. 110 00:05:41,880 --> 00:05:43,000 Here's another one. 111 00:05:43,000 --> 00:05:44,140 One straight cut. 112 00:05:44,140 --> 00:05:46,550 We could go all day here. 113 00:05:46,550 --> 00:05:48,050 I mean, the point of today's lecture 114 00:05:48,050 --> 00:05:50,820 is to see how this is done. 115 00:05:50,820 --> 00:05:52,149 In general. 116 00:05:52,149 --> 00:05:53,190 Here we have a butterfly. 117 00:05:57,280 --> 00:05:57,790 All right. 118 00:05:57,790 --> 00:05:59,870 You guys are tough to impress here. 119 00:05:59,870 --> 00:06:01,090 Here we go. 120 00:06:01,090 --> 00:06:03,640 This one is deemed thematic. 121 00:06:03,640 --> 00:06:07,400 It's almost October, so it's sort of appropriate. 122 00:06:07,400 --> 00:06:09,560 We'll one straight cut. 123 00:06:09,560 --> 00:06:11,430 Haven't done this one for quite awhile. 124 00:06:11,430 --> 00:06:17,020 Get tons of pieces, and if I'm lucky-- open it up the right 125 00:06:17,020 --> 00:06:19,073 way around. 126 00:06:19,073 --> 00:06:19,698 Jack-o-lantern. 127 00:06:24,000 --> 00:06:26,220 Wow, it's amazing! 128 00:06:26,220 --> 00:06:27,580 How is it possible? 129 00:06:27,580 --> 00:06:29,790 Obviously you can make many shapes all at once. 130 00:06:29,790 --> 00:06:31,120 That's the general idea here. 131 00:06:31,120 --> 00:06:33,610 I'll admit, I cheated here because I wanted kids 132 00:06:33,610 --> 00:06:35,040 to be able to fold this. 133 00:06:35,040 --> 00:06:38,675 The outer octagon was cut initially. 134 00:06:38,675 --> 00:06:40,556 Yeah, so it's not from a rectangle. 135 00:06:40,556 --> 00:06:42,180 Just to make it easier to fold, but you 136 00:06:42,180 --> 00:06:43,860 could do it all at once. 137 00:06:43,860 --> 00:06:47,620 And now, the big demo. 138 00:06:47,620 --> 00:06:49,150 In fact, it's so big I think I might 139 00:06:49,150 --> 00:06:52,078 want to use the exacto knife. 140 00:06:52,078 --> 00:06:55,908 Uh, we'll try with scissors. 141 00:06:55,908 --> 00:06:59,540 Got a lot of layers. 142 00:06:59,540 --> 00:07:01,530 Oh, yeah. 143 00:07:01,530 --> 00:07:03,862 This is why I usually bring my own scissors. 144 00:07:03,862 --> 00:07:05,070 Just checking the other side. 145 00:07:08,930 --> 00:07:10,220 They're better scissors. 146 00:07:10,220 --> 00:07:12,620 That's what's special about my scissors. 147 00:07:12,620 --> 00:07:14,830 All right, time for the exacto knife. 148 00:07:14,830 --> 00:07:16,580 Make sure I'm only cutting on the boundary 149 00:07:16,580 --> 00:07:17,710 between red and white. 150 00:07:22,742 --> 00:07:23,700 Yeah, my lecture notes. 151 00:07:23,700 --> 00:07:24,616 Yeah, who needs those? 152 00:07:29,275 --> 00:07:29,775 It's flat. 153 00:07:34,292 --> 00:07:35,410 A little more cutting. 154 00:07:39,592 --> 00:07:41,800 I believe all the pieces in this case are rectangles. 155 00:07:44,620 --> 00:07:46,740 Exciting. 156 00:07:46,740 --> 00:07:49,964 All right, straight cut, right? 157 00:07:49,964 --> 00:07:51,895 I don't remember which way this one opens. 158 00:07:55,325 --> 00:08:00,060 This should be the MIT logo. 159 00:08:00,060 --> 00:08:01,900 This one I encourage you to try at home. 160 00:08:01,900 --> 00:08:04,949 It's pretty crazy. 161 00:08:04,949 --> 00:08:06,240 It's definitely a hard folding. 162 00:08:09,130 --> 00:08:10,910 I'm getting used to it now. 163 00:08:10,910 --> 00:08:13,710 All right, so you could make anything is the point. 164 00:08:13,710 --> 00:08:17,081 Some are a little more difficult because they have more layers 165 00:08:17,081 --> 00:08:17,580 and so on. 166 00:08:17,580 --> 00:08:20,415 If I made it out of thinner paper like some of the math 167 00:08:20,415 --> 00:08:23,140 magicians do, it is super easy. 168 00:08:23,140 --> 00:08:24,460 Onion skin paper or something. 169 00:08:24,460 --> 00:08:27,650 I think I have some pictures of the piece patterns 170 00:08:27,650 --> 00:08:33,500 if you want to see what these look like. 171 00:08:33,500 --> 00:08:35,260 And these are all available for download. 172 00:08:35,260 --> 00:08:38,640 You want to impress your friends, go for it. 173 00:08:44,914 --> 00:08:46,830 They all use slightly different color codings, 174 00:08:46,830 --> 00:08:47,996 but it's mountain or valley. 175 00:08:50,420 --> 00:08:53,500 And so we want to see how to make these. 176 00:08:59,330 --> 00:09:01,390 So let me state the theorem first. 177 00:09:01,390 --> 00:09:07,840 We have our good friend, the universality result, 178 00:09:07,840 --> 00:09:20,370 which is any set of line segments on your piece of paper 179 00:09:20,370 --> 00:09:27,280 can be-- I'll phrase it as can be aligned by flat folding. 180 00:09:30,440 --> 00:09:33,710 A line means when you make the flat folding, 181 00:09:33,710 --> 00:09:35,610 all the segments come onto a common line. 182 00:09:35,610 --> 00:09:39,080 Nothing else comes to that line, and therefore you 183 00:09:39,080 --> 00:09:42,790 cut a long line, you get exactly those line segments. 184 00:09:42,790 --> 00:09:47,580 And there are two methods for solving this problem. 185 00:09:47,580 --> 00:09:56,960 The first one is what I call straight skeleton method, 186 00:09:56,960 --> 00:10:00,750 and second one I'll call the disk packing method. 187 00:10:03,560 --> 00:10:04,990 By slightly different authors. 188 00:10:04,990 --> 00:10:08,700 This one was me, my dad, and my advisor, Anna [INAUDIBLE]. 189 00:10:08,700 --> 00:10:14,550 This one was Marshall Burn, me, David Epstein, Barry Hayes. 190 00:10:14,550 --> 00:10:16,360 This one's slightly after this one. 191 00:10:16,360 --> 00:10:19,470 This is sort of my first computational origami paper. 192 00:10:19,470 --> 00:10:23,250 And they're quite different. 193 00:10:23,250 --> 00:10:26,180 I mean at a high level, this one's practical. 194 00:10:26,180 --> 00:10:29,205 This one is theoretically good, but impractical. 195 00:10:29,205 --> 00:10:30,580 This one's actually theoretically 196 00:10:30,580 --> 00:10:33,700 bad in a few situations which we will get to, 197 00:10:33,700 --> 00:10:35,930 but it works very well almost always. 198 00:10:35,930 --> 00:10:38,510 In a formal sense of almost always. 199 00:10:38,510 --> 00:10:42,740 This one always works, but it's a challenge to fold. 200 00:10:42,740 --> 00:10:44,240 All of the examples I showed you are 201 00:10:44,240 --> 00:10:45,864 made with the straight skeleton method. 202 00:10:48,140 --> 00:10:50,360 So that's the idea. 203 00:10:50,360 --> 00:10:53,250 That's where we're going to talk about both of them. 204 00:10:53,250 --> 00:10:59,030 And first, I have a warm up-- three warm ups. 205 00:10:59,030 --> 00:11:01,350 Suppose you had a square paper and you 206 00:11:01,350 --> 00:11:03,136 wanted to make a single cut. 207 00:11:03,136 --> 00:11:06,180 What folding do I do? 208 00:11:06,180 --> 00:11:07,235 Nothing! 209 00:11:07,235 --> 00:11:08,970 Yeah, that was easy. 210 00:11:08,970 --> 00:11:13,232 Let's say I have two lines I want to make. 211 00:11:13,232 --> 00:11:13,940 What should I do? 212 00:11:16,460 --> 00:11:18,370 Fold between them. 213 00:11:18,370 --> 00:11:22,270 Fold the lines onto each other, which is angular bisector. 214 00:11:22,270 --> 00:11:29,030 If I extend the lines, and I bisect the angle there, 215 00:11:29,030 --> 00:11:31,180 then I will fold one line to the other. 216 00:11:31,180 --> 00:11:34,150 I brought one just to be totally obvious. 217 00:11:34,150 --> 00:11:36,670 You have two lines fold along the angular 218 00:11:36,670 --> 00:11:38,240 bisector of their extensions. 219 00:11:38,240 --> 00:11:40,050 It lines up the lines, and nothing else. 220 00:11:43,370 --> 00:11:45,505 OK, a little more exciting. 221 00:11:49,680 --> 00:11:53,400 What if I had a triangle? 222 00:11:53,400 --> 00:11:57,590 How would you line up the edges the triangle and nothing else? 223 00:11:57,590 --> 00:11:58,675 Rabbit ear. 224 00:11:58,675 --> 00:11:59,174 Yes. 225 00:12:01,830 --> 00:12:05,300 Rabbit ear is you fold along the three angular 226 00:12:05,300 --> 00:12:06,850 bisectors of the triangle. 227 00:12:06,850 --> 00:12:10,230 This is something we talked about in the tree method. 228 00:12:10,230 --> 00:12:11,760 This is one of the sort of gadgets 229 00:12:11,760 --> 00:12:15,310 we use in one of-- where these were active paths. 230 00:12:15,310 --> 00:12:18,326 And we fold along those angular bisectors. 231 00:12:18,326 --> 00:12:19,700 Angular bisectors intuitively are 232 00:12:19,700 --> 00:12:22,859 very good because locally they line up edges. 233 00:12:22,859 --> 00:12:24,400 So if I fold along all three of them, 234 00:12:24,400 --> 00:12:27,140 and you may know that they always meet at a point, 235 00:12:27,140 --> 00:12:28,825 then I kind of line up all those edges. 236 00:12:28,825 --> 00:12:30,450 If I just fold along those three edges, 237 00:12:30,450 --> 00:12:31,600 it won't be flat foldable. 238 00:12:31,600 --> 00:12:34,090 It's like this floppy thing. 239 00:12:34,090 --> 00:12:36,850 And so I've added in these perpendicular-- 240 00:12:36,850 --> 00:12:42,050 the purple lines-- to give me my hinges 241 00:12:42,050 --> 00:12:43,630 so I can manipulate these arms. 242 00:12:43,630 --> 00:12:45,080 You don't have to use all of them. 243 00:12:45,080 --> 00:12:48,390 Then you flatten it, and now along this line 244 00:12:48,390 --> 00:12:49,950 are all the black guys. 245 00:12:49,950 --> 00:12:52,660 All the black lines. 246 00:12:52,660 --> 00:12:54,660 We've got a bunch of flat foldings. 247 00:12:54,660 --> 00:12:59,300 All right, so a general idea, and in the straight skeleton 248 00:12:59,300 --> 00:13:02,900 method, what we are going to use are angular bisectors 249 00:13:02,900 --> 00:13:04,070 and perpendicular folds. 250 00:13:04,070 --> 00:13:07,340 Perpendicular folds are also good because locally folds 251 00:13:07,340 --> 00:13:09,110 are a reflection if you fold flat. 252 00:13:09,110 --> 00:13:12,290 So this line will fold on top of this line. 253 00:13:12,290 --> 00:13:13,416 So perpendiculars are good. 254 00:13:13,416 --> 00:13:14,540 Angular bisectors are good. 255 00:13:14,540 --> 00:13:17,690 If you fold along all of them, you should line everything up. 256 00:13:17,690 --> 00:13:22,730 That's the intuition, and the question 257 00:13:22,730 --> 00:13:25,400 is how do I fold a long enough angular bisectors 258 00:13:25,400 --> 00:13:29,090 and perpendiculars so that it actually folds flat. 259 00:13:29,090 --> 00:13:31,605 And that is the straight skeleton, or one way 260 00:13:31,605 --> 00:13:33,105 to do that is the straight skeleton. 261 00:13:44,020 --> 00:13:47,910 And this actually was invented a few years earlier. 262 00:13:47,910 --> 00:13:52,390 95, 96 by a couple of Austrians. 263 00:13:52,390 --> 00:13:54,790 That was in [INAUDIBLE] and actually four people. 264 00:13:59,950 --> 00:14:01,530 So let me write down a definition, 265 00:14:01,530 --> 00:14:07,040 and then we will-- I'll show you what it means. 266 00:14:07,040 --> 00:14:09,810 We've seen a thing like this very briefly 267 00:14:09,810 --> 00:14:11,990 in the universal molecule, but this 268 00:14:11,990 --> 00:14:13,945 is going to be more general in some sense. 269 00:14:31,660 --> 00:14:35,450 And actually, why don't I put up an image of one 270 00:14:35,450 --> 00:14:38,430 while we're defining it. 271 00:15:19,764 --> 00:15:22,999 All right, so it is trajectory of the vertices of the desired 272 00:15:22,999 --> 00:15:24,290 cut pattern-- that's our input. 273 00:15:24,290 --> 00:15:28,230 The graph of edges we want to cut out. 274 00:15:28,230 --> 00:15:30,300 As we simultaneously shrink each region. 275 00:15:30,300 --> 00:15:33,490 That's every face outlined by those cuts. 276 00:15:33,490 --> 00:15:36,340 Keeping edges parallel and a uniform perpendicular distance 277 00:15:36,340 --> 00:15:38,760 from the original edges. 278 00:15:38,760 --> 00:15:45,900 So, a bit of a mouthful, but let me draw some pictures. 279 00:15:45,900 --> 00:15:48,610 Well, let's maybe start with a triangle. 280 00:15:48,610 --> 00:15:51,330 So the idea with a triangle is you 281 00:15:51,330 --> 00:15:54,210 shrink-- this is really the wrong order to do things. 282 00:15:56,637 --> 00:15:58,970 I want to shrink-- there's two regions for the triangle. 283 00:15:58,970 --> 00:16:00,500 There's the inside and the outside. 284 00:16:00,500 --> 00:16:04,760 If I shrink the inside, I get these parallel lines. 285 00:16:04,760 --> 00:16:07,420 All-- I want all of these distances to be equal. 286 00:16:07,420 --> 00:16:09,900 Those are the perpendicular distances. 287 00:16:09,900 --> 00:16:12,910 I keep shrinking, and at some point 288 00:16:12,910 --> 00:16:15,280 I can't shrink anymore because I get a single point. 289 00:16:15,280 --> 00:16:16,950 The in-center of the triangle. 290 00:16:16,950 --> 00:16:19,490 If I watch where did the vertices go during that time, 291 00:16:19,490 --> 00:16:21,450 it's along angular bisectors. 292 00:16:21,450 --> 00:16:24,606 Hey, our good friends, angular bisectors. 293 00:16:24,606 --> 00:16:26,230 Now I do the same thing on the outside. 294 00:16:26,230 --> 00:16:30,420 Shrinking the outside region is like expanding the triangle. 295 00:16:30,420 --> 00:16:35,120 As I expand the triangle, the outside gets smaller area. 296 00:16:35,120 --> 00:16:37,390 So actually, it's just the same thing. 297 00:16:37,390 --> 00:16:40,170 I get concentric triangles, and I just 298 00:16:40,170 --> 00:16:42,430 keep going along the angular bisectors. 299 00:16:42,430 --> 00:16:43,280 So that's it. 300 00:16:43,280 --> 00:16:45,460 It's not going to give us the perpendicular fold. 301 00:16:45,460 --> 00:16:47,470 It's just the angular bisector parts. 302 00:16:47,470 --> 00:16:49,185 Still see a triangle in there somewhere. 303 00:16:51,730 --> 00:16:53,570 OK, that's a really simple example, 304 00:16:53,570 --> 00:16:55,280 and the only event that happened is 305 00:16:55,280 --> 00:16:57,640 that the polygon disappeared. 306 00:16:57,640 --> 00:17:03,950 When that happens, you stop with that particular polygon. 307 00:17:03,950 --> 00:17:08,191 In general, there are three things that can happen. 308 00:17:08,191 --> 00:17:09,065 We call these events. 309 00:17:12,150 --> 00:17:12,900 Three interesting. 310 00:17:12,900 --> 00:17:14,589 Things. 311 00:17:14,589 --> 00:17:17,145 One is that an edge disappears. 312 00:17:21,550 --> 00:17:24,880 So for example, locally, if I have a picture like this 313 00:17:24,880 --> 00:17:32,500 and I shrink, and I shrink, and I shrink, at some point-- 314 00:17:32,500 --> 00:17:36,730 what's happening is these angular bisectors are meeting, 315 00:17:36,730 --> 00:17:40,410 and now I lost-- this edge shrinks to zero length. 316 00:17:40,410 --> 00:17:41,810 So just forget about the edge. 317 00:17:41,810 --> 00:17:42,935 Pretend it was never there. 318 00:17:42,935 --> 00:17:45,790 Just keeps shrinking now what is these two edges. 319 00:17:45,790 --> 00:17:50,900 And I shrink, and I shrink, and I shrink. 320 00:17:50,900 --> 00:17:53,550 What happens is, in some sense, these vertices 321 00:17:53,550 --> 00:17:56,640 merge-- these edges merge, and now I 322 00:17:56,640 --> 00:18:00,400 have one guy going straight up there. 323 00:18:00,400 --> 00:18:01,710 And what is that edge doing? 324 00:18:01,710 --> 00:18:04,280 It's not an angular bisector of this or this, 325 00:18:04,280 --> 00:18:07,825 but it's an angular bisector of the extension of these two 326 00:18:07,825 --> 00:18:08,325 lines. 327 00:18:11,620 --> 00:18:15,950 Because if you look at this-- one of these two edges-- 328 00:18:15,950 --> 00:18:17,620 they are parallel to the two original. 329 00:18:17,620 --> 00:18:19,930 So if you bisect those parallel offsets, 330 00:18:19,930 --> 00:18:22,810 it's the same thing as bisecting the original edges 331 00:18:22,810 --> 00:18:24,490 and extension. 332 00:18:24,490 --> 00:18:27,650 So this looks good because these two folds will line up 333 00:18:27,650 --> 00:18:30,785 those two edges, or this fold will line up these two edge. 334 00:18:30,785 --> 00:18:32,410 This fold will line up those two edges. 335 00:18:32,410 --> 00:18:34,414 This fold will line up these two edges. 336 00:18:34,414 --> 00:18:36,080 And we're doing kind of extra alignment, 337 00:18:36,080 --> 00:18:38,070 but everything looks kosher. 338 00:18:40,830 --> 00:18:43,580 Good. 339 00:18:43,580 --> 00:18:46,240 So when an edge disappears, you just forget about it. 340 00:18:50,650 --> 00:18:53,480 All right, forget-- it's probably "forgedaboutit"-- 341 00:18:53,480 --> 00:18:56,092 something like that. 342 00:18:56,092 --> 00:18:57,900 All right. 343 00:18:57,900 --> 00:19:01,825 Then we have-- a region can disappear. 344 00:19:05,850 --> 00:19:08,970 That's what happened with the triangle. 345 00:19:08,970 --> 00:19:11,480 And then again, you forget about it. 346 00:19:15,307 --> 00:19:16,390 There may be many regions. 347 00:19:16,390 --> 00:19:18,265 You have to keep shrinking the other regions, 348 00:19:18,265 --> 00:19:21,310 but when one disappears, you're done. 349 00:19:21,310 --> 00:19:25,335 Third thing that can happen is that a region splits. 350 00:19:29,950 --> 00:19:32,590 So let's look at an interesting polygon. 351 00:19:36,250 --> 00:19:42,580 This one-- the straight edges. 352 00:19:42,580 --> 00:19:48,130 And when I shrink this guy-- see, what's happening 353 00:19:48,130 --> 00:19:56,440 is this edge is approaching that vertex, and at some point 354 00:19:56,440 --> 00:19:57,065 they will meet. 355 00:20:00,670 --> 00:20:04,120 And what we're left with are two triangles in this case. 356 00:20:04,120 --> 00:20:06,060 And generally split into two parts, 357 00:20:06,060 --> 00:20:08,380 you just keep shrinking the parts. 358 00:20:08,380 --> 00:20:11,710 So it's not really like you're stopping at any point. 359 00:20:11,710 --> 00:20:13,464 Just the same thing over and over. 360 00:20:13,464 --> 00:20:15,380 But if you're implementing this on a computer, 361 00:20:15,380 --> 00:20:17,046 you really have to realize that happens. 362 00:20:17,046 --> 00:20:18,990 Otherwise you'd shrink them beyond each other 363 00:20:18,990 --> 00:20:22,002 and it would be self intersecting and ugly. 364 00:20:22,002 --> 00:20:23,460 But you do the obvious thing, which 365 00:20:23,460 --> 00:20:25,990 is you cut where they split. 366 00:20:25,990 --> 00:20:28,410 And what will happen in this case with straight skeleton 367 00:20:28,410 --> 00:20:30,910 is you keep going along an angular bisector 368 00:20:30,910 --> 00:20:32,880 until that little triangle stops. 369 00:20:40,430 --> 00:20:43,434 One more edge here. 370 00:20:43,434 --> 00:20:45,600 So that's what the straight skeleton will look like. 371 00:20:45,600 --> 00:20:48,560 This edge is an angular bisector of this one and this one. 372 00:20:48,560 --> 00:20:51,180 This edge is an angular bisector of this one and this one. 373 00:20:51,180 --> 00:20:54,090 In general, if you look at an edge, 374 00:20:54,090 --> 00:20:57,390 and you see what original edge can I 375 00:20:57,390 --> 00:21:00,600 reach without crossing another skeleton edge, 376 00:21:00,600 --> 00:21:02,020 those are the two that you bisect. 377 00:21:02,020 --> 00:21:03,210 So it's really easy to see. 378 00:21:03,210 --> 00:21:04,220 Look at this guy. 379 00:21:04,220 --> 00:21:06,427 The only two I can reach are this one and this one. 380 00:21:06,427 --> 00:21:08,260 I look at this one, the only two I can reach 381 00:21:08,260 --> 00:21:09,343 are that one and that one. 382 00:21:09,343 --> 00:21:11,480 So it's an angular bisector of those two. 383 00:21:11,480 --> 00:21:14,085 In fact, in general, if you finish the outside here too, 384 00:21:14,085 --> 00:21:16,750 it's the same deal. 385 00:21:16,750 --> 00:21:19,740 And then-- yeah, all right, enough. 386 00:21:19,740 --> 00:21:21,740 Here's a bigger example. 387 00:21:21,740 --> 00:21:25,180 Little turtle drawn on a triangular grid, 388 00:21:25,180 --> 00:21:26,950 and you can see there's angular bisectors. 389 00:21:26,950 --> 00:21:28,500 This is a straight skeleton. 390 00:21:28,500 --> 00:21:30,650 This guy, for example, bisects this horizontal edge 391 00:21:30,650 --> 00:21:33,000 and this horizontal edge has a little bit of a boundary case 392 00:21:33,000 --> 00:21:35,541 we have to think about, but this is the right interpretation. 393 00:21:37,740 --> 00:21:41,770 It's like an angle of 180, so you bisect it to 90. 394 00:21:41,770 --> 00:21:43,124 Other fun features. 395 00:21:43,124 --> 00:21:44,540 Here we get a little bit of action 396 00:21:44,540 --> 00:21:46,170 on the outside of the polygon. 397 00:21:46,170 --> 00:21:48,110 So far, we haven't seen that. 398 00:21:48,110 --> 00:21:50,890 So, like these guys meet, and there 399 00:21:50,890 --> 00:21:56,680 is some bigger-- there's a bigger turtle here somewhere. 400 00:21:56,680 --> 00:21:58,630 It's hard to draw. 401 00:21:58,630 --> 00:22:01,780 Anyway, what's happening is this edge 402 00:22:01,780 --> 00:22:06,080 is shrinking to zero while this one is offsetting down this way 403 00:22:06,080 --> 00:22:07,680 and this is offsetting down this way. 404 00:22:07,680 --> 00:22:09,820 So the new turtle ends up being like that. 405 00:22:12,170 --> 00:22:12,670 And so on. 406 00:22:16,780 --> 00:22:18,860 You're shrinking every face. 407 00:22:18,860 --> 00:22:21,360 So in general, you have a whole bunch of polygons. 408 00:22:21,360 --> 00:22:24,840 Or in general we're allowing crazy things 409 00:22:24,840 --> 00:22:29,090 like this as this pattern of cuts I want to make. 410 00:22:29,090 --> 00:22:31,970 Maybe you want to cut your square into five pieces. 411 00:22:31,970 --> 00:22:35,320 I'm going to shrink each of them separately, or in parallel. 412 00:22:35,320 --> 00:22:37,514 It doesn't actually matter. 413 00:22:37,514 --> 00:22:38,930 So in this case there's just going 414 00:22:38,930 --> 00:22:41,410 to be five angular bisectors. 415 00:22:41,410 --> 00:22:44,090 In general, there are several regions you shrink all of them. 416 00:22:44,090 --> 00:22:45,890 A lot of the time we think about polygons, 417 00:22:45,890 --> 00:22:47,860 and then there's two regions to shrink. 418 00:22:47,860 --> 00:22:50,422 And it looks like you're expanding the turtle to go out, 419 00:22:50,422 --> 00:22:52,380 but really you're shrinking the outside region. 420 00:22:52,380 --> 00:22:54,324 It just happens to be-- there's one infinite 421 00:22:54,324 --> 00:22:55,490 region that one looks weird. 422 00:22:59,250 --> 00:23:02,130 A couple other special cases, because I 423 00:23:02,130 --> 00:23:05,380 want to do any graph and not just polygons. 424 00:23:05,380 --> 00:23:08,990 You could have something that just terminates. 425 00:23:08,990 --> 00:23:12,550 So a degree one vertex only has one [? edge ?] into it. 426 00:23:12,550 --> 00:23:13,940 In this case, it's not quite well 427 00:23:13,940 --> 00:23:16,430 defined what to do because you offset this 428 00:23:16,430 --> 00:23:19,340 and you offset this, but what happens here? 429 00:23:19,340 --> 00:23:20,970 And there it's sort of arbitrary. 430 00:23:20,970 --> 00:23:23,136 You can do whatever you want, but the simplest thing 431 00:23:23,136 --> 00:23:25,920 you can do is to make a-- imagine that there's 432 00:23:25,920 --> 00:23:28,740 a little vertical segment here that happens to be length zero, 433 00:23:28,740 --> 00:23:34,680 and it expands into the edge of a rectangle. 434 00:23:34,680 --> 00:23:40,910 So you end up with these 245 degree angular bisectors 435 00:23:40,910 --> 00:23:44,760 between this vertical edge and the horizontal one. 436 00:23:44,760 --> 00:23:47,000 But you have some flexibility there. 437 00:23:47,000 --> 00:23:48,780 You can design it how you want. 438 00:23:48,780 --> 00:23:50,940 The other case you can have is a degree 0 vertex. 439 00:23:50,940 --> 00:23:53,812 There are no edges here. 440 00:23:53,812 --> 00:23:55,770 This is a little funny in the way I defined it. 441 00:23:55,770 --> 00:23:58,030 I just said I wanted to align line segments. 442 00:23:58,030 --> 00:24:01,050 You could also align points if you really feel like it, 443 00:24:01,050 --> 00:24:03,140 and that would be represented by a dot that 444 00:24:03,140 --> 00:24:04,630 has no cuts next to it. 445 00:24:04,630 --> 00:24:07,560 If you want to cut out just this point-- 446 00:24:07,560 --> 00:24:08,880 I need to make it something. 447 00:24:08,880 --> 00:24:11,260 You could think of it as a tiny triangle for consistency 448 00:24:11,260 --> 00:24:12,230 with this picture. 449 00:24:12,230 --> 00:24:13,980 We think of it as a little square. 450 00:24:13,980 --> 00:24:16,990 And so, when you expand it, or when 451 00:24:16,990 --> 00:24:20,870 you shrink the outside region, you get four 45 degrees folds. 452 00:24:20,870 --> 00:24:25,590 This is actually how [? Eichholtz ?] et al defined 453 00:24:25,590 --> 00:24:30,400 it back in '96, and it's a fine definition. 454 00:24:30,400 --> 00:24:33,780 But you have flexibility here in your design process. 455 00:24:33,780 --> 00:24:35,494 They'll all work. 456 00:24:35,494 --> 00:24:37,910 And this would let you take a whole bunch of points, align 457 00:24:37,910 --> 00:24:40,871 them onto a common line, and nothing else is on that line. 458 00:24:40,871 --> 00:24:42,870 Because these folds are going to push everything 459 00:24:42,870 --> 00:24:47,910 that's surrounding the point away from the line. 460 00:24:47,910 --> 00:24:49,270 All right. 461 00:24:49,270 --> 00:24:50,820 Some fun facts. 462 00:24:50,820 --> 00:24:52,410 Straight skeleton is nice and small. 463 00:24:52,410 --> 00:24:56,740 If you have n original points and line segments 464 00:24:56,740 --> 00:24:59,770 in your desired cut pattern, the straight skeleton 465 00:24:59,770 --> 00:25:03,700 has a linear n number of line segments-- linear number 466 00:25:03,700 --> 00:25:04,570 of creases. 467 00:25:04,570 --> 00:25:05,200 So order n. 468 00:25:11,980 --> 00:25:15,100 Other fun facts-- there is a one-to-one correspondence 469 00:25:15,100 --> 00:25:20,100 between the edges you want to cut along, 470 00:25:20,100 --> 00:25:23,380 like let me pick one over here maybe. 471 00:25:23,380 --> 00:25:25,880 Like this-- this is an edge I want to cut along, 472 00:25:25,880 --> 00:25:28,180 and regions of the straight skeleton. 473 00:25:28,180 --> 00:25:29,200 So here's a region. 474 00:25:29,200 --> 00:25:31,300 A face of the straight skeleton. 475 00:25:31,300 --> 00:25:31,930 This guy. 476 00:25:31,930 --> 00:25:34,870 There's exactly one cut edge inside of that. 477 00:25:34,870 --> 00:25:36,060 That's always the case. 478 00:25:36,060 --> 00:25:37,477 You look everywhere here. 479 00:25:37,477 --> 00:25:39,310 Every region of the straight skeleton-- it's 480 00:25:39,310 --> 00:25:41,480 more obvious if I color them different colors. 481 00:25:41,480 --> 00:25:43,720 There's one cut edge inside. 482 00:25:43,720 --> 00:25:48,590 And all of those guys that surround that cut edge 483 00:25:48,590 --> 00:25:52,052 bisect that edge and another one. 484 00:25:52,052 --> 00:25:54,010 And the other one is the one on the other side. 485 00:25:54,010 --> 00:25:56,343 In general, you take one of the straight skeleton edges. 486 00:25:56,343 --> 00:25:57,209 There are two sides. 487 00:25:57,209 --> 00:25:59,000 There's two faces of the straight skeleton. 488 00:25:59,000 --> 00:26:00,820 This one's crazy and non convex. 489 00:26:00,820 --> 00:26:03,980 This one's just a little infinite triangle down here, 490 00:26:03,980 --> 00:26:06,442 and that edge bisects those two cut edges. 491 00:26:06,442 --> 00:26:08,400 So it's very easy to walk around the structure. 492 00:26:08,400 --> 00:26:10,410 See what it bisects. 493 00:26:10,410 --> 00:26:11,950 lots of things get bisected. 494 00:26:11,950 --> 00:26:16,360 But, it's not flat foldable, so we're not done. 495 00:26:16,360 --> 00:26:20,660 And that's where we need the perpendiculars. 496 00:26:20,660 --> 00:26:21,160 So-- 497 00:26:39,580 --> 00:26:41,550 I'll write down the definition, and maybe 498 00:26:41,550 --> 00:26:43,990 show the picture we're going for. 499 00:27:43,996 --> 00:27:45,370 There's a lot of structures here. 500 00:27:45,370 --> 00:27:46,980 There is what I call the cut graph-- 501 00:27:46,980 --> 00:27:48,347 the things we're trying to make. 502 00:27:48,347 --> 00:27:49,805 Then there's the straight skeleton. 503 00:27:49,805 --> 00:27:52,289 You should think of it as a graph drawn on a paper. 504 00:27:52,289 --> 00:27:53,830 It has vertices of straight skeleton, 505 00:27:53,830 --> 00:27:55,612 which is called skeleton vertices. 506 00:27:55,612 --> 00:27:57,070 Regions of straight skeleton, which 507 00:27:57,070 --> 00:27:58,324 is called skeleton regions. 508 00:27:58,324 --> 00:27:59,990 Edges of the cut graph, which are called 509 00:27:59,990 --> 00:28:01,399 cut edges, and so on. 510 00:28:01,399 --> 00:28:02,940 We're going to add a new graph, which 511 00:28:02,940 --> 00:28:04,940 is the perpendicular graph. 512 00:28:04,940 --> 00:28:07,650 Which you can think of as hinges from tree 513 00:28:07,650 --> 00:28:10,380 method of origami design. 514 00:28:10,380 --> 00:28:13,460 So what is this-- what does it mean? 515 00:28:13,460 --> 00:28:15,540 We started a straight skeleton vertex. 516 00:28:15,540 --> 00:28:18,550 Usually there are three skeleton edges coming together. 517 00:28:18,550 --> 00:28:21,060 Vertex-- sometimes they're more like this guy. 518 00:28:21,060 --> 00:28:22,100 Four. 519 00:28:22,100 --> 00:28:25,530 And if there's three edges coming together, 520 00:28:25,530 --> 00:28:27,090 there are three skeleton regions. 521 00:28:27,090 --> 00:28:29,500 For each one-- each of those regions-- 522 00:28:29,500 --> 00:28:31,720 has one cut edge in it, so we try 523 00:28:31,720 --> 00:28:36,360 to walk perpendicular and toward that cut edge. 524 00:28:36,360 --> 00:28:37,690 So here I walk perpendicular. 525 00:28:37,690 --> 00:28:39,130 I meet at right angles here. 526 00:28:39,130 --> 00:28:41,400 I just go off to infinity. 527 00:28:41,400 --> 00:28:46,330 Here I walk perpendicular to this cut edge, and that's cool, 528 00:28:46,330 --> 00:28:49,990 but then I leave the skeleton region. 529 00:28:49,990 --> 00:28:52,230 At that point I enter a new skeleton region, 530 00:28:52,230 --> 00:28:55,110 which is this one, this non-convex thing. 531 00:28:55,110 --> 00:28:58,080 It contains one et edge, and when I-- where was I here? 532 00:28:58,080 --> 00:28:59,000 I entered. 533 00:28:59,000 --> 00:29:01,810 Now I want to move perpendicular to that cut edge, 534 00:29:01,810 --> 00:29:04,699 so that when I cross it, I cross it perpendicularly. 535 00:29:04,699 --> 00:29:05,740 Now I enter a new region. 536 00:29:05,740 --> 00:29:07,940 It contains this cut edge. 537 00:29:07,940 --> 00:29:12,410 I move perpendicular to it, and I don't actually cross it, 538 00:29:12,410 --> 00:29:13,635 but I enter a new region. 539 00:29:13,635 --> 00:29:15,260 Now I'm in the region of this cut edge, 540 00:29:15,260 --> 00:29:16,880 so I move perpendicular to that. 541 00:29:16,880 --> 00:29:19,100 And wow, I hit another skeleton vertex. 542 00:29:19,100 --> 00:29:20,550 I stop. 543 00:29:20,550 --> 00:29:22,880 OK this example is because it's on a triangular grid, 544 00:29:22,880 --> 00:29:24,670 there's lots of degeneracies like that. 545 00:29:24,670 --> 00:29:26,720 Usually you'd eventually go off to infinity, 546 00:29:26,720 --> 00:29:29,030 or come around to meet yourself. 547 00:29:29,030 --> 00:29:31,440 Here I happen to hit a different vertex. 548 00:29:31,440 --> 00:29:34,250 You do that all the vertices. 549 00:29:34,250 --> 00:29:35,540 All the skeleton vertices. 550 00:29:35,540 --> 00:29:39,750 Now there's some weird ones like this one. 551 00:29:39,750 --> 00:29:43,420 Notice there are no purple lines coming out from here, 552 00:29:43,420 --> 00:29:44,990 and that's because every region you 553 00:29:44,990 --> 00:29:47,910 try to enter you immediately leave. 554 00:29:47,910 --> 00:29:50,130 So if I tried-- there's four regions here. 555 00:29:50,130 --> 00:29:51,220 Try each one of them. 556 00:29:51,220 --> 00:29:53,800 Like this region has this cut edge. 557 00:29:53,800 --> 00:29:55,400 If I try to go perpendicular to it, 558 00:29:55,400 --> 00:29:58,260 I'd enter a different region, so I can actually go at all. 559 00:29:58,260 --> 00:30:00,970 Like I move and then I instantly stop. 560 00:30:00,970 --> 00:30:05,130 So you could think of there being like a zero radius 561 00:30:05,130 --> 00:30:05,874 thing there. 562 00:30:05,874 --> 00:30:07,290 That's sort of the degenerate case 563 00:30:07,290 --> 00:30:10,400 of a river being a disc Is it being a circle. 564 00:30:10,400 --> 00:30:11,840 Same thing going on. 565 00:30:11,840 --> 00:30:13,320 All of-- in general when you have 566 00:30:13,320 --> 00:30:15,554 reflex vertices and their regular bisectors meeting, 567 00:30:15,554 --> 00:30:17,220 you're going to lose some perpendiculars 568 00:30:17,220 --> 00:30:20,000 because you can't enter them. 569 00:30:20,000 --> 00:30:22,884 Here's another one where I just have one perpendicular 570 00:30:22,884 --> 00:30:23,550 edge coming out. 571 00:30:23,550 --> 00:30:26,375 This one I can reach, but if I tried 572 00:30:26,375 --> 00:30:28,000 to be perpendicular to either of these, 573 00:30:28,000 --> 00:30:31,320 I enter the wrong region. 574 00:30:31,320 --> 00:30:33,840 That's the perpendicular folds, and that's pretty much 575 00:30:33,840 --> 00:30:34,660 the crease pattern. 576 00:30:34,660 --> 00:30:36,285 There are technically a few other folds 577 00:30:36,285 --> 00:30:38,160 you have to deal with, but that is-- 578 00:30:38,160 --> 00:30:40,550 if you want to make something right now, 579 00:30:40,550 --> 00:30:44,750 just apply those two algorithms and you get your shape. 580 00:30:44,750 --> 00:30:46,260 Just fold along that crease pattern. 581 00:30:46,260 --> 00:30:52,410 It will be flat foldable almost always. 582 00:30:52,410 --> 00:30:54,430 Why is it flat foldable? 583 00:30:54,430 --> 00:30:57,810 So one thing we can check is local flat foldability at least 584 00:30:57,810 --> 00:31:02,860 satisfies Kawasaki's condition because at a typical vertex 585 00:31:02,860 --> 00:31:07,180 you're going to have three skeleton edges coming together. 586 00:31:07,180 --> 00:31:08,720 And so there are three faces here. 587 00:31:08,720 --> 00:31:14,610 Each of them has a cut edge somewhere-- probably draw 588 00:31:14,610 --> 00:31:16,990 this reasonably well-- and should have the property 589 00:31:16,990 --> 00:31:22,250 that when I extend these-- didn't draw that so well. 590 00:31:22,250 --> 00:31:26,600 And I extend these-- these are angular bisectors. 591 00:31:26,600 --> 00:31:31,260 We know the skeleton edges will angularly bisect two cut edges. 592 00:31:31,260 --> 00:31:34,110 The two cut edges that are defined by these guys. 593 00:31:34,110 --> 00:31:39,390 So I should get an angular bisector here, and those meet. 594 00:31:39,390 --> 00:31:42,412 An angular bisector here. 595 00:31:42,412 --> 00:31:44,120 And then I also have perpendicular folds. 596 00:31:44,120 --> 00:31:48,590 So they may not actually meet this guy, but if they did, 597 00:31:48,590 --> 00:31:51,311 they certainly meet the extension. 598 00:31:51,311 --> 00:31:53,790 Hey, that's our good friend, the rabbit ear. 599 00:31:53,790 --> 00:31:55,630 Just regular triangle fold. 600 00:31:55,630 --> 00:32:03,510 And in particular, you can see that these angles are equal. 601 00:32:03,510 --> 00:32:06,880 I call this three prime. 602 00:32:06,880 --> 00:32:10,971 It's like 180 minus that, I think. 603 00:32:10,971 --> 00:32:12,930 If I'm not mistaken. 604 00:32:12,930 --> 00:32:15,332 And this is one prime. 605 00:32:15,332 --> 00:32:18,000 Not the best notation. 606 00:32:18,000 --> 00:32:21,480 And these are two prime and two prime. 607 00:32:21,480 --> 00:32:24,044 And so I've got these nice angle pairings. 608 00:32:24,044 --> 00:32:26,460 That means if I add the odd angles, I get the even angles. 609 00:32:26,460 --> 00:32:27,120 Same thing. 610 00:32:27,120 --> 00:32:30,280 So I definitely have Kawasaki's theorem everywhere. 611 00:32:30,280 --> 00:32:31,780 You could check-- it works even when 612 00:32:31,780 --> 00:32:35,280 you have these degenerate situations where 613 00:32:35,280 --> 00:32:38,207 more than three skeleton edges come together. 614 00:32:38,207 --> 00:32:39,040 For the same reason. 615 00:32:39,040 --> 00:32:40,052 You still get pairing. 616 00:32:40,052 --> 00:32:41,260 Just more than three of them. 617 00:32:43,770 --> 00:32:45,740 All right. 618 00:32:45,740 --> 00:32:48,000 But some exciting things can happen. 619 00:32:48,000 --> 00:32:50,660 So I'm going to look at proving foldability, 620 00:32:50,660 --> 00:32:52,710 but one exciting thing that can happen 621 00:32:52,710 --> 00:32:56,570 is you get a lot of perpendicular folds at a very 622 00:32:56,570 --> 00:32:59,840 few original cut lines. 623 00:32:59,840 --> 00:33:02,070 So here I'm trying to make this weird pinwheel shape. 624 00:33:02,070 --> 00:33:04,910 I want to cut out the bold lines of the cut line. 625 00:33:04,910 --> 00:33:06,860 So I want to cut out this square, 626 00:33:06,860 --> 00:33:09,934 and then these four squares arranged in a pinwheel pattern 627 00:33:09,934 --> 00:33:10,600 around that one. 628 00:33:10,600 --> 00:33:11,610 Why you'd want to do that? 629 00:33:11,610 --> 00:33:13,568 I don't know, but we're mathematicians so we're 630 00:33:13,568 --> 00:33:15,710 going to consider all the cases. 631 00:33:15,710 --> 00:33:18,980 So the straight skeleton is the thin black lines, 632 00:33:18,980 --> 00:33:20,000 and that's linear size. 633 00:33:20,000 --> 00:33:23,370 That's nice, but the perpendiculars-- 634 00:33:23,370 --> 00:33:25,150 if this piece of paper's infinite, 635 00:33:25,150 --> 00:33:27,371 the number of perpendiculars is infinite. 636 00:33:27,371 --> 00:33:28,870 If you have a finite piece of paper, 637 00:33:28,870 --> 00:33:31,470 which is what you usually buy in the store, 638 00:33:31,470 --> 00:33:33,590 then it's a finite number of creases. 639 00:33:33,590 --> 00:33:36,090 So in any finite region, this is a finite number of creases, 640 00:33:36,090 --> 00:33:38,250 but it's a lot of them. 641 00:33:38,250 --> 00:33:39,280 So that's one sad thing. 642 00:33:39,280 --> 00:33:40,990 You can't bound the number of creases 643 00:33:40,990 --> 00:33:43,650 as a function of the number of cut lines. 644 00:33:43,650 --> 00:33:45,280 But I think that's actually necessary. 645 00:33:45,280 --> 00:33:47,460 I don't think it's possible to solve this problem 646 00:33:47,460 --> 00:33:48,960 while bounding the number of creases 647 00:33:48,960 --> 00:33:50,640 in terms of the number of cut lines. 648 00:33:50,640 --> 00:33:53,650 That's one of the open problems getting down 649 00:33:53,650 --> 00:33:56,910 on one of these pictures. 650 00:33:56,910 --> 00:34:00,495 One of these slide-- lecture notes. 651 00:34:00,495 --> 00:34:02,952 There's something else even more annoying, though. 652 00:34:02,952 --> 00:34:06,300 It happens even in a finite piece of paper, 653 00:34:06,300 --> 00:34:09,679 and it's even more obscure why you'd want to make this. 654 00:34:09,679 --> 00:34:13,600 But the bold blue lines are the cuts, 655 00:34:13,600 --> 00:34:16,820 and then the thin black lines are the straight skeleton. 656 00:34:16,820 --> 00:34:18,320 You could tell this spans many years 657 00:34:18,320 --> 00:34:21,190 because I keep changing notational style, 658 00:34:21,190 --> 00:34:24,080 and this is from the textbook. 659 00:34:24,080 --> 00:34:26,730 And then you get these perpendicular folds. 660 00:34:26,730 --> 00:34:28,980 So I haven't drawn all of them but these dash 661 00:34:28,980 --> 00:34:31,409 lines, the light blue. 662 00:34:31,409 --> 00:34:36,350 And this example is set up so that-- let me get this right. 663 00:34:36,350 --> 00:34:41,870 This width is an irrational multiple 664 00:34:41,870 --> 00:34:44,590 of this width or this width. 665 00:34:44,590 --> 00:34:46,270 One of those. 666 00:34:46,270 --> 00:34:50,630 Things are irrational, so they're not very nice numbers. 667 00:34:50,630 --> 00:34:53,130 And what I need to do to finish this picture 668 00:34:53,130 --> 00:34:55,305 is these guys go-- they enter a new skeleton region. 669 00:34:55,305 --> 00:34:57,180 They're actually going to keep going straight 670 00:34:57,180 --> 00:34:59,138 because there's two cut lines that are parallel 671 00:34:59,138 --> 00:34:59,810 to each other. 672 00:34:59,810 --> 00:35:02,226 It's going to go up there, and it's going to cycle around. 673 00:35:02,226 --> 00:35:04,310 Let me do one round. 674 00:35:04,310 --> 00:35:05,720 Who did I move? 675 00:35:05,720 --> 00:35:07,210 This guy. 676 00:35:07,210 --> 00:35:09,020 So this guy I just extended down. 677 00:35:09,020 --> 00:35:12,070 He's going to turn around, make 180 degree turn, 678 00:35:12,070 --> 00:35:13,860 and you can check each of these. 679 00:35:13,860 --> 00:35:16,740 Your setups do 180 degree turn around this axis, 680 00:35:16,740 --> 00:35:20,270 around this axis on the bottom, and on the top around this axis 681 00:35:20,270 --> 00:35:21,380 and around this axis. 682 00:35:21,380 --> 00:35:23,550 Depending wherever you enter, it's like a racetrack. 683 00:35:23,550 --> 00:35:25,190 Keep going around and around. 684 00:35:25,190 --> 00:35:28,460 And if you follow that one guy a little bit farther, 685 00:35:28,460 --> 00:35:29,680 it looks like that. 686 00:35:29,680 --> 00:35:32,460 And a little bit farther, and it looks like that. 687 00:35:32,460 --> 00:35:34,720 It never finishes. 688 00:35:34,720 --> 00:35:38,180 So in fact you completely filled this region with creases. 689 00:35:38,180 --> 00:35:40,289 It's like a dense region of creases. 690 00:35:40,289 --> 00:35:41,705 Now this would be a bitch to fold. 691 00:35:44,910 --> 00:35:46,610 I don't recommend you try it. 692 00:35:46,610 --> 00:35:49,900 And this is really a situation where this algorithm fails. 693 00:35:49,900 --> 00:35:53,520 The good news is if I move any of these vertices-- 694 00:35:53,520 --> 00:35:57,250 the cut vertices the tiniest amount-- this will disappear. 695 00:35:57,250 --> 00:36:00,520 I really had to be very careful and get lots of degeneracy 696 00:36:00,520 --> 00:36:01,610 for this to happen. 697 00:36:04,272 --> 00:36:05,980 We don't actually know how to prove that. 698 00:36:05,980 --> 00:36:10,830 It's conjecture that if you take any cuts-- any graph of cuts 699 00:36:10,830 --> 00:36:13,530 you want to make, and you perturb the vertices 700 00:36:13,530 --> 00:36:17,320 in a tiny epsilon disc then the resulting thing will not 701 00:36:17,320 --> 00:36:19,070 have this density behavior. 702 00:36:19,070 --> 00:36:22,690 I'm totally sure it's true, but we don't have the proof. 703 00:36:22,690 --> 00:36:23,960 So that's life. 704 00:36:23,960 --> 00:36:28,420 This is why I said skeleton method works almost always. 705 00:36:28,420 --> 00:36:31,170 There are these annoying situations 706 00:36:31,170 --> 00:36:34,090 where it doesn't really give your crease pattern. 707 00:36:34,090 --> 00:36:36,130 So if you feel like unless you somehow 708 00:36:36,130 --> 00:36:39,172 think this is legitimate to make infinitely many creases. 709 00:36:39,172 --> 00:36:39,880 I don't think so. 710 00:36:44,120 --> 00:36:48,780 All right, let me tell you a few more things 711 00:36:48,780 --> 00:36:51,270 to make this practical for you. 712 00:36:51,270 --> 00:36:52,710 You want to-- what you really want 713 00:36:52,710 --> 00:36:54,110 is a mountain valley assignment. 714 00:36:54,110 --> 00:36:56,860 Before I showed you lots of perpendicular and skeleton 715 00:36:56,860 --> 00:37:00,820 edges, and basically the way it works 716 00:37:00,820 --> 00:37:06,380 is if you look at any skeleton edge like this one, 717 00:37:06,380 --> 00:37:09,350 it's bisecting in this case a convex angle. 718 00:37:09,350 --> 00:37:11,050 So I make it a mountain. 719 00:37:11,050 --> 00:37:13,760 Here, red is mountain, blue is valley. 720 00:37:13,760 --> 00:37:15,680 Dot dashes mountain, dash is valley. 721 00:37:15,680 --> 00:37:17,030 That is the standard. 722 00:37:17,030 --> 00:37:19,590 Whenever I'm bisecting a reflex angle, 723 00:37:19,590 --> 00:37:24,350 then I make the skeleton edge a valley. 724 00:37:24,350 --> 00:37:27,310 And that's basically true. 725 00:37:27,310 --> 00:37:29,780 Convex angles, mountains, reflex angles, valleys. 726 00:37:29,780 --> 00:37:31,410 That's for the straight skeleton edges. 727 00:37:31,410 --> 00:37:31,910 Yeah. 728 00:37:37,740 --> 00:37:42,060 Like this fold, or this one? 729 00:37:42,060 --> 00:37:43,179 Oh, this guy. 730 00:37:43,179 --> 00:37:44,970 All right, this is a bit of a special case. 731 00:37:44,970 --> 00:37:48,350 Here I'm really bisecting an angle of zero. 732 00:37:48,350 --> 00:37:50,350 To extend these guys out, they need an infinite, 733 00:37:50,350 --> 00:37:52,516 and they form a zero angle because they're parallel. 734 00:37:52,516 --> 00:37:56,980 And I call zero a convex angle, but I just defined it that way, 735 00:37:56,980 --> 00:37:58,850 and so this is a mountain. 736 00:37:58,850 --> 00:38:05,170 Whereas this guy bisecting is barely convex. 737 00:38:05,170 --> 00:38:08,140 Is that really a mountain? 738 00:38:08,140 --> 00:38:09,790 No, that's a typo. 739 00:38:09,790 --> 00:38:10,460 Good. 740 00:38:10,460 --> 00:38:12,390 This one should be a valley. 741 00:38:12,390 --> 00:38:14,940 Pretty sure. 742 00:38:14,940 --> 00:38:20,610 Yeah, should be a valley-- wow, this is a weird crease pattern. 743 00:38:20,610 --> 00:38:22,250 That's not a straight skeleton there. 744 00:38:22,250 --> 00:38:25,350 Never mind this picture-- I knew there was always a bug. 745 00:38:25,350 --> 00:38:29,133 I think there's a typo in the book as we say. 746 00:38:35,299 --> 00:38:37,340 How did I make the initial pattern of the turtle? 747 00:38:37,340 --> 00:38:40,140 I just drew something that looked like a turtle. 748 00:38:40,140 --> 00:38:41,994 Anything. 749 00:38:41,994 --> 00:38:43,410 I happened to draw this on a grid, 750 00:38:43,410 --> 00:38:44,701 but there's no reason I had to. 751 00:39:00,840 --> 00:39:01,920 I designed them. 752 00:39:01,920 --> 00:39:06,650 So in this example, I designed the ratios to be really nasty. 753 00:39:06,650 --> 00:39:09,080 Like root 2 over 10 ratio or something. 754 00:39:12,614 --> 00:39:15,030 The whole thing will-- if I perturb these vertices at all, 755 00:39:15,030 --> 00:39:16,410 the whole thing will fall apart. 756 00:39:16,410 --> 00:39:18,050 I won't get these 180 degree turns. 757 00:39:18,050 --> 00:39:20,330 Things will end up going off to infinity. 758 00:39:20,330 --> 00:39:23,490 The hard part here is actually-- rational ratios 759 00:39:23,490 --> 00:39:24,710 are quite common. 760 00:39:24,710 --> 00:39:26,940 What's uncommon in this picture is 761 00:39:26,940 --> 00:39:29,980 that this thing is closed up, and you never escape. 762 00:39:29,980 --> 00:39:32,380 Almost always, there'll be a little gap 763 00:39:32,380 --> 00:39:34,120 and you'll eventually reach the gap 764 00:39:34,120 --> 00:39:35,470 and then go off to infinity. 765 00:39:35,470 --> 00:39:37,660 So that's what happens in a typical case. 766 00:39:42,569 --> 00:39:45,110 So if you drew a picture on the grid this would never happen. 767 00:39:45,110 --> 00:39:46,570 That you can prove. 768 00:39:46,570 --> 00:39:48,670 Yeah. 769 00:39:48,670 --> 00:39:50,364 Square grid. 770 00:39:50,364 --> 00:39:51,780 Probably also the triangular grid. 771 00:39:51,780 --> 00:39:53,571 You need to be a little careful because you 772 00:39:53,571 --> 00:39:55,850 want all these constructions to stay on the grid, 773 00:39:55,850 --> 00:39:58,310 but I think something like that is true. 774 00:39:58,310 --> 00:40:04,779 OK, let's move on to how we construct a folded state. 775 00:40:04,779 --> 00:40:07,070 When this algorithm works, when it gives a valid crease 776 00:40:07,070 --> 00:40:10,560 pattern, you know it's locally flat foldable 777 00:40:10,560 --> 00:40:12,200 because it satisfies Kawasaki, but how 778 00:40:12,200 --> 00:40:14,230 do we actually know that it globally folds flat? 779 00:40:14,230 --> 00:40:15,771 To do that, you have to describe what 780 00:40:15,771 --> 00:40:17,680 it looks like after it's folded. 781 00:40:17,680 --> 00:40:23,140 And the idea here is to look at what we call corridors but are 782 00:40:23,140 --> 00:40:27,030 essentially discrete versions of rivers from tree theory. 783 00:40:27,030 --> 00:40:30,100 So you have these constant width strips 784 00:40:30,100 --> 00:40:33,740 that turn at skeleton edges, and they 785 00:40:33,740 --> 00:40:36,030 could go off to infinity on both sides. 786 00:40:36,030 --> 00:40:38,850 In general they could loop around and meet themselves 787 00:40:38,850 --> 00:40:44,410 again, but in this case they actually all go to infinity. 788 00:40:44,410 --> 00:40:46,780 And if you look at one of those strips-- 789 00:40:46,780 --> 00:40:51,260 you could actually just cut this out of your textbook. 790 00:40:51,260 --> 00:40:55,290 Just slice it up and look at how that's folding. 791 00:40:55,290 --> 00:40:59,112 Well, it meets a skeleton edge, and then maybe it 792 00:40:59,112 --> 00:40:59,820 meets a cut edge. 793 00:40:59,820 --> 00:41:01,120 Usually you don't fold those. 794 00:41:01,120 --> 00:41:02,619 Then it meets another skeleton edge. 795 00:41:02,619 --> 00:41:04,500 It just meets edges one at a time. 796 00:41:04,500 --> 00:41:06,920 It's never complicated because we 797 00:41:06,920 --> 00:41:08,820 divided along all these perpendicular folds. 798 00:41:08,820 --> 00:41:12,710 You really only meet one edge at a time. 799 00:41:12,710 --> 00:41:14,960 Which is good. 800 00:41:14,960 --> 00:41:19,290 In fact, if you look at one of these skeleton edges 801 00:41:19,290 --> 00:41:22,160 it's creased along, normally you think 802 00:41:22,160 --> 00:41:26,560 of that as an angular bisector of these two cut edges, 803 00:41:26,560 --> 00:41:29,020 but you can also think of it as an angular bisector 804 00:41:29,020 --> 00:41:31,510 of these two perpendicular folds. 805 00:41:31,510 --> 00:41:34,650 Because if you bisect these two things, 806 00:41:34,650 --> 00:41:37,750 you also bisect two things that are perpendicular to them. 807 00:41:37,750 --> 00:41:40,830 It's like two wrongs make a right somehow. 808 00:41:40,830 --> 00:41:44,130 So this guy bisects those two creases. 809 00:41:44,130 --> 00:41:46,000 So if you fold along here-- actually 810 00:41:46,000 --> 00:41:47,915 you align these creases. 811 00:41:47,915 --> 00:41:50,040 It's a duality-- you are aligning the perpendicular 812 00:41:50,040 --> 00:41:50,840 folds. 813 00:41:50,840 --> 00:41:53,580 That fold along here, you line up this fold with that one, 814 00:41:53,580 --> 00:41:54,750 this fold with that one. 815 00:41:54,750 --> 00:41:57,290 I fold here, I lined up this fold with that one. 816 00:41:57,290 --> 00:42:00,797 There's like a zero length fold that's there. 817 00:42:00,797 --> 00:42:02,130 You fold along all these things. 818 00:42:02,130 --> 00:42:05,210 You line up this with itself, and so on. 819 00:42:05,210 --> 00:42:06,540 So you follow along this thing. 820 00:42:06,540 --> 00:42:13,260 This corridor folds down to basically a rectangle. 821 00:42:13,260 --> 00:42:15,480 It's got some rough edges in the top and the bottom, 822 00:42:15,480 --> 00:42:20,960 but it lies in the strip in 3D, and I have a picture of that. 823 00:42:20,960 --> 00:42:26,670 So I took the one over here-- this blue corridor-- 824 00:42:26,670 --> 00:42:29,790 and if you fold it up, it looks like this. 825 00:42:29,790 --> 00:42:32,090 OK, now in particular, you can check at this point. 826 00:42:32,090 --> 00:42:33,480 It's pretty easy to check because 827 00:42:33,480 --> 00:42:37,340 of all this bisectorness-- Bisector goodness-- 828 00:42:37,340 --> 00:42:40,760 that you bring into alignment all the cut edges. 829 00:42:40,760 --> 00:42:44,100 So for example, this guy, because it bisects that cut 830 00:42:44,100 --> 00:42:46,640 edge and that cut edge, it brings them into alignment. 831 00:42:46,640 --> 00:42:48,598 And you can see that somewhere in this picture. 832 00:42:48,598 --> 00:42:51,200 I think it's these two guys. 833 00:42:51,200 --> 00:42:53,190 It can be a little more complicated. 834 00:42:53,190 --> 00:42:56,340 Like over here I have a cut edge, 835 00:42:56,340 --> 00:42:58,920 then I have a bisector, and then a bisector, and then 836 00:42:58,920 --> 00:43:01,230 a bisector, and then another cut edge. 837 00:43:01,230 --> 00:43:04,920 But if you think about it right, it's-- I don't happen to meet 838 00:43:04,920 --> 00:43:08,042 these cut edges, but I'm effectively bringing this 839 00:43:08,042 --> 00:43:10,500 into alignment with this, and then this into alignment with 840 00:43:10,500 --> 00:43:12,374 this, and then this into alignment with that. 841 00:43:12,374 --> 00:43:15,270 So in the end, I line this with that, 842 00:43:15,270 --> 00:43:20,910 and that's what's happening up here on the left. 843 00:43:20,910 --> 00:43:22,830 Where I don't quite come all the way down, 844 00:43:22,830 --> 00:43:24,610 but I still end up lining everything up. 845 00:43:24,610 --> 00:43:26,890 So this is the solution to the fold-and-cut problem 846 00:43:26,890 --> 00:43:29,662 as long as it actually faults. 847 00:43:29,662 --> 00:43:31,370 And to show that actually folds, you just 848 00:43:31,370 --> 00:43:35,556 need to show that these corridors-- I forget, 849 00:43:35,556 --> 00:43:36,930 I think we call these accordions. 850 00:43:36,930 --> 00:43:38,000 It's been a long time. 851 00:43:38,000 --> 00:43:42,230 Since '98 I wrote this paper 852 00:43:42,230 --> 00:43:44,060 You take these accordions and you just 853 00:43:44,060 --> 00:43:46,250 want to see how they fit together. 854 00:43:46,250 --> 00:43:48,170 And low and behold, they fit together 855 00:43:48,170 --> 00:43:51,620 in a tree in this picture. 856 00:43:51,620 --> 00:43:54,750 It gets more complicated in another picture, which 857 00:43:54,750 --> 00:43:57,310 I will show you in a moment. 858 00:43:57,310 --> 00:44:00,980 But in this situation where every quarter goes off 859 00:44:00,980 --> 00:44:05,610 to infinity on both sides, you get a nice tree structure. 860 00:44:05,610 --> 00:44:08,870 And as long as you could fold this tree flat, 861 00:44:08,870 --> 00:44:12,350 then you can fold this thing flat. 862 00:44:12,350 --> 00:44:15,250 Because each of these edges of the tree 863 00:44:15,250 --> 00:44:16,960 is this very simple accordion structure 864 00:44:16,960 --> 00:44:20,502 which trivially falls flat. 865 00:44:20,502 --> 00:44:22,085 The other thing you have to check here 866 00:44:22,085 --> 00:44:23,835 is you actually alternate mountain valley. 867 00:44:23,835 --> 00:44:25,460 That's a little more subtle, especially 868 00:44:25,460 --> 00:44:27,790 when I don't draw the mountain valley assignment. 869 00:44:27,790 --> 00:44:30,380 But it turns out you always alternate between mountain 870 00:44:30,380 --> 00:44:32,570 and valley in this picture, which is great. 871 00:44:32,570 --> 00:44:34,850 That's the thing we know always folds flats. 872 00:44:34,850 --> 00:44:36,720 It's like a 1D folding. 873 00:44:36,720 --> 00:44:38,250 So these are super easy to fold. 874 00:44:38,250 --> 00:44:40,690 You can fold each of them if you cut along all the dash 875 00:44:40,690 --> 00:44:42,940 lines You can fold each separately. 876 00:44:42,940 --> 00:44:44,490 Then you need to join them together 877 00:44:44,490 --> 00:44:47,760 where the edges here-- just like in tree theory-- the edges here 878 00:44:47,760 --> 00:44:50,180 correspond to these rivers. 879 00:44:50,180 --> 00:44:52,820 And now you need to somehow attach them here. 880 00:44:52,820 --> 00:44:57,360 Check that where you attach them, there's no crossings. 881 00:44:57,360 --> 00:45:00,140 I'm not going to describe, but it's pretty easy. 882 00:45:00,140 --> 00:45:02,210 Plain area essentially of that diagram, 883 00:45:02,210 --> 00:45:04,660 and then you need to fold this tree flat. 884 00:45:04,660 --> 00:45:07,160 Folding a tree flat is actually kind 885 00:45:07,160 --> 00:45:08,800 of a segue into next lecture, which 886 00:45:08,800 --> 00:45:11,720 will be about folding linkages. 887 00:45:11,720 --> 00:45:13,300 In this case, it's really easy. 888 00:45:13,300 --> 00:45:16,360 You just pick up some root, like the letter "A" over there, 889 00:45:16,360 --> 00:45:18,020 and you hang the tree. 890 00:45:18,020 --> 00:45:19,455 Pull up. 891 00:45:19,455 --> 00:45:21,830 Technically this is like a [? depth ?] [? first ?] search 892 00:45:21,830 --> 00:45:22,920 of the tree. 893 00:45:22,920 --> 00:45:25,380 So you just walk down-- aways walk down 894 00:45:25,380 --> 00:45:27,260 until you're finished, then you go back up. 895 00:45:27,260 --> 00:45:28,720 Walk down some more branches. 896 00:45:28,720 --> 00:45:32,900 You end up drawing everything downward away from A. 897 00:45:32,900 --> 00:45:34,200 And it will be a flat folding. 898 00:45:34,200 --> 00:45:36,190 There won't be any crossings here. 899 00:45:36,190 --> 00:45:37,962 And then this is a 1D representation 900 00:45:37,962 --> 00:45:39,420 of what's really going on, which is 901 00:45:39,420 --> 00:45:44,340 that above each of these edges is really an accordion, 902 00:45:44,340 --> 00:45:46,150 and you need to adjoin them together there. 903 00:45:46,150 --> 00:45:48,060 So we'll basically do this modular folding 904 00:45:48,060 --> 00:45:49,770 where you fold each accordion separately, 905 00:45:49,770 --> 00:45:51,460 put them together according to this. 906 00:45:51,460 --> 00:45:52,580 Boom, you get your flat folding. 907 00:45:52,580 --> 00:45:54,954 From this picture, you could read out the mountain valley 908 00:45:54,954 --> 00:45:57,021 assignments before the perpendicular folds. 909 00:45:57,021 --> 00:45:58,520 This looks like a valley, this looks 910 00:45:58,520 --> 00:46:01,000 like a valley-- this looks like a perpendicular fold 911 00:46:01,000 --> 00:46:03,810 I didn't use because there's no crease there. 912 00:46:03,810 --> 00:46:05,910 That's flat. 913 00:46:05,910 --> 00:46:10,880 Whereas a mountain-- mountain's probably at the top at A. 914 00:46:10,880 --> 00:46:16,137 What really happens-- if you want to know-- really 915 00:46:16,137 --> 00:46:18,720 what we're deciding is whether this starts mountain or valley, 916 00:46:18,720 --> 00:46:21,390 and then it will actually alternate back and forth 917 00:46:21,390 --> 00:46:23,772 as you move along the perpendicular. 918 00:46:23,772 --> 00:46:27,760 So that's basically how you construct a folded state. 919 00:46:27,760 --> 00:46:31,460 In this situation of so-called linear corridors. 920 00:46:31,460 --> 00:46:35,400 Now there are a bunch of things I haven't mentioned, 921 00:46:35,400 --> 00:46:37,750 but I think-- I don't want to talk about them 922 00:46:37,750 --> 00:46:39,990 too much so I get out to the other topics. 923 00:47:07,590 --> 00:47:12,220 So, what I just talked about is something called 924 00:47:12,220 --> 00:47:14,410 a linear corridor case, which is really 925 00:47:14,410 --> 00:47:19,440 where it's most beautiful-- this construction 926 00:47:19,440 --> 00:47:23,445 of a folded state-- and linear corridor intuitively 927 00:47:23,445 --> 00:47:24,450 is something like this. 928 00:47:24,450 --> 00:47:26,810 It goes off to infinite on both sides. 929 00:47:26,810 --> 00:47:28,370 Has constant width all the way. 930 00:47:28,370 --> 00:47:29,660 Of course, it's really a discrete thing. 931 00:47:29,660 --> 00:47:30,451 Not a smooth thing. 932 00:47:34,060 --> 00:47:40,690 Let me say conjecture-- if you're 933 00:47:40,690 --> 00:47:46,290 cut graph has that maximum degree 934 00:47:46,290 --> 00:47:51,810 2-- it means at most two edges at every vertex. 935 00:47:51,810 --> 00:47:53,227 This is a very common scenario. 936 00:47:53,227 --> 00:47:54,810 This is if you want to make a polygon, 937 00:47:54,810 --> 00:47:56,189 every vertex has degree 2. 938 00:47:56,189 --> 00:47:57,730 If you want to make several polygons, 939 00:47:57,730 --> 00:47:59,260 every vertex has degree 2. 940 00:47:59,260 --> 00:48:02,950 I'll even let you have vertices of degree 1 or 0 for free, 941 00:48:02,950 --> 00:48:05,790 but mainly we're thinking about degree 2 everywhere. 942 00:48:08,620 --> 00:48:20,315 Then, we almost always have a linear corridor. 943 00:48:24,329 --> 00:48:26,120 So this is why the situation's interesting, 944 00:48:26,120 --> 00:48:28,203 although unfortunately this is still a conjecture. 945 00:48:28,203 --> 00:48:30,150 I'm sure this is true, but proving it-- 946 00:48:30,150 --> 00:48:33,500 I don't quite know the right techniques. 947 00:48:33,500 --> 00:48:37,820 So in this typical situation, you take any picture you want. 948 00:48:37,820 --> 00:48:41,250 You slightly perturb very vertex randomly, say, 949 00:48:41,250 --> 00:48:44,510 then with probability 1-- 100% probability-- 950 00:48:44,510 --> 00:48:46,395 you will get only linear corridors. 951 00:48:49,510 --> 00:48:52,060 And that's the situation where it turns into a tree. 952 00:48:52,060 --> 00:48:55,750 It's easy to fold life is good. 953 00:48:55,750 --> 00:48:59,235 The annoying case is circular corridor case. 954 00:49:05,560 --> 00:49:07,060 This takes a lot more work to prove, 955 00:49:07,060 --> 00:49:09,155 and I'm not going to talk about it much. 956 00:49:09,155 --> 00:49:15,550 A circular corridor looks like this. 957 00:49:15,550 --> 00:49:18,120 Here we have these in with rivers also. 958 00:49:18,120 --> 00:49:19,590 So you just loop around. 959 00:49:19,590 --> 00:49:23,737 Still constant width everywhere, but you meet yourself. 960 00:49:23,737 --> 00:49:24,945 You don't go out to infinity. 961 00:49:27,730 --> 00:49:29,010 It's harder. 962 00:49:29,010 --> 00:49:30,560 Why is it harder? 963 00:49:30,560 --> 00:49:37,180 Well in particular, if you look at how one corridor folds, 964 00:49:37,180 --> 00:49:39,360 it's no longer-- it's like the same situation we 965 00:49:39,360 --> 00:49:41,970 had in like lectures two and three 966 00:49:41,970 --> 00:49:45,560 where we had on the one hand a 1D folding was really easy. 967 00:49:45,560 --> 00:49:47,210 But then when you made it circular-- 968 00:49:47,210 --> 00:49:49,460 you're just folding a circle instead of folding a line 969 00:49:49,460 --> 00:49:51,760 segment-- now you had this wrap around issue. 970 00:49:51,760 --> 00:49:54,310 So, like, these guys would have to line up. 971 00:49:54,310 --> 00:49:56,410 It turns out they will line up because everything 972 00:49:56,410 --> 00:49:57,809 is bisecting and whatnot. 973 00:49:57,809 --> 00:49:59,350 These edges will line up, but now you 974 00:49:59,350 --> 00:50:00,940 have to join them together. 975 00:50:00,940 --> 00:50:04,160 And if this part went all the way down here and came back up, 976 00:50:04,160 --> 00:50:06,920 then you'd get an intersection. 977 00:50:06,920 --> 00:50:12,840 And it turns out, in general, I get a choice of who's first 978 00:50:12,840 --> 00:50:13,484 and who's last. 979 00:50:13,484 --> 00:50:14,900 I have a circular order of things, 980 00:50:14,900 --> 00:50:17,850 and I get to choose where I break that circular order 981 00:50:17,850 --> 00:50:19,540 and make it a linear order. 982 00:50:19,540 --> 00:50:21,000 Where I do the wrap around. 983 00:50:21,000 --> 00:50:22,860 There's some circular corridors-- 984 00:50:22,860 --> 00:50:27,590 you can't even break them and make it work. 985 00:50:27,590 --> 00:50:30,200 Kind of depressing. 986 00:50:30,200 --> 00:50:32,679 So this is definitely harder and that sometimes it's 987 00:50:32,679 --> 00:50:33,220 not possible. 988 00:50:36,680 --> 00:50:40,450 But we can save a little bit, which 989 00:50:40,450 --> 00:50:43,800 is-- I don't have an example handy. 990 00:50:43,800 --> 00:50:44,940 I wish I did. 991 00:50:44,940 --> 00:50:46,530 I'll have to reconstruct it. 992 00:50:46,530 --> 00:50:47,530 This is so long ago. 993 00:50:50,810 --> 00:50:53,010 Here's a way to make it definitely work. 994 00:50:53,010 --> 00:50:54,435 Fold all the cut edges. 995 00:50:57,300 --> 00:50:59,030 So far in the pictures I've been drawing, 996 00:50:59,030 --> 00:51:00,910 I didn't fold along the cut edges 997 00:51:00,910 --> 00:51:03,992 because I really wanted to separate the green region here 998 00:51:03,992 --> 00:51:04,950 from the yellow region. 999 00:51:04,950 --> 00:51:08,007 If I folded this up-- this is quite a complicated one 1000 00:51:08,007 --> 00:51:12,320 to fold-- you get the cut lines somewhere like over there, 1001 00:51:12,320 --> 00:51:14,910 and then the green stuff will be always above the cut line 1002 00:51:14,910 --> 00:51:17,150 and the yellow stuff will be below the cut line. 1003 00:51:17,150 --> 00:51:18,770 In general, this is called a side assignment. 1004 00:51:18,770 --> 00:51:20,160 You have a bunch of regions you decide 1005 00:51:20,160 --> 00:51:21,868 which ones you want to be above and which 1006 00:51:21,868 --> 00:51:23,190 ones you want to be below. 1007 00:51:23,190 --> 00:51:25,060 And usually, you have polygons, and you 1008 00:51:25,060 --> 00:51:28,530 say the interiors are above and the exteriors are below. 1009 00:51:28,530 --> 00:51:31,770 But in general, you could ask for anything you want. 1010 00:51:31,770 --> 00:51:34,282 You could say maybe I want both of these to be above. 1011 00:51:34,282 --> 00:51:35,740 If you make both of them above, you 1012 00:51:35,740 --> 00:51:39,314 have to valley fold along all of the cut lines. 1013 00:51:39,314 --> 00:51:41,480 So if you do that-- you say I want all regions to be 1014 00:51:41,480 --> 00:51:43,990 above the cut line-- you can still line them up. 1015 00:51:43,990 --> 00:51:47,010 You end up folding along all the cut edges with valleys. 1016 00:51:47,010 --> 00:51:50,966 And then wrap around is super easy. 1017 00:51:50,966 --> 00:51:53,090 We take this thing, and in fact, everyone's folding 1018 00:51:53,090 --> 00:51:54,520 along the black lines. 1019 00:51:54,520 --> 00:51:57,550 So really everybody comes down to the floor, 1020 00:51:57,550 --> 00:52:00,090 and then the wrap around is just underneath the floor 1021 00:52:00,090 --> 00:52:02,610 and life is good. 1022 00:52:02,610 --> 00:52:04,876 So that's one way to deal with this case, 1023 00:52:04,876 --> 00:52:06,250 and you have to prove that works. 1024 00:52:06,250 --> 00:52:06,958 It's complicated. 1025 00:52:09,190 --> 00:52:13,270 I would rather go onto other topics. 1026 00:52:13,270 --> 00:52:17,040 I do think this would make a fun project. 1027 00:52:17,040 --> 00:52:20,200 It's not easy to make these crease patterns. 1028 00:52:20,200 --> 00:52:22,050 Currently we draw them always by hand, 1029 00:52:22,050 --> 00:52:23,570 meaning with the fancy drawing program that 1030 00:52:23,570 --> 00:52:24,986 knows how to do angular bisectors. 1031 00:52:27,470 --> 00:52:30,590 And it's an art to move around the points 1032 00:52:30,590 --> 00:52:32,930 so that you get lots of alignments. 1033 00:52:32,930 --> 00:52:35,866 Like when you get four straight skeleton edges coming together, 1034 00:52:35,866 --> 00:52:37,240 that means you get fewer creases. 1035 00:52:37,240 --> 00:52:39,850 That's a good thing whenever you can make that happen. 1036 00:52:39,850 --> 00:52:42,630 So when you could give me software to help 1037 00:52:42,630 --> 00:52:44,540 do that, I would love you. 1038 00:52:47,980 --> 00:52:51,199 So let's move on. 1039 00:52:51,199 --> 00:52:53,240 Any questions about the straight skeleton method? 1040 00:52:53,240 --> 00:52:55,860 Now I'm going to switch over to disk packing. 1041 00:52:58,758 --> 00:53:01,180 All right. 1042 00:53:01,180 --> 00:53:04,480 Same problem, but now I'll give you 1043 00:53:04,480 --> 00:53:10,300 a method that always works in theory. 1044 00:53:10,300 --> 00:53:14,440 Just difficult in practice. 1045 00:53:19,060 --> 00:53:23,710 I think this is good chalk because it's yellow. 1046 00:53:23,710 --> 00:53:25,410 Generally, if it's yellow on the outside 1047 00:53:25,410 --> 00:53:28,320 it is railroad chalk, which is the good stuff. 1048 00:53:28,320 --> 00:53:32,040 But, what the problem is-- we have bad erasers. 1049 00:53:32,040 --> 00:53:33,304 It's persistence of vision. 1050 00:53:33,304 --> 00:53:35,220 You just get to remember what I used to write. 1051 00:53:51,001 --> 00:53:52,750 I don't want to write down the algorithms. 1052 00:53:52,750 --> 00:53:55,040 It's complicated. 1053 00:53:55,040 --> 00:53:59,240 I want to give you a visual overview of the main steps. 1054 00:53:59,240 --> 00:54:02,910 I guess there's nice figures do that for us. 1055 00:54:02,910 --> 00:54:06,980 So we start with a very complicated shape 1056 00:54:06,980 --> 00:54:09,740 we want to make, like this quadrilateral. 1057 00:54:09,740 --> 00:54:13,510 And you can see disk packing is involved. 1058 00:54:13,510 --> 00:54:16,660 The very first thing we do-- and I'll tell you why in a moment-- 1059 00:54:16,660 --> 00:54:19,292 is thicken the graph you want to build. 1060 00:54:19,292 --> 00:54:20,750 So maybe it's a polygon, maybe it's 1061 00:54:20,750 --> 00:54:22,875 a graph-- I'll think about the polygon case for now 1062 00:54:22,875 --> 00:54:25,610 because it's easier, then I'll come back to the general case. 1063 00:54:25,610 --> 00:54:28,949 I thicken it by tiny epsilon. 1064 00:54:28,949 --> 00:54:30,240 Just offset in both directions. 1065 00:54:30,240 --> 00:54:32,400 Just like as if you're starting the straight skeleton method, 1066 00:54:32,400 --> 00:54:34,090 but then you stop after epsilon. 1067 00:54:34,090 --> 00:54:38,880 No events happen in epsilon time. 1068 00:54:38,880 --> 00:54:45,250 OK, then I have this picture-- the purple stuff, pink stuff, 1069 00:54:45,250 --> 00:54:45,750 whatever. 1070 00:54:45,750 --> 00:54:46,960 Magenta. 1071 00:54:46,960 --> 00:54:48,160 50% magenta. 1072 00:54:48,160 --> 00:54:51,390 I happen to know I drew this figure. 1073 00:54:51,390 --> 00:54:55,460 Now I'm going to take some 50% cyan disks 1074 00:54:55,460 --> 00:54:57,370 and pack them to fill this region. 1075 00:54:57,370 --> 00:54:59,930 Now what I want-- there's three properties I want. 1076 00:54:59,930 --> 00:55:01,930 One is that every vertex, but you 1077 00:55:01,930 --> 00:55:03,680 have to think about each region separately 1078 00:55:03,680 --> 00:55:05,290 which is a little bit confusing. 1079 00:55:05,290 --> 00:55:06,120 Let's think about the outside. 1080 00:55:06,120 --> 00:55:07,100 It's a little easier. 1081 00:55:07,100 --> 00:55:08,680 Bigger. 1082 00:55:08,680 --> 00:55:12,180 Every vertex of this graph on the outside 1083 00:55:12,180 --> 00:55:14,040 should be the center of a disk. 1084 00:55:14,040 --> 00:55:16,100 There's a disk center here. 1085 00:55:16,100 --> 00:55:17,520 There's a disk center here. 1086 00:55:17,520 --> 00:55:19,930 there's a disk center here, and a disk center there. 1087 00:55:19,930 --> 00:55:23,680 On the inside it's also true, they're just different disks. 1088 00:55:23,680 --> 00:55:26,370 Then also I want the edges of the graph 1089 00:55:26,370 --> 00:55:29,855 to be covered by a radii of disks. 1090 00:55:29,855 --> 00:55:31,950 And so here's a radius of one disk. 1091 00:55:31,950 --> 00:55:33,800 Here's a diameter of a disc. 1092 00:55:33,800 --> 00:55:36,820 Here's a radius of a disk that covers the edge. 1093 00:55:36,820 --> 00:55:39,390 So in other words, I want to fill-- along 1094 00:55:39,390 --> 00:55:41,820 the edge I want to have a bunch of centers 1095 00:55:41,820 --> 00:55:44,680 so that I completely cover that edge with blue. 1096 00:55:44,680 --> 00:55:46,320 You'll see why later. 1097 00:55:46,320 --> 00:55:46,820 Question? 1098 00:55:51,960 --> 00:55:54,630 The disks have to be non-overlapping. 1099 00:55:54,630 --> 00:55:57,709 These properties are actually quite challenging to achieve. 1100 00:55:57,709 --> 00:55:59,500 Your question is why do we use small disks. 1101 00:56:03,360 --> 00:56:05,680 Disk, because if I had a big disk here, 1102 00:56:05,680 --> 00:56:07,050 it would intersect this disk. 1103 00:56:09,990 --> 00:56:11,790 Now I didn't have to make that disk so big, 1104 00:56:11,790 --> 00:56:13,248 but if I made that one smaller, I'd 1105 00:56:13,248 --> 00:56:16,349 have to have more disks here. 1106 00:56:16,349 --> 00:56:17,890 Or here there's also two small disks. 1107 00:56:17,890 --> 00:56:23,420 That one I probably could have gotten away with a bigger disk. 1108 00:56:23,420 --> 00:56:26,404 Oh, no, but then on the inside you have a problem. 1109 00:56:26,404 --> 00:56:28,070 So these guys actually have to match up. 1110 00:56:28,070 --> 00:56:29,250 That's another constraint. 1111 00:56:29,250 --> 00:56:30,730 And the inside and the outside have to match up. 1112 00:56:30,730 --> 00:56:32,310 Here there's a slight change in radii 1113 00:56:32,310 --> 00:56:33,560 to compensate for the epsilon. 1114 00:56:33,560 --> 00:56:35,810 Along the edges they're exactly the same. 1115 00:56:35,810 --> 00:56:37,850 So if I made this one a big disk, 1116 00:56:37,850 --> 00:56:39,030 it would overlap this one. 1117 00:56:39,030 --> 00:56:41,340 So I could make that one smaller, but then-- other 1118 00:56:41,340 --> 00:56:42,779 problems. 1119 00:56:42,779 --> 00:56:44,320 So you have to simultaneously balance 1120 00:56:44,320 --> 00:56:48,270 all these constraints, which is a bit exciting. 1121 00:56:48,270 --> 00:56:48,860 What else? 1122 00:56:48,860 --> 00:56:50,300 The discs don't overlap. 1123 00:56:50,300 --> 00:56:53,240 And the last property is that the gaps between the disks 1124 00:56:53,240 --> 00:56:56,970 have always three or four sides. 1125 00:56:56,970 --> 00:56:58,010 Why? 1126 00:56:58,010 --> 00:56:59,970 Because I want it to. 1127 00:56:59,970 --> 00:57:01,770 It will make life easier. 1128 00:57:01,770 --> 00:57:03,730 You could try to deal with more sides, 1129 00:57:03,730 --> 00:57:08,370 but three and four is nice. 1130 00:57:08,370 --> 00:57:10,530 Yeah, I'll get to that. 1131 00:57:10,530 --> 00:57:12,240 Why do we care about number of sides? 1132 00:57:12,240 --> 00:57:14,820 Because I'm going to draw a graph. 1133 00:57:14,820 --> 00:57:17,030 I'm going to subdivide my original graph here 1134 00:57:17,030 --> 00:57:21,210 with these red lines to say whenever disks kiss, 1135 00:57:21,210 --> 00:57:23,815 I will draw-- connect the centers of those disks. 1136 00:57:26,660 --> 00:57:31,537 And because these gaps always have three or four sides-- 1137 00:57:31,537 --> 00:57:32,620 it's not the best example. 1138 00:57:32,620 --> 00:57:34,230 Here's like three sides. 1139 00:57:34,230 --> 00:57:36,990 The red lines I draw will outline a triangle. 1140 00:57:36,990 --> 00:57:39,800 Whenever I have three sides, whenever I have four sides, 1141 00:57:39,800 --> 00:57:41,520 I'll have a quadrilateral. 1142 00:57:41,520 --> 00:57:44,040 So I've subdivided my regions into triangles 1143 00:57:44,040 --> 00:57:45,820 and quadrilaterals. 1144 00:57:45,820 --> 00:57:48,300 OK, you have to believe that this is possible. 1145 00:57:48,300 --> 00:57:50,700 I can sketch an algorithm for you, 1146 00:57:50,700 --> 00:57:54,945 which is you draw a tiny disk at each of the corners, 1147 00:57:54,945 --> 00:57:57,070 and then you draw lots of tiny this along the edges 1148 00:57:57,070 --> 00:57:58,850 to fill the edges. 1149 00:57:58,850 --> 00:58:00,400 And that will satisfy everything. 1150 00:58:00,400 --> 00:58:01,670 I mean the disks will be non-overlapping 1151 00:58:01,670 --> 00:58:02,795 because they're super tiny. 1152 00:58:02,795 --> 00:58:05,390 They won't get near any other disks from some other side. 1153 00:58:05,390 --> 00:58:07,650 And what other good things? 1154 00:58:07,650 --> 00:58:09,580 Oh, but the regions will be ginormous. 1155 00:58:09,580 --> 00:58:11,080 They won't have three or four sides. 1156 00:58:11,080 --> 00:58:14,000 They'll have 100 sides, a million sides-- who knows. 1157 00:58:14,000 --> 00:58:18,460 Well, whenever you have some crazy region outlined 1158 00:58:18,460 --> 00:58:20,830 by disks-- might not be convex. 1159 00:58:20,830 --> 00:58:25,276 Whatever-- just draw the biggest disk you can in there. 1160 00:58:25,276 --> 00:58:27,890 I'll get it to turn into a disk eventually. 1161 00:58:27,890 --> 00:58:30,520 That does not intersect anybody, but if it's 1162 00:58:30,520 --> 00:58:32,200 the biggest possible, it will actually 1163 00:58:32,200 --> 00:58:34,510 touch at least three sides. 1164 00:58:34,510 --> 00:58:36,880 If you degenerate, it might touch four. 1165 00:58:36,880 --> 00:58:39,610 But in general, it will touch three sides, which 1166 00:58:39,610 --> 00:58:42,152 will subdivide that region into three pieces, 1167 00:58:42,152 --> 00:58:44,360 and you can show that those pieces are all little bit 1168 00:58:44,360 --> 00:58:47,480 smaller than what you had before in terms of number of sides. 1169 00:58:47,480 --> 00:58:49,510 Except when you start with a quadrilateral. 1170 00:58:49,510 --> 00:58:51,020 When there's four sides, you'll get 1171 00:58:51,020 --> 00:58:52,200 quadrilaterals and triangle. 1172 00:58:52,200 --> 00:58:53,930 So you can't go below three and four. 1173 00:58:53,930 --> 00:58:55,638 It'd be great if we could always get down 1174 00:58:55,638 --> 00:58:57,531 to three sides in every region, but we 1175 00:58:57,531 --> 00:58:58,780 can get down to three or four. 1176 00:58:58,780 --> 00:59:00,760 Anything bigger than three or four you can show. 1177 00:59:00,760 --> 00:59:02,218 This will make it strictly smaller. 1178 00:59:02,218 --> 00:59:03,420 So that is an algorithm. 1179 00:59:03,420 --> 00:59:06,160 It's not super efficient, but it will find a disk packing 1180 00:59:06,160 --> 00:59:07,510 with all these properties. 1181 00:59:07,510 --> 00:59:08,914 Then we do the subdivision. 1182 00:59:08,914 --> 00:59:10,580 Now what do you think we're going to do? 1183 00:59:10,580 --> 00:59:13,220 What do we do with the triangles? 1184 00:59:13,220 --> 00:59:14,940 Rabbit ear. 1185 00:59:14,940 --> 00:59:17,760 That's the key phrase for today. 1186 00:59:17,760 --> 00:59:20,690 So remember our good friend, the rabbit ear, and then 1187 00:59:20,690 --> 00:59:22,880 there was the universal molecule-- Lang's 1188 00:59:22,880 --> 00:59:24,760 universal molecule for the quadrilateral. 1189 00:59:24,760 --> 00:59:27,330 We're going to use that for the quadrilaterals. 1190 00:59:27,330 --> 00:59:30,390 And it turns out there's some nice properties here, 1191 00:59:30,390 --> 00:59:34,800 which is the perpendicular folds of the rabbit ear 1192 00:59:34,800 --> 00:59:37,530 will always hit right at the kissing point between the two 1193 00:59:37,530 --> 00:59:38,630 disks. 1194 00:59:38,630 --> 00:59:40,925 And same thing in here. 1195 00:59:40,925 --> 00:59:42,050 We've got these four disks. 1196 00:59:42,050 --> 00:59:45,610 We've got this quadrilateral region in between. 1197 00:59:45,610 --> 00:59:50,990 and the perpendicular folds that come out of these two points. 1198 00:59:50,990 --> 00:59:52,840 You may not remember exactly what's 1199 00:59:52,840 --> 00:59:55,440 happening here as we shrink. 1200 00:59:55,440 --> 00:59:59,920 And then in the tree method, this became an active path. 1201 00:59:59,920 --> 01:00:01,840 There's no notion of active paths here, 1202 01:00:01,840 --> 01:00:04,510 but we just make that so. 1203 01:00:04,510 --> 01:00:08,580 That these perpendicular folds will end up hitting kissing 1204 01:00:08,580 --> 01:00:12,760 disks, and we'll end up actually with the four arm starfish. 1205 01:00:12,760 --> 01:00:18,090 In terms of the tree you get and the articulatable flaps here, 1206 01:00:18,090 --> 01:00:20,630 these guys will all meet at a point. 1207 01:00:20,630 --> 01:00:23,470 That's just the way this works with disk packing. 1208 01:00:23,470 --> 01:00:26,160 And you can think of there being disks here 1209 01:00:26,160 --> 01:00:29,070 and you're actually applying the tree method to that flap 1210 01:00:29,070 --> 01:00:33,430 pattern, and that's probably the easiest way to think about it. 1211 01:00:33,430 --> 01:00:37,080 But what's good for us-- do I have a picture? 1212 01:00:37,080 --> 01:00:37,740 Not yet. 1213 01:00:37,740 --> 01:00:39,890 But the point is, I have perpendiculars coming out 1214 01:00:39,890 --> 01:00:40,442 of here. 1215 01:00:40,442 --> 01:00:42,150 I have perpendiculars coming out of here. 1216 01:00:42,150 --> 01:00:46,710 They will meet because these disks kiss at the same point 1217 01:00:46,710 --> 01:00:48,720 up from both sides. 1218 01:00:48,720 --> 01:00:49,780 Perpendiculars meet. 1219 01:00:49,780 --> 01:00:50,350 That's good. 1220 01:00:50,350 --> 01:00:51,891 That means I don't get perpendiculars 1221 01:00:51,891 --> 01:00:53,324 bouncing all over the place. 1222 01:00:53,324 --> 01:00:55,490 So all this work is to make sure that perpendiculars 1223 01:00:55,490 --> 01:00:56,645 are well behaved. 1224 01:00:56,645 --> 01:01:00,540 It's a lot of work to do it, but it does it. 1225 01:01:00,540 --> 01:01:04,700 Now when you fold this thing, what we end up doing 1226 01:01:04,700 --> 01:01:08,770 is lining up-- remember there was two copies of my polygon. 1227 01:01:08,770 --> 01:01:11,160 There's the inner copy and the outer copy. 1228 01:01:11,160 --> 01:01:17,960 I end up lining up all of these guys-- 1229 01:01:17,960 --> 01:01:19,390 I'm got to go back to the picture. 1230 01:01:19,390 --> 01:01:20,870 I'm sorry. 1231 01:01:20,870 --> 01:01:24,440 So we have this inner copy, and what these molecules end up 1232 01:01:24,440 --> 01:01:26,540 doing is lining up all the edges of this quad, 1233 01:01:26,540 --> 01:01:29,200 all the edges of this quad, all the edges of this triangle. 1234 01:01:29,200 --> 01:01:30,860 All those edges on the inside will 1235 01:01:30,860 --> 01:01:33,020 become lined up on one edge. 1236 01:01:33,020 --> 01:01:34,640 All the lines on the outside become 1237 01:01:34,640 --> 01:01:36,980 lined up on another line. 1238 01:01:36,980 --> 01:01:39,840 Turns out it will be parallel to that line. 1239 01:01:39,840 --> 01:01:42,277 But what we really wanted to line up were these edges, 1240 01:01:42,277 --> 01:01:44,860 and you can see why we had to do the outside of the beginning, 1241 01:01:44,860 --> 01:01:48,030 because otherwise we'd get tons of extra junk on our line. 1242 01:01:48,030 --> 01:01:50,860 We only want these edges on our line. 1243 01:01:50,860 --> 01:01:53,330 So we did the offset so that all this stuff 1244 01:01:53,330 --> 01:01:54,950 will come to one line. 1245 01:01:54,950 --> 01:01:57,870 All this stuff on the outside will come to another line. 1246 01:01:57,870 --> 01:02:01,410 And then we get this picture. 1247 01:02:01,410 --> 01:02:03,640 So this is one line at the bottom. 1248 01:02:03,640 --> 01:02:04,640 Another line at the top. 1249 01:02:04,640 --> 01:02:09,270 We really wanted to line up stuff-- the blue stuff there. 1250 01:02:09,270 --> 01:02:10,950 And there's still some junk on our line. 1251 01:02:10,950 --> 01:02:14,510 These cyan triangles represent things 1252 01:02:14,510 --> 01:02:17,654 that come from down here, but we really 1253 01:02:17,654 --> 01:02:19,070 don't want them to cross our line. 1254 01:02:19,070 --> 01:02:20,390 They just happened to. 1255 01:02:20,390 --> 01:02:22,650 So we have to sync them repeatedly. 1256 01:02:22,650 --> 01:02:25,730 Do lots of folds to make them underneath that epsilon line. 1257 01:02:25,730 --> 01:02:28,040 Then we can cut along our line, and we're done. 1258 01:02:28,040 --> 01:02:28,540 Easy. 1259 01:02:33,620 --> 01:02:37,880 To prove that this works, we'll view a little sketch. 1260 01:02:37,880 --> 01:02:40,670 This is kind of fun, and it's one piece 1261 01:02:40,670 --> 01:02:43,020 of what we're in the process of doing for tree maker. 1262 01:02:43,020 --> 01:02:45,103 This is sort of like a special case of tree maker. 1263 01:02:45,103 --> 01:02:47,260 You just have very simple molecules 1264 01:02:47,260 --> 01:02:49,510 and a relatively simple way in which they're combined. 1265 01:02:55,380 --> 01:02:57,370 Here I've done a simpler example. 1266 01:02:57,370 --> 01:03:01,890 I want to make a square, and I end up decomposing in this case 1267 01:03:01,890 --> 01:03:04,669 into nine molecules-- nine quadrilateral molecules. 1268 01:03:04,669 --> 01:03:06,460 A very simple disk packing which I have not 1269 01:03:06,460 --> 01:03:08,170 shown the disk packing here. 1270 01:03:08,170 --> 01:03:11,580 The idea is I'm going to make some cuts in my paper 1271 01:03:11,580 --> 01:03:13,645 to make my problem easier. 1272 01:03:13,645 --> 01:03:16,020 I'm going to have to pay for that, because later I really 1273 01:03:16,020 --> 01:03:17,100 want those edges joined. 1274 01:03:17,100 --> 01:03:18,641 I'll have to glue them back together. 1275 01:03:18,641 --> 01:03:24,290 But to make it easier think about, I cut those four edges. 1276 01:03:24,290 --> 01:03:27,170 So that the way in which my molecules are connected 1277 01:03:27,170 --> 01:03:29,751 to each other is a tree, because I like trees. 1278 01:03:29,751 --> 01:03:31,000 They're easier to think about. 1279 01:03:31,000 --> 01:03:32,490 Easier to do induction over. 1280 01:03:32,490 --> 01:03:35,580 So that's the blue line connecting the centers 1281 01:03:35,580 --> 01:03:36,460 in a tree. 1282 01:03:36,460 --> 01:03:41,440 The other remaining edges in the grid have been cut away. 1283 01:03:41,440 --> 01:03:44,690 Now the idea is-- it's kind of like what 1284 01:03:44,690 --> 01:03:47,190 I was drawing for the linear corridor case. 1285 01:03:47,190 --> 01:03:51,020 You have a tree, you pick up the tree from some node, 1286 01:03:51,020 --> 01:03:52,710 and just hang it down. 1287 01:03:52,710 --> 01:03:56,870 And in this case, we hang it from this molecule. 1288 01:03:56,870 --> 01:03:59,760 The red edges are mountain, so three of these 1289 01:03:59,760 --> 01:04:00,940 are going to be valley. 1290 01:04:00,940 --> 01:04:02,060 One mountain. 1291 01:04:02,060 --> 01:04:04,886 The idea is this thing reaches around the next guy, which 1292 01:04:04,886 --> 01:04:06,760 reaches is around the next guy, which reaches 1293 01:04:06,760 --> 01:04:08,930 around the next guy, and there's actually-- 1294 01:04:08,930 --> 01:04:11,326 there's two valleys here-- two little pockets. 1295 01:04:11,326 --> 01:04:12,950 Each of-- this guy goes in that pocket, 1296 01:04:12,950 --> 01:04:16,190 this guy goes in that pocket, and recursively, it just works. 1297 01:04:16,190 --> 01:04:20,095 I think I have a picture of what's actually happening here. 1298 01:04:20,095 --> 01:04:22,740 Yeah, is it's hard to really draw, 1299 01:04:22,740 --> 01:04:25,990 but each of these forearm starfish 1300 01:04:25,990 --> 01:04:28,970 has one mountain and three valleys, 1301 01:04:28,970 --> 01:04:33,070 and you just nestle inside your parent in the tree. 1302 01:04:33,070 --> 01:04:35,820 And this is really easy to show that there's no crossings here 1303 01:04:35,820 --> 01:04:38,310 because just joined to your parent, 1304 01:04:38,310 --> 01:04:40,820 and it's a nice nesting structure. 1305 01:04:40,820 --> 01:04:44,270 It's just in the same way that trees can be folded flat. 1306 01:04:44,270 --> 01:04:48,910 You can fold all these molecules flat 1307 01:04:48,910 --> 01:04:50,960 and join them together in a tree. 1308 01:04:50,960 --> 01:04:52,590 But we didn't really have a tree. 1309 01:04:52,590 --> 01:04:54,840 We had all those extra cuts that we have to re-suture. 1310 01:04:57,380 --> 01:04:59,369 So we have this picture, and now we really 1311 01:04:59,369 --> 01:05:01,910 have to join up these edges and think about what the mountain 1312 01:05:01,910 --> 01:05:03,520 valley assignment is there. 1313 01:05:03,520 --> 01:05:05,820 And it works. 1314 01:05:08,666 --> 01:05:13,140 This green thing is the boundary, 1315 01:05:13,140 --> 01:05:15,300 and then I have connected the dots. 1316 01:05:15,300 --> 01:05:17,830 Each of these dots corresponds to one green edge here. 1317 01:05:17,830 --> 01:05:22,270 I forget whether it's this edge or that one, I think. 1318 01:05:22,270 --> 01:05:25,200 It's just a single edge. 1319 01:05:25,200 --> 01:05:34,930 And so, for example, these two are-- these two joins, 1320 01:05:34,930 --> 01:05:38,600 and then the joins above that nestle around it. 1321 01:05:38,600 --> 01:05:40,950 And then the other branch at the top are 1322 01:05:40,950 --> 01:05:44,464 joins, and in the leftmost cut are these two joins. 1323 01:05:44,464 --> 01:05:46,130 You have to make these joins, and really 1324 01:05:46,130 --> 01:05:47,710 all you need to check is that these 1325 01:05:47,710 --> 01:05:50,650 joins form a non-crossing picture like they do here. 1326 01:05:50,650 --> 01:05:53,200 And that's almost obvious because this is a planer 1327 01:05:53,200 --> 01:05:56,660 diagram and we're cutting along a planer tree, 1328 01:05:56,660 --> 01:05:59,330 and so this is again a depth first search kind of thing. 1329 01:05:59,330 --> 01:06:03,510 So there's one tree we call the dual tree here 1330 01:06:03,510 --> 01:06:05,840 that works because it's a tree, and then there's 1331 01:06:05,840 --> 01:06:08,430 the cuts you make which are different trees-- primal tree 1332 01:06:08,430 --> 01:06:12,410 if you want-- and that also works because of planarity. 1333 01:06:12,410 --> 01:06:13,490 And it all works. 1334 01:06:13,490 --> 01:06:17,685 That's the hand wavy version, and you can read the textbook 1335 01:06:17,685 --> 01:06:20,330 if you want more details. 1336 01:06:20,330 --> 01:06:21,430 Oh, gosh. 1337 01:06:21,430 --> 01:06:24,720 If you want to solve more general graphs, you can do it. 1338 01:06:24,720 --> 01:06:28,360 In general, you have to offset all of those cut lines, 1339 01:06:28,360 --> 01:06:34,240 and you get all these things-- along the pink lines here you 1340 01:06:34,240 --> 01:06:36,440 line things up, but you really want 1341 01:06:36,440 --> 01:06:40,450 to line up these blue lines-- purple lines. 1342 01:06:40,450 --> 01:06:42,860 And so you have to do more syncing to get it to work. 1343 01:06:42,860 --> 01:06:44,651 Now I have all the things I want to line up 1344 01:06:44,651 --> 01:06:45,850 on this line and this line. 1345 01:06:45,850 --> 01:06:47,808 I fold in the middle, and now they're lined up. 1346 01:06:52,070 --> 01:06:54,422 That fold in the middle-- yeah, that will work. 1347 01:06:54,422 --> 01:06:55,530 Good. 1348 01:06:55,530 --> 01:06:56,780 Might have to do more syncing. 1349 01:07:00,180 --> 01:07:02,120 Whew. 1350 01:07:02,120 --> 01:07:03,750 Questions about disk-packing method? 1351 01:07:03,750 --> 01:07:05,957 This is a bit of a whirlwind tour, 1352 01:07:05,957 --> 01:07:07,540 but I wanted to get through it quickly 1353 01:07:07,540 --> 01:07:09,340 to tell you about a new result. 1354 01:07:09,340 --> 01:07:11,670 Just got accepted to a conference 1355 01:07:11,670 --> 01:07:16,490 to appear in October. 1356 01:07:16,490 --> 01:07:17,050 Pretty soon. 1357 01:07:22,780 --> 01:07:25,280 And it's a project that started in this class in the problem 1358 01:07:25,280 --> 01:07:30,090 session three years ago, and we just solved it. 1359 01:07:30,090 --> 01:07:33,310 Took awhile. 1360 01:07:33,310 --> 01:07:35,170 Took another co-author to chime in. 1361 01:07:39,730 --> 01:07:42,720 And it goes back to the early history of fold and cut 1362 01:07:42,720 --> 01:07:44,640 which is simple folds. 1363 01:07:44,640 --> 01:07:46,400 All the magicians were using simple folds. 1364 01:07:46,400 --> 01:07:48,670 What can you make with simple folds? 1365 01:07:48,670 --> 01:07:51,640 Now you've been wowed and dowed that you could make anything 1366 01:07:51,640 --> 01:07:55,030 with arbitrary folds, but simple folds you cannot make anything. 1367 01:07:55,030 --> 01:08:00,310 Because the first told you make, say, this one, 1368 01:08:00,310 --> 01:08:02,785 has to be a line of symmetry of your diagram. 1369 01:08:05,844 --> 01:08:09,045 Got to stop making my life hard. 1370 01:08:09,045 --> 01:08:11,170 If you can fold something, you can never unfold it. 1371 01:08:11,170 --> 01:08:14,040 That's the usual simple fold model. 1372 01:08:14,040 --> 01:08:15,910 This has to line up-- the cuts you 1373 01:08:15,910 --> 01:08:17,702 want to line up over here, that are exactly 1374 01:08:17,702 --> 01:08:19,243 be the cuts you want to line up here. 1375 01:08:19,243 --> 01:08:20,950 So you can only make symmetric diagrams. 1376 01:08:20,950 --> 01:08:24,990 The first fold has to be a line of reflectional symmetry. 1377 01:08:24,990 --> 01:08:27,890 But is that the only property you need? 1378 01:08:27,890 --> 01:08:28,510 No. 1379 01:08:28,510 --> 01:08:32,020 Kind of have to have symmetry for while until you're done. 1380 01:08:32,020 --> 01:08:33,620 How do you formalize that? 1381 01:08:33,620 --> 01:08:36,090 Well, we came up with an algorithm 1382 01:08:36,090 --> 01:08:40,340 that in polynomial time, an efficient algorithm 1383 01:08:40,340 --> 01:08:47,090 will tell you whether a given polygon can be made. 1384 01:08:47,090 --> 01:08:51,640 Like this polygon looks good. 1385 01:08:51,640 --> 01:08:56,430 I think-- yeah, I think this can be made. 1386 01:08:56,430 --> 01:09:00,740 So I think I would fold along and do a bisector here, 1387 01:09:00,740 --> 01:09:02,390 and then this basically disappears. 1388 01:09:02,390 --> 01:09:03,670 Folding over. 1389 01:09:03,670 --> 01:09:05,710 Then I would fold along and get a bisector here, 1390 01:09:05,710 --> 01:09:08,140 and then this disappears into that, 1391 01:09:08,140 --> 01:09:15,050 and then maybe I can fold here. 1392 01:09:15,050 --> 01:09:16,580 Does that work? 1393 01:09:16,580 --> 01:09:17,122 Barely. 1394 01:09:17,122 --> 01:09:19,580 I mean I've got to make sure that this blank paper does not 1395 01:09:19,580 --> 01:09:22,770 come onto that. 1396 01:09:22,770 --> 01:09:24,930 But if that's a problem, I can probably 1397 01:09:24,930 --> 01:09:28,950 make-- I could make a fold here, for example. 1398 01:09:28,950 --> 01:09:30,080 Shrinks that up. 1399 01:09:30,080 --> 01:09:32,130 There's lots of things you can do. 1400 01:09:32,130 --> 01:09:34,529 This is a borderline case whether it's yes or no. 1401 01:09:34,529 --> 01:09:36,720 I will give you an algorithm that does it. 1402 01:09:39,410 --> 01:09:41,909 For polygons with margin. 1403 01:09:44,620 --> 01:09:47,000 Bit of a technical condition. 1404 01:09:47,000 --> 01:09:49,080 Something that is pretty typical. 1405 01:09:49,080 --> 01:09:52,200 What I mean is the thing you're trying to cut out 1406 01:09:52,200 --> 01:09:54,490 does not meet the boundary of the paper. 1407 01:09:54,490 --> 01:09:55,680 There's no margin here. 1408 01:09:55,680 --> 01:09:57,240 It'd be hard to print out. 1409 01:09:57,240 --> 01:09:59,160 So I really want something that has margin. 1410 01:09:59,160 --> 01:10:00,787 That's a typical case we care about. 1411 01:10:00,787 --> 01:10:02,620 We actually need this for the proof to work. 1412 01:10:02,620 --> 01:10:04,370 We also need that it's a single polygon. 1413 01:10:09,160 --> 01:10:11,760 It does not work with general graphs. 1414 01:10:11,760 --> 01:10:12,589 This algorithm. 1415 01:10:12,589 --> 01:10:14,380 Because more complicated things can happen. 1416 01:10:14,380 --> 01:10:15,400 It might be [INAUDIBLE]. 1417 01:10:15,400 --> 01:10:19,290 for all we know, the general case. 1418 01:10:19,290 --> 01:10:25,450 So here's the algorithm that I'll give you in number form. 1419 01:10:25,450 --> 01:10:28,730 First thing you do is guess the first fold. 1420 01:10:28,730 --> 01:10:31,880 This is a powerful idea that even 1421 01:10:31,880 --> 01:10:34,460 most algorithmisists don't necessarily know. 1422 01:10:34,460 --> 01:10:37,394 The idea is what could the first fold be? 1423 01:10:37,394 --> 01:10:39,060 Has to be a line of reflection symmetry. 1424 01:10:39,060 --> 01:10:41,270 Turns out there's a linear number [INAUDIBLE] most. 1425 01:10:41,270 --> 01:10:43,310 You can find them in linear time. 1426 01:10:43,310 --> 01:10:45,120 All these good algorithms for finding them. 1427 01:10:45,120 --> 01:10:47,390 But which fold do I make first? 1428 01:10:47,390 --> 01:10:48,970 The answer is I don't care. 1429 01:10:48,970 --> 01:10:51,190 Let's just try them all one at a time. 1430 01:10:51,190 --> 01:10:52,510 This is what I call guessing. 1431 01:10:52,510 --> 01:10:54,990 Just imagine from now on that we made the right guess, 1432 01:10:54,990 --> 01:10:57,250 but if you end up failing later on this algorithm, 1433 01:10:57,250 --> 01:10:59,020 just go back here try the next one. 1434 01:10:59,020 --> 01:11:00,937 There's only N of them to try. 1435 01:11:00,937 --> 01:11:02,770 So you're going to multiply the running time 1436 01:11:02,770 --> 01:11:06,809 of the rest of the algorithm by N, and if this is N to N 1437 01:11:06,809 --> 01:11:08,850 squared-- which I think the rest of the algorithm 1438 01:11:08,850 --> 01:11:11,010 is N squared-- the whole algorithm will be N cubed 1439 01:11:11,010 --> 01:11:12,635 because you just run this over and over 1440 01:11:12,635 --> 01:11:13,894 for each possible first fold. 1441 01:11:13,894 --> 01:11:16,060 We don't have a great theory to find the first fold. 1442 01:11:16,060 --> 01:11:18,270 Just try them all. 1443 01:11:18,270 --> 01:11:20,160 That's step one. 1444 01:11:20,160 --> 01:11:25,710 Step two-- that's the only guess we're going to make. 1445 01:11:25,710 --> 01:11:28,840 Fold down to convex hull. 1446 01:11:28,840 --> 01:11:32,390 This is a central idea. 1447 01:11:32,390 --> 01:11:36,490 So we have this polygon we want to make. 1448 01:11:36,490 --> 01:11:38,049 There's all this extra blank paper. 1449 01:11:38,049 --> 01:11:39,340 I don't like extra blank paper. 1450 01:11:39,340 --> 01:11:40,440 Just get rid of it. 1451 01:11:40,440 --> 01:11:43,230 Make lots of folds to fold the blank paper onto itself 1452 01:11:43,230 --> 01:11:46,720 until it gets so tiny it just goes slightly around the convex 1453 01:11:46,720 --> 01:11:47,820 hull. 1454 01:11:47,820 --> 01:11:49,940 Convex hull is the smallest convex polygon 1455 01:11:49,940 --> 01:11:51,714 that contains your shape. 1456 01:11:51,714 --> 01:11:52,630 So it'll be like that. 1457 01:11:52,630 --> 01:11:55,630 It'll reduce the paper down to that. 1458 01:11:55,630 --> 01:11:57,880 And I do this a lot. 1459 01:11:57,880 --> 01:11:58,822 I might as well. 1460 01:11:58,822 --> 01:12:01,280 It makes the problem easier because I have less blank space 1461 01:12:01,280 --> 01:12:01,740 to worry about. 1462 01:12:01,740 --> 01:12:03,739 Blank space is a problem because if I [? fold ?] 1463 01:12:03,739 --> 01:12:06,120 blank space onto a cut, it's bad. 1464 01:12:06,120 --> 01:12:06,880 It's not allowed. 1465 01:12:09,480 --> 01:12:16,380 So the next thing we do is make the best possible safe fold. 1466 01:12:19,820 --> 01:12:23,276 I need to define that, but a safe fold 1467 01:12:23,276 --> 01:12:24,900 is just the folds we're trying to make, 1468 01:12:24,900 --> 01:12:27,630 which is locally they are lines of symmetry. 1469 01:12:27,630 --> 01:12:31,160 So like this one was a good fold after I made this fold. 1470 01:12:31,160 --> 01:12:34,010 So this is-- all the right stuff here is gone. 1471 01:12:34,010 --> 01:12:36,580 It's a good fold because it folds this on to this, 1472 01:12:36,580 --> 01:12:38,960 and it folds blank space onto this blank space. 1473 01:12:38,960 --> 01:12:42,640 So anything that comes into-- on top of each other is identical. 1474 01:12:42,640 --> 01:12:45,780 That's a safe fold. 1475 01:12:45,780 --> 01:12:50,140 And repeat. 1476 01:12:50,140 --> 01:12:52,720 That's the algorithm. 1477 01:12:52,720 --> 01:12:53,920 How does that work? 1478 01:12:58,750 --> 01:13:00,512 Why does this work? 1479 01:13:00,512 --> 01:13:02,220 So it's the obvious algorithm, basically. 1480 01:13:02,220 --> 01:13:05,080 It says make safe folds until you're done. 1481 01:13:05,080 --> 01:13:08,120 If you finish, then you're done. 1482 01:13:08,120 --> 01:13:09,470 And then the answer's yes. 1483 01:13:09,470 --> 01:13:11,720 If you don't finish-- which is a little hard to check 1484 01:13:11,720 --> 01:13:14,480 because you can always make microscopic folds-- 1485 01:13:14,480 --> 01:13:16,600 but you take the limit and-- if it's 1486 01:13:16,600 --> 01:13:18,960 possible to do this in polynomial time-- 1487 01:13:18,960 --> 01:13:20,130 you find that out. 1488 01:13:20,130 --> 01:13:23,750 Turns out I can't finish by making safe folds. 1489 01:13:23,750 --> 01:13:25,340 Then you can show that actually there 1490 01:13:25,340 --> 01:13:29,420 was no way to make that pattern by simple folds. 1491 01:13:29,420 --> 01:13:32,790 So let me give you an idea of why that's true. 1492 01:13:36,210 --> 01:13:39,930 After I make a single fold-- the first fold-- 1493 01:13:39,930 --> 01:13:41,990 my picture looks like this. 1494 01:13:41,990 --> 01:13:44,275 It's no longer a polygon. 1495 01:13:44,275 --> 01:13:45,700 It's like half a polygon. 1496 01:13:45,700 --> 01:13:48,204 It ends at the boundary of the paper. 1497 01:13:48,204 --> 01:13:50,120 It begins and ends with the boundary of paper, 1498 01:13:50,120 --> 01:13:51,703 and you have some chain in the middle. 1499 01:13:51,703 --> 01:13:52,830 We call this a passage. 1500 01:13:52,830 --> 01:13:54,870 It's like a path you wander along. 1501 01:13:54,870 --> 01:13:57,430 And I want to somehow bring all those edges into alignment. 1502 01:13:59,970 --> 01:14:01,800 Here I'm already using it as a polygon. 1503 01:14:01,800 --> 01:14:04,008 If it weren't a polygon, there might be more than one 1504 01:14:04,008 --> 01:14:05,280 of these. 1505 01:14:05,280 --> 01:14:06,550 Now I want to make a fold. 1506 01:14:06,550 --> 01:14:09,210 For example, this fold is safe because it folds this 1507 01:14:09,210 --> 01:14:11,740 on to this, and it folds blank space onto blank space 1508 01:14:11,740 --> 01:14:12,990 if I do it right. 1509 01:14:18,140 --> 01:14:19,390 And keep doing that. 1510 01:14:19,390 --> 01:14:22,220 Now when I make a fold like this, what happens 1511 01:14:22,220 --> 01:14:25,810 is I can think of this region that I folded-- the smaller 1512 01:14:25,810 --> 01:14:28,240 side-- as disappearing. 1513 01:14:28,240 --> 01:14:30,940 It just got absorbed into the paper here. 1514 01:14:30,940 --> 01:14:33,850 So the graph that I was trying to line up got smaller. 1515 01:14:33,850 --> 01:14:35,570 That's clearly a good thing. 1516 01:14:35,570 --> 01:14:37,020 Makes my problem easier. 1517 01:14:37,020 --> 01:14:40,210 The piece of paper I was folding also got smaller. 1518 01:14:40,210 --> 01:14:42,300 That's a good thing. 1519 01:14:42,300 --> 01:14:45,610 But that's not always true. 1520 01:14:45,610 --> 01:14:48,745 Suppose you had a piece of paper like this, 1521 01:14:48,745 --> 01:14:51,020 which could happen after a bunch folding, 1522 01:14:51,020 --> 01:14:53,270 and then you fold along a line like that 1523 01:14:53,270 --> 01:14:54,880 because, for example, your passage 1524 01:14:54,880 --> 01:14:56,700 looks like that or something. 1525 01:14:56,700 --> 01:14:59,910 When I make the fold-- this has to go off. 1526 01:14:59,910 --> 01:15:04,880 When I make the fold I get this crazy thing. 1527 01:15:04,880 --> 01:15:06,600 Not drawn to scale. 1528 01:15:06,600 --> 01:15:09,380 And this polygon does not fit inside this polygon. 1529 01:15:09,380 --> 01:15:11,910 So my paper got bigger in some places. 1530 01:15:11,910 --> 01:15:14,110 And that's a worry, because now I have the stuff-- 1531 01:15:14,110 --> 01:15:15,960 maybe it happens to be blank space. 1532 01:15:15,960 --> 01:15:18,240 Maybe there's other junk that got out here. 1533 01:15:18,240 --> 01:15:20,027 And now have to worry about collisions 1534 01:15:20,027 --> 01:15:21,360 with this bigger piece of paper. 1535 01:15:21,360 --> 01:15:23,960 And this is always our sticking point, 1536 01:15:23,960 --> 01:15:28,550 but there's some magic you can do. 1537 01:15:28,550 --> 01:15:30,410 In fact, the picture cannot look like this. 1538 01:15:33,110 --> 01:15:36,820 Because, look, you've got some portion of your passage 1539 01:15:36,820 --> 01:15:38,074 to the left of the crease. 1540 01:15:38,074 --> 01:15:40,240 You've got some portion of the passage to the right. 1541 01:15:40,240 --> 01:15:42,460 One of them has to be shorter. 1542 01:15:42,460 --> 01:15:44,980 Plus, this is a line of symmetry. 1543 01:15:44,980 --> 01:15:49,680 So wherever I have a portion of my passage over here, 1544 01:15:49,680 --> 01:15:51,660 I will have a portion of my passage over here 1545 01:15:51,660 --> 01:15:52,880 until I run out of length. 1546 01:15:52,880 --> 01:15:54,420 One of them is shorter. 1547 01:15:54,420 --> 01:15:57,360 So the shorter one like this one gets totally absorbed 1548 01:15:57,360 --> 01:15:58,670 by the larger one. 1549 01:15:58,670 --> 01:16:01,410 So the shorter side always disappears. 1550 01:16:01,410 --> 01:16:04,620 So in this picture, I have the long side of my passage, 1551 01:16:04,620 --> 01:16:07,210 and it's really a subset of the original. 1552 01:16:07,210 --> 01:16:10,330 If I reduce this to the convex hull, 1553 01:16:10,330 --> 01:16:14,460 like this, this stuff disappears. 1554 01:16:14,460 --> 01:16:18,430 And in general, if you do this fold down to convex hull, 1555 01:16:18,430 --> 01:16:21,740 this repeat goes back to step two. 1556 01:16:21,740 --> 01:16:23,240 If you fold down to the convex hull, 1557 01:16:23,240 --> 01:16:25,573 you can show that not only does your passage-- the thing 1558 01:16:25,573 --> 01:16:28,150 you want to cut out-- get smaller, but you piece of paper 1559 01:16:28,150 --> 01:16:30,060 also gets smaller. 1560 01:16:30,060 --> 01:16:30,610 Guaranteed. 1561 01:16:30,610 --> 01:16:33,710 And once you know the paper get smaller and your things you're 1562 01:16:33,710 --> 01:16:37,740 trying to align get smaller, you know that every move is safe. 1563 01:16:37,740 --> 01:16:40,830 So you never get stuck by following this algorithm. 1564 01:16:40,830 --> 01:16:43,440 This works for polygons with margin, 1565 01:16:43,440 --> 01:16:45,760 but not in any other situation as far as we can tell. 1566 01:16:48,626 --> 01:16:49,125 Cool. 1567 01:16:52,426 --> 01:16:54,050 The last thing I wanted to leave you on 1568 01:16:54,050 --> 01:17:00,440 is going out a little way from regular 2D flat sheets 1569 01:17:00,440 --> 01:17:01,530 of paper. 1570 01:17:01,530 --> 01:17:04,920 You can generalize and go up a dimension 1571 01:17:04,920 --> 01:17:09,000 to folding polyhedra surface. 1572 01:17:09,000 --> 01:17:10,630 Here, a surface of a polyhedron. 1573 01:17:10,630 --> 01:17:11,713 You've probably done this. 1574 01:17:11,713 --> 01:17:15,730 You take a cereal box and you can collapse it flat. 1575 01:17:15,730 --> 01:17:17,180 Is that always possible? 1576 01:17:17,180 --> 01:17:21,210 It's called the flattening problem, and the answer is yes. 1577 01:17:21,210 --> 01:17:23,390 And you can think of it as a fold and cut problem, 1578 01:17:23,390 --> 01:17:24,889 because of the fold and cut problem, 1579 01:17:24,889 --> 01:17:27,070 you have some polygon like this diamond. 1580 01:17:27,070 --> 01:17:29,170 You make some collection of folds 1581 01:17:29,170 --> 01:17:32,406 that brings the boundary of the diamond to align. 1582 01:17:32,406 --> 01:17:34,030 So if you forget about what's happening 1583 01:17:34,030 --> 01:17:35,220 on the inside of the paper-- you just 1584 01:17:35,220 --> 01:17:37,250 look at the boundary of the paper-- you're 1585 01:17:37,250 --> 01:17:41,410 folding that one-dimensional boundary so that it collapses 1586 01:17:41,410 --> 01:17:43,590 down to a single line. 1587 01:17:43,590 --> 01:17:46,840 What I want to do is this up a dimension. 1588 01:17:46,840 --> 01:17:51,510 I take a 3D cube of paper-- solid cube. 1589 01:17:51,510 --> 01:17:55,770 I have embedded within it some polygons 1590 01:17:55,770 --> 01:18:00,220 that I want to bring to a common plane. 1591 01:18:00,220 --> 01:18:04,690 And I want to fold the solid cube through four dimensions, 1592 01:18:04,690 --> 01:18:07,520 but flat so it ends up back in three dimensions. 1593 01:18:07,520 --> 01:18:11,280 I get a different 3D solid, but with multiple layers 1594 01:18:11,280 --> 01:18:13,030 right on top of each other-- little bit 1595 01:18:13,030 --> 01:18:14,727 a fourth dimension hanging out there. 1596 01:18:14,727 --> 01:18:16,310 But if I just look at what's happening 1597 01:18:16,310 --> 01:18:17,792 to the boundary of my polyhedron-- 1598 01:18:17,792 --> 01:18:20,000 say I start with a dodecahedron or something embedded 1599 01:18:20,000 --> 01:18:22,670 in there-- and I want to fold this thing 1600 01:18:22,670 --> 01:18:24,430 so all the sides of the dodecahedron 1601 01:18:24,430 --> 01:18:25,980 come to a common plane. 1602 01:18:25,980 --> 01:18:28,210 That is the 3D folding cup problem. 1603 01:18:28,210 --> 01:18:29,980 It remains unsolved. 1604 01:18:29,980 --> 01:18:33,390 I suspect it's possible to solve even with straight skeletons 1605 01:18:33,390 --> 01:18:35,620 and perpendiculars, but it's really hard 1606 01:18:35,620 --> 01:18:37,100 to draw the pictures. 1607 01:18:37,100 --> 01:18:40,320 So we have not resolved that one way or the other. 1608 01:18:40,320 --> 01:18:41,930 But the boundary problem-- forget 1609 01:18:41,930 --> 01:18:43,870 about what's happening to the interior and the exterior 1610 01:18:43,870 --> 01:18:44,720 of the dodecahedron. 1611 01:18:44,720 --> 01:18:46,886 If you just look at the surface of the dodecahedron, 1612 01:18:46,886 --> 01:18:49,630 that you can fold in 3D-- we think-- 1613 01:18:49,630 --> 01:18:53,500 and you can show and burn in haze 1614 01:18:53,500 --> 01:18:56,330 from the complexity proof a couple lectures ago, 1615 01:18:56,330 --> 01:19:00,460 and also on this disk-packing method with our co-authors. 1616 01:19:00,460 --> 01:19:03,350 They prove just two years ago that if you 1617 01:19:03,350 --> 01:19:08,720 have any orientable manifold, which is things like polyhedron 1618 01:19:08,720 --> 01:19:13,315 but no Mobius strips, no Klein bundles, and other ugly things. 1619 01:19:13,315 --> 01:19:14,940 They have to be manifold, so you're not 1620 01:19:14,940 --> 01:19:20,760 allowed to join three triangles together along a single edge. 1621 01:19:20,760 --> 01:19:23,010 That would be forbidden. 1622 01:19:23,010 --> 01:19:24,970 So it's locally flat. 1623 01:19:24,970 --> 01:19:27,870 In such a case, you can flatten the thing. 1624 01:19:27,870 --> 01:19:32,530 And the proof is very similar to the disk-packing method of fold 1625 01:19:32,530 --> 01:19:34,570 and cut, and in the textbook we talk 1626 01:19:34,570 --> 01:19:36,722 about how do you apply that to do something 1627 01:19:36,722 --> 01:19:37,805 that's just like a sphere. 1628 01:19:37,805 --> 01:19:39,240 A regular polyhedron. 1629 01:19:39,240 --> 01:19:41,490 That's pretty easy to do with the disk-packing method. 1630 01:19:41,490 --> 01:19:42,989 They generalize it to the case where 1631 01:19:42,989 --> 01:19:49,045 you have polyhedral doughnuts and all sorts of fun things. 1632 01:19:49,045 --> 01:19:50,670 But there's tons of open problems here. 1633 01:19:50,670 --> 01:19:52,128 So we know how to flatten surfaces, 1634 01:19:52,128 --> 01:19:55,190 and that's useful for things like folding airbags flat. 1635 01:19:55,190 --> 01:19:58,660 But can you fold the 3D solid flat? 1636 01:19:58,660 --> 01:20:02,530 You can think of-- we have here 1D edges 1637 01:20:02,530 --> 01:20:06,890 which we are collapsing to a 1D line. 1638 01:20:06,890 --> 01:20:09,900 There is also zero dimensional points here, 1639 01:20:09,900 --> 01:20:12,610 which we don't bring to a single point. 1640 01:20:12,610 --> 01:20:15,090 It'd be nice if you could-- the generalized fold and cup 1641 01:20:15,090 --> 01:20:17,430 problem is you take a D dimensional thing, 1642 01:20:17,430 --> 01:20:20,180 and you have all of these-- there's 0, 1, 2, 1643 01:20:20,180 --> 01:20:22,720 3-- up to D dimensional parts to it-- 1644 01:20:22,720 --> 01:20:24,340 or D minus one-dimensional parts. 1645 01:20:24,340 --> 01:20:26,600 You want to bring each of them down into alignment 1646 01:20:26,600 --> 01:20:29,550 so that all the vertices come to common point, 1647 01:20:29,550 --> 01:20:31,702 all the edges come to a common line, 1648 01:20:31,702 --> 01:20:33,910 all the two-dimensional faces come to a common plane, 1649 01:20:33,910 --> 01:20:36,820 and so on up the dimension hierarchy. 1650 01:20:36,820 --> 01:20:38,330 That is the ultimate open problem. 1651 01:20:38,330 --> 01:20:42,890 I think we end the book with it, and it's totally unsolved. 1652 01:20:42,890 --> 01:20:43,490 Any questions? 1653 01:20:46,256 --> 01:20:47,630 That's folding and cutting paper, 1654 01:20:47,630 --> 01:20:50,000 and next time we'll start linkages.