1
00:00:03,210 --> 00:00:04,800
PROFESSOR: All right,
so this lecture

2
00:00:04,800 --> 00:00:09,200
we talked about lots of cool
origami design software, all

3
00:00:09,200 --> 00:00:11,430
written by Tomohiro Tachi.

4
00:00:11,430 --> 00:00:15,470
We had Origamizer, Freeform
Origami Designer, Rigid Origami

5
00:00:15,470 --> 00:00:16,379
Simulator.

6
00:00:16,379 --> 00:00:19,070
And then he talked about
a bunch of other things

7
00:00:19,070 --> 00:00:21,320
that he's built using
that kind of technology,

8
00:00:21,320 --> 00:00:24,080
like cylinder folding and so on.

9
00:00:24,080 --> 00:00:25,510
And I got a bunch of questions.

10
00:00:25,510 --> 00:00:28,820
So first is an exercise.

11
00:00:28,820 --> 00:00:32,479
If you haven't picked
up handouts, grab them.

12
00:00:32,479 --> 00:00:34,750
Let's fold something
from Origamizer.

13
00:00:34,750 --> 00:00:38,120
And I made the pretty much
the simplest possible thing

14
00:00:38,120 --> 00:00:42,854
you can make, which is four
squares coming together.

15
00:00:42,854 --> 00:00:44,270
And so this is the
crease pattern,

16
00:00:44,270 --> 00:00:45,395
and we're going to fold it.

17
00:00:45,395 --> 00:00:49,830
You can start folding
now if you like.

18
00:00:49,830 --> 00:00:52,149
So I'll do it too.

19
00:00:52,149 --> 00:00:54,440
So the first step in folding
a crease pattern like this

20
00:00:54,440 --> 00:00:56,290
is to precrease all the folds.

21
00:00:56,290 --> 00:00:59,240
The easiest way to do that is
to precrease them all mountain.

22
00:00:59,240 --> 00:01:02,480
And these black guys, we're
actually going to fold-- I'm

23
00:01:02,480 --> 00:01:04,879
going to make a
rectangular region here,

24
00:01:04,879 --> 00:01:07,750
because I didn't trim
the paper to the square.

25
00:01:07,750 --> 00:01:10,500
So you've got a fold along
these two black lines

26
00:01:10,500 --> 00:01:12,390
and all of these guys.

27
00:01:12,390 --> 00:01:19,090
So it's a good exercise in
folding crease patterns,

28
00:01:19,090 --> 00:01:22,090
if you didn't already do one
NP set two, which is due today.

29
00:01:26,285 --> 00:01:28,410
When you're mountain folding,
you can pretty easily

30
00:01:28,410 --> 00:01:31,190
guide along a straight line.

31
00:01:31,190 --> 00:01:33,010
So you just fold,
unfold, fold, unfold.

32
00:01:47,691 --> 00:01:50,190
Don't worry about the mountain
valley pattern at this point.

33
00:01:54,220 --> 00:01:56,100
It's really hard to
precrease a valley.

34
00:02:57,780 --> 00:03:00,330
When you're precreasing the
non-horizontal and vertical

35
00:03:00,330 --> 00:03:03,250
folds, make sure you only
crease the part that's marked.

36
00:03:03,250 --> 00:03:04,380
Don't go too far.

37
00:04:06,979 --> 00:04:07,520
How we doing?

38
00:04:07,520 --> 00:04:09,721
How many people have precreased?

39
00:04:09,721 --> 00:04:10,470
No one, all right.

40
00:04:10,470 --> 00:04:10,970
I win.

41
00:04:13,600 --> 00:04:15,965
It helps that I've already
made a couple of these.

42
00:04:15,965 --> 00:04:18,579
This is what it's going to
look like when it's folded.

43
00:04:18,579 --> 00:04:21,000
On the back, you'll have
the four rectangles.

44
00:04:21,000 --> 00:04:21,820
Beautiful.

45
00:04:21,820 --> 00:04:25,520
And then on the front
where all the color is,

46
00:04:25,520 --> 00:04:27,400
you see all the crease pattern.

47
00:04:27,400 --> 00:04:31,850
And so we're going to--
as Origamizer always does,

48
00:04:31,850 --> 00:04:37,710
it adds these tabs, the tuck
parts, along each of the edges.

49
00:04:37,710 --> 00:04:40,150
And that the vertex you've got
a slightly more complicated

50
00:04:40,150 --> 00:04:42,209
thing.

51
00:04:42,209 --> 00:04:43,875
So that's what we're
going to be making.

52
00:04:48,510 --> 00:04:52,670
This is an example of the tried
and tested advanced origami

53
00:04:52,670 --> 00:04:54,310
folding of almost anything.

54
00:04:54,310 --> 00:04:58,160
First precrease all the creases,
then fold all the creases.

55
00:04:58,160 --> 00:05:00,150
Then you have your
model, pretty much.

56
00:05:05,830 --> 00:05:08,650
But the precreasing is usually
the really tedious part.

57
00:05:08,650 --> 00:05:10,310
When we're feeling
high tech, we'll

58
00:05:10,310 --> 00:05:13,960
precrease with a
sign cutter, which

59
00:05:13,960 --> 00:05:18,140
is a computer-controlled
robotic knife blade.

60
00:05:18,140 --> 00:05:19,780
We'll score along the creases.

61
00:05:19,780 --> 00:05:22,820
Or a laser cutter, which can
burn halfway through the paper.

62
00:05:22,820 --> 00:05:27,150
Or pick your favorite tool.

63
00:05:27,150 --> 00:05:29,550
The fanciest is a
computer-controlled ball

64
00:05:29,550 --> 00:05:32,030
burnisher.

65
00:05:32,030 --> 00:05:33,870
Once you've precreased
everything mountain,

66
00:05:33,870 --> 00:05:37,064
you want to reverse in
particular the black lines.

67
00:05:37,064 --> 00:05:38,730
Those are really the
only important ones

68
00:05:38,730 --> 00:05:43,630
to reverse, I find,
in this model.

69
00:05:43,630 --> 00:05:46,186
So those are all
going to be valley.

70
00:05:46,186 --> 00:05:49,480
You want to invert
them to be valleys.

71
00:06:33,740 --> 00:06:37,950
Once you've got those guys,
you can collapse your flaps.

72
00:06:37,950 --> 00:06:38,840
Here's the fun part.

73
00:06:42,590 --> 00:06:45,370
Ideally, you can collapse
maybe all four of them at once.

74
00:06:45,370 --> 00:06:47,438
Let's see.

75
00:06:47,438 --> 00:06:49,550
It's been hours since
I've folded one of these.

76
00:06:49,550 --> 00:06:51,740
I've forgotten how it's done.

77
00:06:51,740 --> 00:06:54,660
You get this kind
of floppy version.

78
00:06:54,660 --> 00:06:58,000
These polygons aren't flat
like they're supposed to be.

79
00:06:58,000 --> 00:07:01,270
And this is where we have too
much material at the vertex

80
00:07:01,270 --> 00:07:01,770
here.

81
00:07:01,770 --> 00:07:03,500
And so there's
these tucks, which

82
00:07:03,500 --> 00:07:07,630
are just crimps, as
we've been calling them.

83
00:07:07,630 --> 00:07:11,460
And the blue here is mountain,
the way I've set it up.

84
00:07:11,460 --> 00:07:13,660
So you just do all
of those crimps.

85
00:07:13,660 --> 00:07:14,754
Mountain valley.

86
00:07:14,754 --> 00:07:15,420
Mountain valley.

87
00:07:15,420 --> 00:07:17,440
It's kind of like
little simple folds

88
00:07:17,440 --> 00:07:19,940
but in this
three-dimensional state.

89
00:07:19,940 --> 00:07:22,320
And when you put
them all in, it just

90
00:07:22,320 --> 00:07:24,000
makes exactly the desired form.

91
00:07:24,000 --> 00:07:27,805
That's because this
is has been designed

92
00:07:27,805 --> 00:07:30,180
to have exactly the right
angles after you do the crimps.

93
00:07:30,180 --> 00:07:33,620
And there's only one--
if your paper was rigid,

94
00:07:33,620 --> 00:07:37,580
there'd be only one possible
shape this could take on.

95
00:07:37,580 --> 00:07:41,297
And there it is.

96
00:07:41,297 --> 00:07:42,920
This is supposed
to be-- usually,

97
00:07:42,920 --> 00:07:46,250
you fold it this way so that all
the crease lines that you print

98
00:07:46,250 --> 00:07:49,370
are on the backside,
so you can't see them.

99
00:07:49,370 --> 00:07:51,290
So then you have your
perfect model out here.

100
00:07:51,290 --> 00:07:54,490
Not so perfect.

101
00:07:54,490 --> 00:07:56,670
You'd just be exposing
the origami side

102
00:07:56,670 --> 00:07:58,800
with the tucks hidden
on the backside.

103
00:07:58,800 --> 00:08:00,510
Usually, you also want
to hide the tucks.

104
00:08:00,510 --> 00:08:02,926
But of course, if you want to
get it the other way around,

105
00:08:02,926 --> 00:08:05,230
you just fold the blue valleys.

106
00:08:05,230 --> 00:08:07,160
The red's mountains.

107
00:08:07,160 --> 00:08:09,331
But I find it's a little
easier to fold this way,

108
00:08:09,331 --> 00:08:10,830
where you can see
what you're doing.

109
00:08:10,830 --> 00:08:14,351
You can see all the crease
lines you're making.

110
00:08:14,351 --> 00:08:16,200
I can see the advanced
folders are already

111
00:08:16,200 --> 00:08:18,470
going on to the next one.

112
00:08:18,470 --> 00:08:21,420
This one is six squares,
all coming together.

113
00:08:21,420 --> 00:08:25,630
When folded, it looks
something like this.

114
00:08:25,630 --> 00:08:29,390
But note that the crease
pattern as I've drawn it kind of

115
00:08:29,390 --> 00:08:33,400
requires you to cut
out this outer shape,

116
00:08:33,400 --> 00:08:35,940
because I haven't drawn the
creases that are outside there,

117
00:08:35,940 --> 00:08:37,270
to make it easier to fold.

118
00:08:37,270 --> 00:08:39,539
So if you're folding
ahead, ideally, you

119
00:08:39,539 --> 00:08:43,032
cut along all the black
lines in the outside.

120
00:08:43,032 --> 00:08:43,870
Those guys.

121
00:08:43,870 --> 00:08:47,050
And then when you want to put in
these tucks-- you see how these

122
00:08:47,050 --> 00:08:51,170
are lined up-- you just
want to crimp that.

123
00:08:51,170 --> 00:08:52,170
All right.

124
00:08:52,170 --> 00:08:54,349
You can keep folding at home.

125
00:08:54,349 --> 00:08:56,390
I want to show you a little
bit about the process

126
00:08:56,390 --> 00:08:57,760
of making that crease pattern.

127
00:08:57,760 --> 00:08:59,960
It's pretty easy
once you know how,

128
00:08:59,960 --> 00:09:01,480
but if you haven't
done it before,

129
00:09:01,480 --> 00:09:04,240
the first time is a
little bit challenging.

130
00:09:04,240 --> 00:09:07,460
I use a 3D-- first you
draw your 3D squares

131
00:09:07,460 --> 00:09:09,440
that you want to make.

132
00:09:09,440 --> 00:09:12,210
I use a program called
Rhinoceros 3D, which

133
00:09:12,210 --> 00:09:14,280
has a pretty cheap
academic license,

134
00:09:14,280 --> 00:09:18,220
and it's commonly used
around here in architecture.

135
00:09:18,220 --> 00:09:21,466
You get a top-down view
and a perspective view,

136
00:09:21,466 --> 00:09:22,590
and all these great things.

137
00:09:22,590 --> 00:09:25,150
In this case, I just wanted to
draw four squares in a plane,

138
00:09:25,150 --> 00:09:28,380
so it was pretty simple.

139
00:09:28,380 --> 00:09:31,270
I should have the file here.

140
00:09:31,270 --> 00:09:32,040
Four squares.

141
00:09:37,600 --> 00:09:39,660
So it looks like this.

142
00:09:39,660 --> 00:09:45,675
I've got my four
squares like that.

143
00:09:45,675 --> 00:09:46,420
Very exciting.

144
00:09:46,420 --> 00:09:48,370
Here's what it looks
like in three dimensions.

145
00:09:48,370 --> 00:09:49,500
Wow.

146
00:09:49,500 --> 00:09:54,320
Then you export that
into DXF format.

147
00:09:54,320 --> 00:09:56,880
Or sorry, into OBJ format.

148
00:09:56,880 --> 00:10:00,920
So you save as OBJ.

149
00:10:00,920 --> 00:10:04,140
You've got a zillion options.

150
00:10:04,140 --> 00:10:05,820
You want to polygon mesh.

151
00:10:05,820 --> 00:10:06,970
Polylines.

152
00:10:06,970 --> 00:10:07,730
UNIX.

153
00:10:07,730 --> 00:10:11,890
That works for me, though
some variations may also work.

154
00:10:11,890 --> 00:10:16,120
Then you've got your OBJ file.

155
00:10:16,120 --> 00:10:20,085
You run Origamizer,
which looks like this.

156
00:10:23,640 --> 00:10:29,130
And you can drag in
your new OBJ file.

157
00:10:29,130 --> 00:10:29,730
Here it is.

158
00:10:29,730 --> 00:10:30,680
Exciting model here.

159
00:10:30,680 --> 00:10:33,810
This is in three dimensions.

160
00:10:33,810 --> 00:10:38,550
And then you say develop.

161
00:10:38,550 --> 00:10:40,850
Actually, first you should
probably do angle condition,

162
00:10:40,850 --> 00:10:42,460
and then develop.

163
00:10:42,460 --> 00:10:46,950
Now you've got something
like a crease pattern.

164
00:10:46,950 --> 00:10:48,586
It's actually just
placing the squares,

165
00:10:48,586 --> 00:10:50,710
and you can change how the
squares are placed here.

166
00:10:50,710 --> 00:10:53,043
I spread them out a little
bit so that this tuck was not

167
00:10:53,043 --> 00:10:54,090
super tiny.

168
00:10:54,090 --> 00:10:55,930
This model isn't
very constrained.

169
00:10:55,930 --> 00:10:58,380
And then you say crease
pattern generation,

170
00:10:58,380 --> 00:11:00,840
and you get your crease pattern.

171
00:11:00,840 --> 00:11:03,060
And you can adjust
how spread out

172
00:11:03,060 --> 00:11:05,860
you want these, how big
you want your tucks to be.

173
00:11:05,860 --> 00:11:10,000
I made it nice and square,
and something like that size.

174
00:11:10,000 --> 00:11:14,690
Then when you save, you get a
crease pattern in DXF format.

175
00:11:14,690 --> 00:11:18,640
And then hopefully your
drawing program can edit DXF.

176
00:11:18,640 --> 00:11:20,740
I think I opened it in
Rhino, then exported

177
00:11:20,740 --> 00:11:24,140
to Adobe Illustrator, and
then open in Illustrator.

178
00:11:24,140 --> 00:11:26,420
I removed all this
stuff on the outside,

179
00:11:26,420 --> 00:11:29,540
because I just wanted
this square boundary.

180
00:11:29,540 --> 00:11:32,550
But you can do
whatever you like.

181
00:11:32,550 --> 00:11:37,620
So that's Origamizer in action.

182
00:11:37,620 --> 00:11:39,600
Wow, 900 frames a second.

183
00:11:39,600 --> 00:11:42,330
That's fast.

184
00:11:42,330 --> 00:11:44,400
Of course, if you do
more complicated models,

185
00:11:44,400 --> 00:11:46,796
it can be a little
more involved.

186
00:11:46,796 --> 00:11:47,670
We've seen the bunny.

187
00:11:47,670 --> 00:11:48,610
What haven't we seen?

188
00:11:48,610 --> 00:11:49,580
A mask.

189
00:11:49,580 --> 00:11:51,230
Never done this one.

190
00:11:51,230 --> 00:11:53,750
You should see develop.

191
00:11:53,750 --> 00:11:54,420
Boom.

192
00:11:54,420 --> 00:11:55,760
There it goes.

193
00:11:55,760 --> 00:12:00,310
And spreading them out, trying
to solve all the constraints,

194
00:12:00,310 --> 00:12:01,850
at some point it will converge.

195
00:12:01,850 --> 00:12:04,390
In the lower left, you can
see its current error value.

196
00:12:04,390 --> 00:12:08,650
When that gets down to zero you
have a perfect crease pattern.

197
00:12:08,650 --> 00:12:10,130
Except for these green regions.

198
00:12:10,130 --> 00:12:15,190
The green regions means that
the tucks in the 3D model, some

199
00:12:15,190 --> 00:12:17,640
of the-- it's a little
hard to turnaround.

200
00:12:17,640 --> 00:12:21,469
Some of the tucks
may be intersecting.

201
00:12:21,469 --> 00:12:23,010
So if we look closely
we can probably

202
00:12:23,010 --> 00:12:25,490
find some tucks that
are crossing each other.

203
00:12:25,490 --> 00:12:27,800
And if you want to deal
with that in the software--

204
00:12:27,800 --> 00:12:30,860
not just somehow fiddle
around with it with origami--

205
00:12:30,860 --> 00:12:33,350
there's a tool which is
split extra wide tucks.

206
00:12:33,350 --> 00:12:35,920
If you look at one of
these, the green thing

207
00:12:35,920 --> 00:12:37,340
is the edge-tucking molecule.

208
00:12:37,340 --> 00:12:40,400
If you look at that,
it will subdivide

209
00:12:40,400 --> 00:12:41,996
into two edge-tucking molecules.

210
00:12:41,996 --> 00:12:43,120
Now they're half this tall.

211
00:12:43,120 --> 00:12:45,159
They don't go as
deep into this model.

212
00:12:45,159 --> 00:12:46,700
And they're less
likely to intersect.

213
00:12:46,700 --> 00:12:48,199
As long as you've
got a green thing,

214
00:12:48,199 --> 00:12:49,730
there's potential intersection.

215
00:12:49,730 --> 00:12:51,880
When you're done, this is
probably a valid crease

216
00:12:51,880 --> 00:12:52,970
pattern, at this point.

217
00:12:52,970 --> 00:12:54,900
A little bit of green.

218
00:12:54,900 --> 00:12:56,140
Hopefully they're OK.

219
00:12:56,140 --> 00:12:59,467
You can keep splitting if it
continues to be a problem.

220
00:12:59,467 --> 00:13:00,925
It just adds more
and more creases.

221
00:13:03,550 --> 00:13:09,150
So that's how to use Origamizer,
if you haven't used it already.

222
00:13:09,150 --> 00:13:11,500
And go back to slides.

223
00:13:14,180 --> 00:13:16,435
And the slide
progression of that.

224
00:13:20,020 --> 00:13:21,280
Cool .

225
00:13:21,280 --> 00:13:23,770
So the next question is
about-- essentially, it's

226
00:13:23,770 --> 00:13:25,780
a question about what
makes a convex vertex

227
00:13:25,780 --> 00:13:28,944
versus a concave vertex.

228
00:13:28,944 --> 00:13:30,360
Concave is a little
bit ambiguous,

229
00:13:30,360 --> 00:13:34,290
so usually we say non-convex,
to mean the opposite of convex.

230
00:13:34,290 --> 00:13:36,740
So I'll use non-convex.

231
00:13:36,740 --> 00:13:39,940
Essentially, there are two
or three kinds of vertices,

232
00:13:39,940 --> 00:13:41,910
depending on how you count.

233
00:13:41,910 --> 00:13:50,040
We've got something like
this vertex of a tetrahedron.

234
00:13:50,040 --> 00:13:52,970
This would be convex,
meaning that if you

235
00:13:52,970 --> 00:13:57,630
look at the sum of the angles
of material at that vertex,

236
00:13:57,630 --> 00:14:01,470
that sum of angles
is less than 360.

237
00:14:01,470 --> 00:14:03,720
You could also
have a flat vertex,

238
00:14:03,720 --> 00:14:05,550
where it's equal to 360.

239
00:14:05,550 --> 00:14:06,855
That's what we just made.

240
00:14:06,855 --> 00:14:09,110
I've got four squares
coming together,

241
00:14:09,110 --> 00:14:10,920
four 90-degree angles.

242
00:14:10,920 --> 00:14:14,680
Sum of those angles is 360.

243
00:14:14,680 --> 00:14:16,590
Or you could have a
non-convex vertex.

244
00:14:19,750 --> 00:14:22,600
Non-convex, it's
bigger than 360.

245
00:14:22,600 --> 00:14:25,520
And that's a little
harder to draw.

246
00:14:25,520 --> 00:14:30,420
So I made what I
call the canonical--

247
00:14:30,420 --> 00:14:33,790
it's a nice clean orthogonal,
meaning all the bases are

248
00:14:33,790 --> 00:14:35,460
horizontal, vertical,
or the other way.

249
00:14:38,080 --> 00:14:38,890
Non-convex vertex.

250
00:14:38,890 --> 00:14:41,920
This has six 90-degree
angles coming together.

251
00:14:41,920 --> 00:14:44,566
Six times 90 is bigger than 365.

252
00:14:44,566 --> 00:14:47,430
It's 540.

253
00:14:47,430 --> 00:14:51,720
So this is, of course, inspired
by the video game Q'bert.

254
00:14:51,720 --> 00:14:53,700
Play it back in the day.

255
00:14:53,700 --> 00:14:55,470
And when you put
it into Origamizer,

256
00:14:55,470 --> 00:14:57,910
it gives you some kind
of layout like this.

257
00:14:57,910 --> 00:14:59,500
Then you ask for the creases.

258
00:14:59,500 --> 00:15:00,600
And boom, you've got it.

259
00:15:00,600 --> 00:15:03,120
And the thing that I printed
out had this removed,

260
00:15:03,120 --> 00:15:05,730
which requires you to
cut here, unfortunately.

261
00:15:05,730 --> 00:15:09,950
I also made the squares
go all the way to the tip.

262
00:15:09,950 --> 00:15:11,790
Place them differently,
and you end up

263
00:15:11,790 --> 00:15:12,832
with this crease pattern.

264
00:15:12,832 --> 00:15:14,706
And this is a little
trickier, because you've

265
00:15:14,706 --> 00:15:16,070
got some extra tucks in here.

266
00:15:16,070 --> 00:15:17,400
They're quite small.

267
00:15:17,400 --> 00:15:22,100
And depending on how
accurate you want to be,

268
00:15:22,100 --> 00:15:24,800
it's a little hard to fold it
in exactly the right shape.

269
00:15:24,800 --> 00:15:26,460
Looks pretty good.

270
00:15:26,460 --> 00:15:29,380
It's got some-- little bit
messy here in the center.

271
00:15:29,380 --> 00:15:31,380
If I use better paper,
it'll be a little easier.

272
00:15:34,150 --> 00:15:35,600
So that's a non-convex vertex.

273
00:15:35,600 --> 00:15:37,710
And in some sense, the
point of Origamizer

274
00:15:37,710 --> 00:15:40,760
was to deal with non-convex
vertices, not just convex ones.

275
00:15:40,760 --> 00:15:42,930
Convex ones, you can kind
of wrap around the paper,

276
00:15:42,930 --> 00:15:44,780
and just tuck away
the extra material.

277
00:15:44,780 --> 00:15:46,590
Non-convex, you really
have to tuck away

278
00:15:46,590 --> 00:15:50,710
material in a clever way in
order to get all of these guys

279
00:15:50,710 --> 00:15:51,430
to come together.

280
00:15:51,430 --> 00:15:54,630
Because normally, on a sheet of
paper, everything looks flat.

281
00:15:54,630 --> 00:15:56,210
Everything should add up to 360.

282
00:15:56,210 --> 00:15:58,310
But if you hide
away material, you

283
00:15:58,310 --> 00:16:00,810
can get more corners
to come together,

284
00:16:00,810 --> 00:16:03,930
and that's what lets you
get non-convex vertices.

285
00:16:03,930 --> 00:16:07,662
So that's where that came from.

286
00:16:07,662 --> 00:16:09,120
You can't just take
a convex vertex

287
00:16:09,120 --> 00:16:12,090
and flip it inside, because
intrinsically, on the surface,

288
00:16:12,090 --> 00:16:13,880
it'll still look
like a convex vertex,

289
00:16:13,880 --> 00:16:16,340
even if it's popped inside out.

290
00:16:16,340 --> 00:16:18,210
Some of the angles won't change.

291
00:16:18,210 --> 00:16:22,280
Still be less than 360.

292
00:16:22,280 --> 00:16:23,910
Cool.

293
00:16:23,910 --> 00:16:29,279
Next thing I wanted to
show is Freeform Origami.

294
00:16:29,279 --> 00:16:31,820
In particular, there's a bunch
of different modes in Freeform

295
00:16:31,820 --> 00:16:34,600
Origami, and they weren't really
showing much in the videos.

296
00:16:34,600 --> 00:16:38,120
So I'm going to show you a
little bit about how it works.

297
00:16:38,120 --> 00:16:42,410
So you download
Freeform Origami .

298
00:16:42,410 --> 00:16:46,085
All this software is
Windows only at the moment.

299
00:16:48,610 --> 00:16:51,470
So then you open
your favorite model.

300
00:16:51,470 --> 00:16:54,860
It can be a 3D
model or a 2D model.

301
00:16:54,860 --> 00:16:57,140
Miura-ori is a really
nice example to work with.

302
00:16:57,140 --> 00:16:59,350
This is just straight
lines in one direction,

303
00:16:59,350 --> 00:17:02,350
and then a zigzag in
the other direction.

304
00:17:02,350 --> 00:17:04,760
I've got your 3D view
on the left and right.

305
00:17:04,760 --> 00:17:06,925
Now these views are
not enabled, because I

306
00:17:06,925 --> 00:17:08,550
haven't turned on a
lot of constraints.

307
00:17:08,550 --> 00:17:11,650
Now, as you see, there's a
lot of different constraints

308
00:17:11,650 --> 00:17:14,220
I can turn on or off.

309
00:17:14,220 --> 00:17:17,680
In this case, I will
turn on developable,

310
00:17:17,680 --> 00:17:21,700
which means that each of these
vertices in this 3D model

311
00:17:21,700 --> 00:17:23,460
are flat, according
to this model,

312
00:17:23,460 --> 00:17:26,359
so you want to constrain some
of the angles to add up to 360.

313
00:17:26,359 --> 00:17:29,140
That means that it came
from a sheet of paper.

314
00:17:29,140 --> 00:17:31,370
That makes it a folding.

315
00:17:31,370 --> 00:17:34,130
So this is different from
the target in Origamizer,

316
00:17:34,130 --> 00:17:35,570
where it's just a 3D model.

317
00:17:35,570 --> 00:17:38,212
And now you can see up
here the crease pattern,

318
00:17:38,212 --> 00:17:39,670
which will actually
fold into that.

319
00:17:39,670 --> 00:17:42,330
Because a developable, you
can just locally unfold it,

320
00:17:42,330 --> 00:17:45,550
and you'll get a
picture like that.

321
00:17:45,550 --> 00:17:48,320
The other thing I want to
turn on is flat foldability.

322
00:17:48,320 --> 00:17:51,250
This is Kawasaki's condition.

323
00:17:51,250 --> 00:17:55,900
So it's going to enforce that
this angle plus this angle

324
00:17:55,900 --> 00:17:57,200
equals 180.

325
00:17:57,200 --> 00:17:59,710
Or the sum of the odds
equals the sum of the evens.

326
00:17:59,710 --> 00:18:02,230
When you add that constraint
you guarantee a flat folding,

327
00:18:02,230 --> 00:18:04,640
and then this picture
is the shadow pattern,

328
00:18:04,640 --> 00:18:07,230
if you make that flat
folding, and just draw them

329
00:18:07,230 --> 00:18:08,900
on top of each other.

330
00:18:08,900 --> 00:18:10,760
OK, so those are my
constraints, and that

331
00:18:10,760 --> 00:18:12,440
turns on all of my views.

332
00:18:12,440 --> 00:18:16,900
Now I can do-- currently,
I am in simulation mode.

333
00:18:16,900 --> 00:18:19,980
This means it's acting like
a physical piece of paper.

334
00:18:19,980 --> 00:18:22,590
So when I drag on
a corner, it'll

335
00:18:22,590 --> 00:18:25,320
try to fold that
up, or unfold it.

336
00:18:25,320 --> 00:18:27,540
But this stuff on the
right, the crease pattern,

337
00:18:27,540 --> 00:18:29,510
is not changing.

338
00:18:29,510 --> 00:18:32,900
So this model, because it
has a lot of boundary edges,

339
00:18:32,900 --> 00:18:35,210
it has a bunch of
degrees of freedom.

340
00:18:35,210 --> 00:18:37,440
So I was like number of
degrees-- number of boundary

341
00:18:37,440 --> 00:18:40,280
edges minus 3 is the number
of degrees of freedom,

342
00:18:40,280 --> 00:18:42,150
in this general picture.

343
00:18:42,150 --> 00:18:44,225
They're crushed.

344
00:18:46,779 --> 00:18:47,570
So that's the idea.

345
00:18:47,570 --> 00:18:49,528
You can also hold down
spacebar, and it'll just

346
00:18:49,528 --> 00:18:52,080
try to fold everything,
kind of uniformly.

347
00:18:52,080 --> 00:18:55,570
Or you can hit B, and it'll
unfold everything uniformly.

348
00:18:55,570 --> 00:18:57,970
So this is all, again, not
changing the crease pattern

349
00:18:57,970 --> 00:18:58,820
up here.

350
00:18:58,820 --> 00:19:01,630
If I move away from
simulation mode,

351
00:19:01,630 --> 00:19:04,320
if I turn this check
box off, now I'm

352
00:19:04,320 --> 00:19:06,305
allowing the crease
pattern up here to vary.

353
00:19:06,305 --> 00:19:11,610
So if you watch this upper right
corner, as I drag on this guy,

354
00:19:11,610 --> 00:19:12,960
crease pattern changes.

355
00:19:12,960 --> 00:19:16,750
It's now allowing the
whole thing to be flexible.

356
00:19:16,750 --> 00:19:18,480
And I can do things
like, oh, maybe I

357
00:19:18,480 --> 00:19:21,787
want to make this
really high up here.

358
00:19:21,787 --> 00:19:23,870
And this is stuff you could
not do with Miura-ori.

359
00:19:23,870 --> 00:19:26,900
We're changing the
Miura-ori pattern.

360
00:19:26,900 --> 00:19:28,410
Zoom out over here.

361
00:19:28,410 --> 00:19:29,580
See what's going on.

362
00:19:29,580 --> 00:19:31,890
Maybe I want to bring
these guys up as well.

363
00:19:34,770 --> 00:19:36,530
I can't make any
3D shape, because I

364
00:19:36,530 --> 00:19:40,650
am constrained by-- a
little too exciting.

365
00:19:40,650 --> 00:19:42,360
You can always hit
Control-Z to undo.

366
00:19:42,360 --> 00:19:44,960
Sometimes it's hard to
satisfy all the constraints

367
00:19:44,960 --> 00:19:46,710
that I give it.

368
00:19:46,710 --> 00:19:48,620
We can do things
like snap there.

369
00:19:48,620 --> 00:19:52,057
And wow, cool.

370
00:19:52,057 --> 00:19:53,515
So you have to be
a little careful.

371
00:19:53,515 --> 00:19:56,386
This requires some finesse.

372
00:19:56,386 --> 00:19:58,510
Because the constraints
are not always satisfiable.

373
00:19:58,510 --> 00:20:00,690
But this, whatever I'm
making, at all times

374
00:20:00,690 --> 00:20:02,879
will come from one
piece of paper--

375
00:20:02,879 --> 00:20:04,670
and you can print out
this crease pattern--

376
00:20:04,670 --> 00:20:06,850
and it will be flat foldable.

377
00:20:06,850 --> 00:20:09,310
And the cool theorem
by Tomohiro is

378
00:20:09,310 --> 00:20:11,924
that if you have
a valid 3D state,

379
00:20:11,924 --> 00:20:14,340
like the one on the left, and
you know it's flat foldable,

380
00:20:14,340 --> 00:20:16,120
and it came from a
sheet of paper, then

381
00:20:16,120 --> 00:20:17,860
it will actually be
rigidly foldable.

382
00:20:17,860 --> 00:20:19,430
And so we can unfold this thing.

383
00:20:19,430 --> 00:20:20,520
Whoa.

384
00:20:20,520 --> 00:20:24,040
Or fold it, in theory.

385
00:20:24,040 --> 00:20:24,700
I see.

386
00:20:24,700 --> 00:20:29,100
The problem is I should first
turn on simulation mode.

387
00:20:29,100 --> 00:20:30,990
I don't want the
pattern to change.

388
00:20:30,990 --> 00:20:33,670
Then I let it fold,
or unfold, and then it

389
00:20:33,670 --> 00:20:34,610
will be well behaved.

390
00:20:34,610 --> 00:20:36,130
This is guaranteed to work.

391
00:20:36,130 --> 00:20:38,930
When I have simulation mode
on, anything could happen.

392
00:20:38,930 --> 00:20:40,972
So it could explode.

393
00:20:40,972 --> 00:20:43,160
But that's how
Freeform Origami works.

394
00:20:43,160 --> 00:20:50,260
So this question here was--
yeah, if you pull on a point

395
00:20:50,260 --> 00:20:51,810
when you're in
simulation mode, you

396
00:20:51,810 --> 00:20:53,540
won't change the crease pattern.

397
00:20:53,540 --> 00:20:55,396
But if you turn off
simulation mode, which

398
00:20:55,396 --> 00:20:59,250
is called design mode, then you
can really change the pattern,

399
00:20:59,250 --> 00:21:02,010
and get it to fold into
something that you want.

400
00:21:02,010 --> 00:21:04,540
And here's an
example of something

401
00:21:04,540 --> 00:21:06,140
designed with this method.

402
00:21:06,140 --> 00:21:10,860
And then we waterjet
cut it with little tabs.

403
00:21:10,860 --> 00:21:12,850
And this only folds once.

404
00:21:12,850 --> 00:21:16,420
You can't unfold it, or
else the tabs will break.

405
00:21:16,420 --> 00:21:17,854
But it's pretty cool.

406
00:21:17,854 --> 00:21:19,270
And you can just
print out these--

407
00:21:19,270 --> 00:21:23,920
this is made from one sheet
steel and folded by hand.

408
00:21:23,920 --> 00:21:25,660
This was made back
when Tomohiro was

409
00:21:25,660 --> 00:21:29,260
visiting for that guest lecture.

410
00:21:29,260 --> 00:21:33,640
So first we made a paper model,
made sure it looked good.

411
00:21:33,640 --> 00:21:36,940
And this one,
we'll fold rigidly.

412
00:21:36,940 --> 00:21:40,040
And we made another version,
which I couldn't find.

413
00:21:40,040 --> 00:21:43,220
It was metal, but [INAUDIBLE]
ridges folds rigidly,

414
00:21:43,220 --> 00:21:45,739
like the videos that he showed.

415
00:21:45,739 --> 00:21:48,280
AUDIENCE: Erik, what is the name
of the program you're using?

416
00:21:48,280 --> 00:21:50,490
PROFESSOR: This is
called Freeform Origami.

417
00:21:50,490 --> 00:21:52,520
Or maybe Freeform
Orgami Designer.

418
00:21:52,520 --> 00:21:55,980
All of these, if you search
for Tomohiro Tachi software.

419
00:21:55,980 --> 00:21:58,950
It's also linked in
some of these slides.

420
00:21:58,950 --> 00:22:01,020
You will find all three
of these programs.

421
00:22:01,020 --> 00:22:03,240
I haven't yet shown
Rigid Origami Simulator.

422
00:22:06,950 --> 00:22:10,200
Because it's, in some sense,
assumed by Freeform Origami,

423
00:22:10,200 --> 00:22:11,890
because Freefrom
Origami can also

424
00:22:11,890 --> 00:22:14,830
do the folding with keeping
all the panels rigid.

425
00:22:14,830 --> 00:22:19,330
But they have some differences,
which I might talk about now.

426
00:22:19,330 --> 00:22:24,190
Next question is, on
the slides, Tomohiro

427
00:22:24,190 --> 00:22:25,690
showed there were
tons of equations.

428
00:22:25,690 --> 00:22:27,119
He didn't talk
about any of them,

429
00:22:27,119 --> 00:22:28,660
and some people
really wanted to know

430
00:22:28,660 --> 00:22:31,340
about these great equations
or the conditions.

431
00:22:31,340 --> 00:22:34,250
What are the constraints that go
on in Origamizer, Rigid Origami

432
00:22:34,250 --> 00:22:36,730
Simulator, and Freeform Origami.

433
00:22:36,730 --> 00:22:37,820
And there are a bunch.

434
00:22:37,820 --> 00:22:40,820
And I don't want to go into
them in lots of detail,

435
00:22:40,820 --> 00:22:43,080
because it can get complicated.

436
00:22:43,080 --> 00:22:45,790
But I'll give you a high-level
picture of what's going on.

437
00:22:45,790 --> 00:22:48,751
So first one, this is
Rigid Origami Simulator,

438
00:22:48,751 --> 00:22:49,750
which I didn't show you.

439
00:22:49,750 --> 00:22:52,036
But basically, you take
in a crease pattern.

440
00:22:52,036 --> 00:22:53,910
You can hit spacebar to
make everything fold.

441
00:22:53,910 --> 00:22:56,090
You can hit B to make
everything unfold.

442
00:22:56,090 --> 00:22:57,630
And it keeps all
the panels rigid.

443
00:22:57,630 --> 00:22:59,430
That's its goal.

444
00:22:59,430 --> 00:23:02,810
And there's essentially-- this
software is written in a way

445
00:23:02,810 --> 00:23:05,815
that the geometry of
each of these faces

446
00:23:05,815 --> 00:23:07,690
is determined by the
original crease pattern.

447
00:23:07,690 --> 00:23:10,319
So you don't-- that's
just given to you.

448
00:23:10,319 --> 00:23:11,860
And the only thing
really that's free

449
00:23:11,860 --> 00:23:13,780
are the bend angles
at each crease.

450
00:23:13,780 --> 00:23:18,230
So it parameterizes this 3D
model by the bend angles.

451
00:23:18,230 --> 00:23:19,970
And when you parameterize
by bend angles,

452
00:23:19,970 --> 00:23:22,070
there's one key
constraint you need,

453
00:23:22,070 --> 00:23:24,635
which is that if you
walk around a vertex

454
00:23:24,635 --> 00:23:26,470
and you say, OK I bend by this.

455
00:23:26,470 --> 00:23:28,680
And then I bend by this,
and bend, bend, bend.

456
00:23:28,680 --> 00:23:30,380
I should end up back
where I started.

457
00:23:30,380 --> 00:23:33,191
Otherwise, there'll be a tear
in the paper, at the corner.

458
00:23:33,191 --> 00:23:35,190
So if you're going to
prioritize by bend angles,

459
00:23:35,190 --> 00:23:37,544
you have a cyclic constraint
around each vertex.

460
00:23:37,544 --> 00:23:39,210
And that is the one
constraint you have.

461
00:23:39,210 --> 00:23:43,075
This was originally described
by Belcastro and Hull.

462
00:23:43,075 --> 00:23:45,170
I know some of you know.

463
00:23:45,170 --> 00:23:49,190
And so around a
vertex, basically,

464
00:23:49,190 --> 00:23:54,220
every time you have a face of
paper, you turn by that amount.

465
00:23:54,220 --> 00:23:56,810
There's matrix B.
It's a rotation.

466
00:23:56,810 --> 00:24:00,330
Then you rotate around
that crease by however

467
00:24:00,330 --> 00:24:02,280
much the crease angle is.

468
00:24:02,280 --> 00:24:04,440
And then you rotate
around the face,

469
00:24:04,440 --> 00:24:05,910
and you rotate, rotate, rotate.

470
00:24:05,910 --> 00:24:08,890
You take the composition
of all these rotations.

471
00:24:08,890 --> 00:24:10,880
That should end up with
the trivial rotation,

472
00:24:10,880 --> 00:24:12,247
which is do nothing.

473
00:24:12,247 --> 00:24:13,830
Otherwise, there
would be a tear here.

474
00:24:13,830 --> 00:24:18,100
So this is a constraint
on the angles

475
00:24:18,100 --> 00:24:19,750
it's a somewhat
complicated constraint.

476
00:24:19,750 --> 00:24:22,750
It involves sines and
cosines of the angles.

477
00:24:22,750 --> 00:24:26,060
But otherwise, if you ignore
the sine, cosine, stuff,

478
00:24:26,060 --> 00:24:27,170
this is actually linear.

479
00:24:27,170 --> 00:24:29,670
This is a bunch of
matrices, rotation matrices.

480
00:24:29,670 --> 00:24:31,110
You're just composing them.

481
00:24:31,110 --> 00:24:34,610
So it's relatively clean.

482
00:24:34,610 --> 00:24:36,205
And then you get
your folding motion.

483
00:24:39,640 --> 00:24:44,885
A little tricky to do by hand,
but very easy on a computer

484
00:24:44,885 --> 00:24:47,010
to solve that linear system.

485
00:24:47,010 --> 00:24:49,790
OK, next we have Freeform
Origami Simulator,

486
00:24:49,790 --> 00:24:52,300
what I just showed you.

487
00:24:52,300 --> 00:24:54,044
This has two constraints.

488
00:24:54,044 --> 00:24:55,960
Or there are two constraints
that I turned on.

489
00:24:55,960 --> 00:24:58,380
There are, in general, more
that you could turn on.

490
00:24:58,380 --> 00:25:00,210
One of them is developability.

491
00:25:00,210 --> 00:25:05,030
So here, we want to start
from a piece of paper.

492
00:25:05,030 --> 00:25:07,170
And so we want the sum
of the angles to be 360.

493
00:25:07,170 --> 00:25:10,140
So that is just
a sum constraint.

494
00:25:10,140 --> 00:25:12,980
The other condition we
want is flat foldability,

495
00:25:12,980 --> 00:25:14,800
which is the Kawasaki condition.

496
00:25:14,800 --> 00:25:16,929
If you satisfy both
of these, we know

497
00:25:16,929 --> 00:25:18,720
that you'll be rigidly
foldable, and that's

498
00:25:18,720 --> 00:25:20,340
kind of what Freeform
Origami is about.

499
00:25:20,340 --> 00:25:21,256
You can turn them off.

500
00:25:21,256 --> 00:25:23,360
You can turn on other
constraints as well.

501
00:25:23,360 --> 00:25:27,080
There are bunch in there, but
those are kind of the core two

502
00:25:27,080 --> 00:25:29,470
that you typically want to use.

503
00:25:29,470 --> 00:25:31,960
And so it's always
solving these constraints.

504
00:25:31,960 --> 00:25:34,830
So those two systems have
relatively simple constraint

505
00:25:34,830 --> 00:25:37,360
systems, although
Freeform Origami

506
00:25:37,360 --> 00:25:39,200
has a lot of extra
bells and whistles.

507
00:25:39,200 --> 00:25:40,665
So you could do cool design.

508
00:25:40,665 --> 00:25:42,040
You can try to
force two vertices

509
00:25:42,040 --> 00:25:44,960
to come together, and so on.

510
00:25:44,960 --> 00:25:47,970
You can try to make mountains
be folded as mountains,

511
00:25:47,970 --> 00:25:49,220
and valleys folded as valleys.

512
00:25:49,220 --> 00:25:50,960
You can constrain
which way creases go.

513
00:25:50,960 --> 00:25:52,335
Those are inequality
constraints.

514
00:25:55,400 --> 00:25:57,450
The last one I want to
talk about is Origamizer.

515
00:25:57,450 --> 00:25:59,700
This has a lot of
constraints, and this

516
00:25:59,700 --> 00:26:03,620
is where it's probably more
insightful to go through them.

517
00:26:03,620 --> 00:26:06,050
So remember we're trying
to place these polygons

518
00:26:06,050 --> 00:26:08,940
into the plane so that these
edge-tucking molecules are

519
00:26:08,940 --> 00:26:09,710
very simple.

520
00:26:09,710 --> 00:26:12,070
They're just a single crease.

521
00:26:12,070 --> 00:26:14,170
So that's our--
first we're going

522
00:26:14,170 --> 00:26:18,152
to just sort of paramaterize
how things are set up.

523
00:26:18,152 --> 00:26:19,610
Suppose you've got
two faces, which

524
00:26:19,610 --> 00:26:21,870
share an edge in the
polyhedron, the thing you're

525
00:26:21,870 --> 00:26:22,940
trying to make.

526
00:26:22,940 --> 00:26:25,290
We want to place those
two faces somewhere

527
00:26:25,290 --> 00:26:27,370
in the piece of paper.

528
00:26:27,370 --> 00:26:29,660
And there's a rotation.

529
00:26:29,660 --> 00:26:33,660
So here, we've separated
this edge from this edge.

530
00:26:33,660 --> 00:26:36,540
And if we extend those
lines, they form some angle.

531
00:26:36,540 --> 00:26:38,760
We're going to call
that angle theta ij.

532
00:26:38,760 --> 00:26:41,860
That's one of our variables
that we get to play with.

533
00:26:41,860 --> 00:26:44,260
The other thing is
how distant are they.

534
00:26:44,260 --> 00:26:44,960
There's wij.

535
00:26:44,960 --> 00:26:47,740
Here, and wji here.

536
00:26:47,740 --> 00:26:50,390
And just for that
prioritization to make sense,

537
00:26:50,390 --> 00:26:53,450
you've got to satisfy
a couple of conditions,

538
00:26:53,450 --> 00:26:57,440
that if you look at theta
ji versus ij, it's negated.

539
00:26:57,440 --> 00:26:59,740
And if you look at
the w's, you can

540
00:26:59,740 --> 00:27:03,150
take the sine of
half the angle theta,

541
00:27:03,150 --> 00:27:06,950
and that tells you how much
this w differs from this w.

542
00:27:06,950 --> 00:27:12,610
So these are two relatively
simple constraints.

543
00:27:12,610 --> 00:27:17,490
Then, like in the previous
two-- like in Rigid Origami

544
00:27:17,490 --> 00:27:20,700
Simulator, you have to have
closure around a vertex.

545
00:27:20,700 --> 00:27:25,280
If we're placing these two
parameters, w and theta,

546
00:27:25,280 --> 00:27:27,784
denote how this guy's
placed relative to this guy.

547
00:27:27,784 --> 00:27:29,950
And then you can-- if you
look around a vertex where

548
00:27:29,950 --> 00:27:31,731
all these faces
meet, there's the way

549
00:27:31,731 --> 00:27:33,480
this is parameterized
with aspect to this,

550
00:27:33,480 --> 00:27:34,938
and this to this,
and this to this.

551
00:27:34,938 --> 00:27:36,250
Those should be consistent.

552
00:27:36,250 --> 00:27:38,830
And in terms of the
thetas, it means

553
00:27:38,830 --> 00:27:41,700
that you should do one full
turn around the vertex.

554
00:27:41,700 --> 00:27:43,627
You've got these theta i's.

555
00:27:43,627 --> 00:27:45,210
Then you've got these
alpha i's, which

556
00:27:45,210 --> 00:27:46,540
are the angles of the face.

557
00:27:46,540 --> 00:27:47,930
Then you turn by theta.

558
00:27:47,930 --> 00:27:48,620
Turn by alpha.

559
00:27:48,620 --> 00:27:50,080
Theta, alpha, blah, blah, blah.

560
00:27:50,080 --> 00:27:52,462
In the end, you should get 360.

561
00:27:52,462 --> 00:27:53,920
And the equation's
written this way

562
00:27:53,920 --> 00:27:57,989
because these are the variables
that you want to constrain.

563
00:27:57,989 --> 00:27:59,280
These quantities are all known.

564
00:27:59,280 --> 00:28:00,863
You know all the
alphas ahead of time.

565
00:28:00,863 --> 00:28:02,560
Those are the angles
of your surface.

566
00:28:02,560 --> 00:28:05,310
So this is a linear
constraint on the thetas.

567
00:28:09,000 --> 00:28:12,190
So there's also a similar
constraint on the w's.

568
00:28:12,190 --> 00:28:13,740
This is a little bit messier.

569
00:28:13,740 --> 00:28:18,660
It involves rotations,
involving these angles

570
00:28:18,660 --> 00:28:20,980
and this other
angle, capital theta,

571
00:28:20,980 --> 00:28:23,069
which is the sum of
thetas and alphas.

572
00:28:23,069 --> 00:28:24,860
But it's essentially
saying the same thing,

573
00:28:24,860 --> 00:28:28,130
that this closed loop
is actually a polygon.

574
00:28:28,130 --> 00:28:30,790
It should come back
to where it started.

575
00:28:30,790 --> 00:28:35,260
So if you do this walk, you end
up back at your origin, 0, 0.

576
00:28:38,540 --> 00:28:41,700
Next constraint is the
convexity of the piece of paper.

577
00:28:41,700 --> 00:28:44,690
So you're trying to-- you want
the polygons on the outside

578
00:28:44,690 --> 00:28:47,920
to form a nice convex polygon,
because you can always

579
00:28:47,920 --> 00:28:49,730
fold the convex
polygon from a square.

580
00:28:49,730 --> 00:28:51,820
And so this is just a
very simple constraint

581
00:28:51,820 --> 00:28:55,000
that, at the boundary,
you have these--

582
00:28:55,000 --> 00:28:56,996
the thetas should be
greater or equal to 180.

583
00:28:56,996 --> 00:29:00,080
That's very simple.

584
00:29:00,080 --> 00:29:02,870
Next one, these get
a little bit more

585
00:29:02,870 --> 00:29:07,521
technical to make the
molecules guaranteed to work.

586
00:29:07,521 --> 00:29:09,520
And so, in particular,
an edge-tucking molecule,

587
00:29:09,520 --> 00:29:12,500
we want this to be a
nice convex polygon.

588
00:29:12,500 --> 00:29:15,020
And so this is actually
fairly easy to constrain,

589
00:29:15,020 --> 00:29:18,850
but all these angles should
be in the right range.

590
00:29:18,850 --> 00:29:20,495
Don't want any giant angle.

591
00:29:20,495 --> 00:29:21,870
You don't want
these to basically

592
00:29:21,870 --> 00:29:24,200
flip open to be more than 180.

593
00:29:24,200 --> 00:29:25,120
That would be bad.

594
00:29:27,800 --> 00:29:30,630
The vertex-tucking molecule
is a little trickier.

595
00:29:30,630 --> 00:29:32,420
There are two main
constraints we need.

596
00:29:32,420 --> 00:29:35,210
One is that the thing that you
fold, which is kind of floppy

597
00:29:35,210 --> 00:29:36,835
and has too much
material, you want

598
00:29:36,835 --> 00:29:39,740
it to have too much material,
not too little material.

599
00:29:39,740 --> 00:29:42,710
You want each of these
angles in the tabs

600
00:29:42,710 --> 00:29:46,220
to be greater than or equal to
the desired angle over here,

601
00:29:46,220 --> 00:29:49,440
so that you can just add
in a tuck, like these guys.

602
00:29:49,440 --> 00:29:51,450
Add in one of
these little pleats

603
00:29:51,450 --> 00:29:53,940
to reduce the angle
to whatever you need.

604
00:29:53,940 --> 00:29:56,300
If it's too small, no
matter how much you fold it,

605
00:29:56,300 --> 00:29:57,240
it'll stay too small.

606
00:29:57,240 --> 00:29:59,760
So it's like the guy who
keeps cutting the board

607
00:29:59,760 --> 00:30:03,650
and he says, "I keep cutting
it, but it's still too short."

608
00:30:03,650 --> 00:30:05,390
So you want it to be
too long initially,

609
00:30:05,390 --> 00:30:08,030
so you can cut it to
just the right length.

610
00:30:08,030 --> 00:30:12,020
The angle to just
the right length.

611
00:30:12,020 --> 00:30:14,790
This involves all these angles,
which I don't want to define,

612
00:30:14,790 --> 00:30:17,694
but you can compute
what the angle is here.

613
00:30:17,694 --> 00:30:19,610
It's easy to compute
what the target angle is.

614
00:30:19,610 --> 00:30:21,180
You just measure
it on the 3D model

615
00:30:21,180 --> 00:30:23,040
after you compute
the type proxy.

616
00:30:23,040 --> 00:30:27,570
And so you're
constraining the thetas,

617
00:30:27,570 --> 00:30:31,604
or constraining this fee value.

618
00:30:31,604 --> 00:30:34,470
All right, so then
the other constraint

619
00:30:34,470 --> 00:30:36,970
is this tuck depth
condition, which

620
00:30:36,970 --> 00:30:40,620
says this is the
non-intersection parts.

621
00:30:40,620 --> 00:30:43,775
So you want these tucks
to not hit each other.

622
00:30:43,775 --> 00:30:45,900
They're not so deep that
they penetrate each other.

623
00:30:45,900 --> 00:30:48,108
And I don't want to go into
the details of how that's

624
00:30:48,108 --> 00:30:49,920
specified, but it's
another constraint.

625
00:30:49,920 --> 00:30:52,850
Now over all, these
constraints are

626
00:30:52,850 --> 00:30:55,060
fairly complicated
and non-linear.

627
00:30:55,060 --> 00:30:59,300
But Origamizer solves
them approximately.

628
00:30:59,300 --> 00:31:02,500
And if you let it converge, and
if it says it's got zero error,

629
00:31:02,500 --> 00:31:04,320
it has solved them.

630
00:31:04,320 --> 00:31:06,990
But it can take a while.

631
00:31:06,990 --> 00:31:12,630
So one of the questions was,
can we do an example by hand

632
00:31:12,630 --> 00:31:14,200
to solve all of these systems?

633
00:31:14,200 --> 00:31:16,210
And the short answer is no.

634
00:31:16,210 --> 00:31:18,570
You really need a computer
to solve something like this.

635
00:31:18,570 --> 00:31:20,950
At least I would.

636
00:31:20,950 --> 00:31:24,056
The solution method is
essentially Newton's method,

637
00:31:24,056 --> 00:31:25,680
that you may have
seen in some context.

638
00:31:25,680 --> 00:31:28,055
But this is a high-dimensional
version of Newton's method

639
00:31:28,055 --> 00:31:32,520
to solve non-linear systems,
and it involves the Jacobian--

640
00:31:32,520 --> 00:31:34,294
I'll just wave my
hands-- which is

641
00:31:34,294 --> 00:31:36,960
partial derivatives with respect
to all the different parameters

642
00:31:36,960 --> 00:31:38,740
you have.

643
00:31:38,740 --> 00:31:42,750
These are vectors, so
this is a big matrix.

644
00:31:42,750 --> 00:31:44,820
And then you do a
sequence of iterations

645
00:31:44,820 --> 00:31:47,510
using this method, which
is a little easier to see

646
00:31:47,510 --> 00:31:49,430
in this picture.

647
00:31:49,430 --> 00:31:51,430
Essentially there are
two things going on.

648
00:31:51,430 --> 00:31:54,650
So you're reacting to-- suppose
you have a valid solution

649
00:31:54,650 --> 00:31:55,400
right now.

650
00:31:55,400 --> 00:31:57,370
Then someone drags on a vertex.

651
00:31:57,370 --> 00:31:58,880
When they drag on
a vertex, let's

652
00:31:58,880 --> 00:32:01,610
say they drag it
along a straight line.

653
00:32:01,610 --> 00:32:03,930
That's a linear
motion of a vertex.

654
00:32:03,930 --> 00:32:05,680
And that will start
violating constraints.

655
00:32:05,680 --> 00:32:08,020
If you go in that direction,
probably not very good

656
00:32:08,020 --> 00:32:10,700
for all these constraints.

657
00:32:10,700 --> 00:32:12,840
In Freefrom Origami,
you have-- the edge

658
00:32:12,840 --> 00:32:15,030
lengths should
all stay the same.

659
00:32:15,030 --> 00:32:17,700
If you're in simulation mode.

660
00:32:17,700 --> 00:32:22,510
So as you drag crazy,
you're invalid.

661
00:32:22,510 --> 00:32:24,830
So the first thing
you do is project.

662
00:32:24,830 --> 00:32:27,240
And this is, I
call, an oiler step.

663
00:32:27,240 --> 00:32:31,490
You project that direction
to be a direction that

664
00:32:31,490 --> 00:32:34,455
is perpendicular to all
of your constraints,

665
00:32:34,455 --> 00:32:35,830
which means that
it preserves all

666
00:32:35,830 --> 00:32:38,280
the constraints to
the first order.

667
00:32:38,280 --> 00:32:41,901
And that's, I think,
this first red step.

668
00:32:41,901 --> 00:32:42,400
Sorry.

669
00:32:42,400 --> 00:32:43,937
In general, these
green steps would

670
00:32:43,937 --> 00:32:46,020
be if you just preserve
things to the first order.

671
00:32:46,020 --> 00:32:48,440
But if you keep
following motions that

672
00:32:48,440 --> 00:32:52,870
are kind of correct-- they're
correct to the first order--

673
00:32:52,870 --> 00:32:54,990
you'll eventually drift
away from correctness.

674
00:32:54,990 --> 00:32:59,250
And so you have to correct
with the second derivative--

675
00:32:59,250 --> 00:33:03,170
and that's these
yellow steps-- to try

676
00:33:03,170 --> 00:33:05,430
to get back to a solution.

677
00:33:05,430 --> 00:33:07,660
So as you're
dragging, first, you

678
00:33:07,660 --> 00:33:09,410
correct to be correct
to the first order.

679
00:33:09,410 --> 00:33:11,030
You make a step
in that direction.

680
00:33:11,030 --> 00:33:12,720
Then you do the sequence
of second order steps

681
00:33:12,720 --> 00:33:14,570
to get closer and closer to
where things are actually

682
00:33:14,570 --> 00:33:15,070
correct.

683
00:33:15,070 --> 00:33:16,390
If that made sense, great.

684
00:33:16,390 --> 00:33:19,610
If not, you should take a
course on numerical methods

685
00:33:19,610 --> 00:33:20,720
in computer science.

686
00:33:20,720 --> 00:33:22,300
A little beyond
what we can do here.

687
00:33:22,300 --> 00:33:24,050
And so I'm just going
to leave it at that.

688
00:33:28,210 --> 00:33:29,670
Cool.

689
00:33:29,670 --> 00:33:32,330
Couple other questions
about things Tomohiro said.

690
00:33:32,330 --> 00:33:34,890
So he said, it
seems you don't need

691
00:33:34,890 --> 00:33:37,044
to worry about NP completeness
of flat foldability.

692
00:33:37,044 --> 00:33:38,460
That's actually
something we'll be

693
00:33:38,460 --> 00:33:39,951
covering in the next lecture.

694
00:33:39,951 --> 00:33:42,200
So if you don't know what
that means yet, don't worry.

695
00:33:42,200 --> 00:33:43,790
We'll be talking about it.

696
00:33:43,790 --> 00:33:45,659
But it means, at
the high level, it

697
00:33:45,659 --> 00:33:47,200
says it's competitionally
intractable

698
00:33:47,200 --> 00:33:49,900
to make things fold flat.

699
00:33:49,900 --> 00:33:51,290
And yet, he's solving it.

700
00:33:51,290 --> 00:33:53,570
Why is that OK?

701
00:33:53,570 --> 00:33:55,680
There's a couple
things going on.

702
00:33:55,680 --> 00:33:59,980
In some sense
here, we don't care

703
00:33:59,980 --> 00:34:02,024
about true flat foldabilities.

704
00:34:02,024 --> 00:34:03,690
Sometimes, he'd like
to fold all the way

705
00:34:03,690 --> 00:34:05,780
to the flat state for
compactness, and so on.

706
00:34:05,780 --> 00:34:08,100
That would be nice.

707
00:34:08,100 --> 00:34:10,714
But in particular, he just
wants local flat foldability.

708
00:34:10,714 --> 00:34:13,060
He knows that if you have
Kawasaki's condition,

709
00:34:13,060 --> 00:34:14,850
then you guarantee
a rigid motion

710
00:34:14,850 --> 00:34:17,940
to fold for a little bit of
time, and you can prove that.

711
00:34:17,940 --> 00:34:21,269
And so if you're just trying
to get rigidly foldable things,

712
00:34:21,269 --> 00:34:23,310
it's enough to have local
flat foldability, which

713
00:34:23,310 --> 00:34:25,954
we do know how to
solve in linear time.

714
00:34:25,954 --> 00:34:27,370
And that's the
Kawasaki condition,

715
00:34:27,370 --> 00:34:29,909
and that's what he's solving.

716
00:34:29,909 --> 00:34:32,237
And so, essentially,
whatever he makes

717
00:34:32,237 --> 00:34:34,070
will fold for at least
a little bit of time.

718
00:34:34,070 --> 00:34:35,989
And if he's lucky, it'll
fold all the way to flat.

719
00:34:35,989 --> 00:34:36,699
Sometimes not.

720
00:34:36,699 --> 00:34:39,106
Sometimes might get
collision in between.

721
00:34:39,106 --> 00:34:40,730
So you always get
something that folds.

722
00:34:40,730 --> 00:34:43,230
And then if it doesn't fall the
way, you can try tweaking it

723
00:34:43,230 --> 00:34:44,739
until it does.

724
00:34:44,739 --> 00:34:46,610
So that's the high
level version.

725
00:34:46,610 --> 00:34:51,460
But you can, in some sense,
sidestep NP completeness here.

726
00:34:54,972 --> 00:34:57,180
I think there's still some
interesting open problems.

727
00:34:57,180 --> 00:35:02,070
In this setting, it seems like,
say, Freeform Origami Designer.

728
00:35:02,070 --> 00:35:07,865
It seems like you really-- yeah.

729
00:35:07,865 --> 00:35:08,990
I have to leave it at that.

730
00:35:08,990 --> 00:35:10,740
I don't know exactly how to
formulate the open problem

731
00:35:10,740 --> 00:35:10,920
here.

732
00:35:10,920 --> 00:35:12,711
But I think there are
interesting questions

733
00:35:12,711 --> 00:35:16,020
about proving NP completeness
doesn't matter as much here.

734
00:35:18,900 --> 00:35:20,320
OK, another cool question.

735
00:35:20,320 --> 00:35:23,340
This is getting a
bit higher level.

736
00:35:23,340 --> 00:35:26,444
This is rather tedious to fold
by hand, as you've now learned,

737
00:35:26,444 --> 00:35:28,860
especially if you're going to
make something like a bunny.

738
00:35:28,860 --> 00:35:30,830
Can we make a
machine to do this?

739
00:35:30,830 --> 00:35:33,320
And so I wanted to show you
a couple examples of machines

740
00:35:33,320 --> 00:35:35,790
for folding that
have sidestepped

741
00:35:35,790 --> 00:35:37,300
the printing by hand.

742
00:35:37,300 --> 00:35:42,740
This is an origami robot
made at CMU by Devin Balkcom.

743
00:35:42,740 --> 00:35:44,530
He was a Ph.D.
student at the time.

744
00:35:44,530 --> 00:35:45,930
And he's taking
a piece of paper.

745
00:35:45,930 --> 00:35:46,580
It's a robot.

746
00:35:46,580 --> 00:35:47,260
It's open loop.

747
00:35:47,260 --> 00:35:50,360
It has no feedback, has
no censors, or anything.

748
00:35:50,360 --> 00:35:56,320
It is preprogrammed like an
assembly machine to fold.

749
00:35:56,320 --> 00:35:58,820
Essentially, it can
do simple folds.

750
00:35:58,820 --> 00:36:00,260
So it's got a
little suction guy,

751
00:36:00,260 --> 00:36:02,850
to move things around, crease.

752
00:36:02,850 --> 00:36:05,350
Eventually it accumulates error
if it does a ton of steps,

753
00:36:05,350 --> 00:36:07,540
so you'd need a closed-loop
system with a camera

754
00:36:07,540 --> 00:36:09,070
or something to get that.

755
00:36:09,070 --> 00:36:11,100
But it actually does
a pretty decent job.

756
00:36:11,100 --> 00:36:14,370
This is real time.

757
00:36:14,370 --> 00:36:18,440
In this case, I
think it's finished.

758
00:36:18,440 --> 00:36:20,170
One more fold.

759
00:36:20,170 --> 00:36:22,130
Crunch.

760
00:36:22,130 --> 00:36:23,926
It's pretty impressive
what it can do it.

761
00:36:23,926 --> 00:36:25,550
But it can really
only do simple folds.

762
00:36:25,550 --> 00:36:29,751
It's going to have an issue if
things really unfold it a lot.

763
00:36:29,751 --> 00:36:32,150
It might accidentally
hit something.

764
00:36:32,150 --> 00:36:33,905
And this should
be a samurai hat.

765
00:36:37,220 --> 00:36:40,284
Tweaking it a
little bit by hand.

766
00:36:40,284 --> 00:36:43,910
Wow, it looks like
a tetrahedron.

767
00:36:43,910 --> 00:36:45,750
OK, so that was one example.

768
00:36:45,750 --> 00:36:47,690
Here's a more modern example.

769
00:36:47,690 --> 00:36:49,640
This was done at
Harvard just last year.

770
00:36:49,640 --> 00:36:53,050
And this is a process involving
laser-cutting individual

771
00:36:53,050 --> 00:36:56,150
components, aligning
them with these tabs.

772
00:36:56,150 --> 00:36:57,870
Sorry, these pins.

773
00:36:57,870 --> 00:37:00,570
Assembling them
together to make hinges.

774
00:37:00,570 --> 00:37:04,230
So they use laser
cutting, and to get

775
00:37:04,230 --> 00:37:09,020
two-dimensional surfaces, they
use folding to make 3D shapes.

776
00:37:09,020 --> 00:37:10,840
Kind of like pop-up cards.

777
00:37:10,840 --> 00:37:12,775
This is what a typical
hinge looks like.

778
00:37:12,775 --> 00:37:14,400
They've got all the
different materials

779
00:37:14,400 --> 00:37:17,290
here to attach different parts.

780
00:37:17,290 --> 00:37:19,682
And these piezoelectric
folding actuators.

781
00:37:19,682 --> 00:37:20,890
This is their overall design.

782
00:37:20,890 --> 00:37:23,480
They're trying to make
a bee robotic bee.

783
00:37:23,480 --> 00:37:26,870
And this is what the final
created thing looks like.

784
00:37:26,870 --> 00:37:28,930
It's mostly carbon fiber.

785
00:37:28,930 --> 00:37:32,085
And then these are the
piezoelectric actuators.

786
00:37:32,085 --> 00:37:33,710
So this is the thing
they want to make.

787
00:37:33,710 --> 00:37:36,560
They build a scaffold around
it that causes the whole thing

788
00:37:36,560 --> 00:37:39,090
to fold into its
desired 3D shape.

789
00:37:39,090 --> 00:37:40,485
So they're taking flat parts.

790
00:37:40,485 --> 00:37:42,610
And they want to do things
like take this flat part

791
00:37:42,610 --> 00:37:43,580
and raise it.

792
00:37:43,580 --> 00:37:44,490
So what do they do?

793
00:37:44,490 --> 00:37:48,000
They add two hinges
to make this part move

794
00:37:48,000 --> 00:37:50,630
along this straight
up and down motion.

795
00:37:50,630 --> 00:37:53,150
And then each of--
that's just a scaffold.

796
00:37:53,150 --> 00:37:55,420
Each of the gray parts they
actually want to build.

797
00:37:55,420 --> 00:37:57,350
They add the appropriate
hinges to cause

798
00:37:57,350 --> 00:38:00,020
it to fold in exactly
the way they like.

799
00:38:00,020 --> 00:38:02,780
So here, for example, the
wing is staying vertical.

800
00:38:02,780 --> 00:38:05,390
This part-- it keeps
moving around on me--

801
00:38:05,390 --> 00:38:06,940
is turning 90 degrees.

802
00:38:06,940 --> 00:38:08,640
You do that with all the parts.

803
00:38:08,640 --> 00:38:12,640
You get them all
to fold like that.

804
00:38:12,640 --> 00:38:15,600
Here's a prototype in real life.

805
00:38:18,150 --> 00:38:19,600
And then here's
the final version.

806
00:38:19,600 --> 00:38:24,380
This is actually in real
time, so it folds really fast.

807
00:38:24,380 --> 00:38:24,880
Zoom.

808
00:38:24,880 --> 00:38:27,960
And then you've got
your assembled thing.

809
00:38:27,960 --> 00:38:28,460
One more.

810
00:38:31,440 --> 00:38:34,240
And then they add
this particular metal

811
00:38:34,240 --> 00:38:36,490
that fuses the
hinges together, so

812
00:38:36,490 --> 00:38:39,710
that they will no longer unfold.

813
00:38:39,710 --> 00:38:42,660
So that's what it
looks like locked.

814
00:38:42,660 --> 00:38:44,770
It's all done in an
automatic process.

815
00:38:44,770 --> 00:38:47,395
And then you laser cut
all of the scaffold away,

816
00:38:47,395 --> 00:38:48,770
and you've got
your finish thing.

817
00:38:48,770 --> 00:38:51,380
A sense of scale, this
is super, super tiny.

818
00:38:51,380 --> 00:38:53,500
It's tedious to
fold these by hand.

819
00:38:53,500 --> 00:38:56,760
And in this way, they
can mass produce them.

820
00:38:56,760 --> 00:38:59,150
Here's what it looks like
when you connect a battery.

821
00:38:59,150 --> 00:39:04,460
Either it will fold at 1
Hertz or at 30 Hertz, which

822
00:39:04,460 --> 00:39:08,020
you can barely see, because
it's a 30 Hertz video.

823
00:39:08,020 --> 00:39:11,347
So you get your robotic bee.

824
00:39:11,347 --> 00:39:12,430
It's not yet controllable.

825
00:39:12,430 --> 00:39:13,888
It doesn't have a
battery attached,

826
00:39:13,888 --> 00:39:16,970
but it's extremely
lightweight, and very powerful.

827
00:39:16,970 --> 00:39:21,240
This is a 3D printed
prototype they made first.

828
00:39:21,240 --> 00:39:24,760
And you can use it to
mass produce your objects.

829
00:39:24,760 --> 00:39:26,420
Essentially,
automatic procedure.

830
00:39:26,420 --> 00:39:29,630
And it's all by
layering up flat layers,

831
00:39:29,630 --> 00:39:32,147
and then getting it to
fold into 3D things.

832
00:39:32,147 --> 00:39:33,980
And so you could imagine
something like this

833
00:39:33,980 --> 00:39:36,710
to execute some
complicated foldings,

834
00:39:36,710 --> 00:39:39,510
although that's future work.

835
00:39:39,510 --> 00:39:42,000
This is, in some sense, a
fairly simple thing to build.

836
00:39:42,000 --> 00:39:44,760
And we're working on making
more complicated things.

837
00:39:44,760 --> 00:39:46,630
So that was some
robotic folding for you.

838
00:39:49,420 --> 00:39:52,280
Next question is, any
cool open problems here?

839
00:39:52,280 --> 00:39:56,010
So I have two related
to rigid origami.

840
00:39:58,890 --> 00:40:02,900
One of them is, if I give
you a crease pattern,

841
00:40:02,900 --> 00:40:06,820
tell me whether it is rigidly
foldable at least a little bit

842
00:40:06,820 --> 00:40:09,080
or to the first
order or something.

843
00:40:09,080 --> 00:40:12,760
So I'll just give you something,
like this will fold rigidly.

844
00:40:12,760 --> 00:40:14,799
I want to say yes or
no, does this fold?

845
00:40:14,799 --> 00:40:16,340
Seems like a pretty
natural question.

846
00:40:16,340 --> 00:40:19,370
And indeed, if all the vertices
are degree four like this,

847
00:40:19,370 --> 00:40:20,990
only four four edges
coming together,

848
00:40:20,990 --> 00:40:23,220
we can solve it efficiently.

849
00:40:23,220 --> 00:40:27,200
But given a more
complicated general pattern,

850
00:40:27,200 --> 00:40:29,530
characterize when
that is possible.

851
00:40:29,530 --> 00:40:31,742
We don't have a good
algorithm for that.

852
00:40:31,742 --> 00:40:32,950
I don't know if there is one.

853
00:40:35,680 --> 00:40:38,310
The more general question is--
that's kind of an analysis

854
00:40:38,310 --> 00:40:38,810
question.

855
00:40:38,810 --> 00:40:42,870
The design problem is, I want
to design cool rigid origami.

856
00:40:42,870 --> 00:40:46,460
And we've seen bunches of
examples of rigid origami.

857
00:40:46,460 --> 00:40:49,770
Here's a new one
I wanted to show.

858
00:40:49,770 --> 00:40:50,810
The Hexa Pot.

859
00:40:50,810 --> 00:40:54,600
I believe this is rigid origami,
as a kick starter on this.

860
00:40:54,600 --> 00:40:56,550
And here is one of them.

861
00:40:56,550 --> 00:40:58,340
It folds nice and flat.

862
00:40:58,340 --> 00:41:02,330
And it has this 3D state,
where you can boil water

863
00:41:02,330 --> 00:41:03,710
on your camping stove.

864
00:41:03,710 --> 00:41:06,110
And they have a video
of cooking noodles.

865
00:41:06,110 --> 00:41:07,140
It cooks noodles.

866
00:41:07,140 --> 00:41:08,190
It cooks pasta.

867
00:41:08,190 --> 00:41:09,720
It cooks sausages.

868
00:41:09,720 --> 00:41:12,220
Anything you could imagine,
you can cook in here,

869
00:41:12,220 --> 00:41:14,210
as long as it fits
in this space.

870
00:41:14,210 --> 00:41:17,430
That's waterproof, obviously.

871
00:41:17,430 --> 00:41:20,300
We saw the telescope lens.

872
00:41:20,300 --> 00:41:22,330
We saw this origami stent.

873
00:41:22,330 --> 00:41:24,100
How are these designed?

874
00:41:24,100 --> 00:41:24,970
Inspiration.

875
00:41:24,970 --> 00:41:27,390
Some human had a cool
idea, tried it out,

876
00:41:27,390 --> 00:41:29,640
proved that it actually
folded rigidly.

877
00:41:29,640 --> 00:41:32,140
Great.

878
00:41:32,140 --> 00:41:33,830
But can we come
up with algorithms

879
00:41:33,830 --> 00:41:36,080
to design things like this?

880
00:41:36,080 --> 00:41:39,140
Could you close the door?

881
00:41:39,140 --> 00:41:41,960
Here's another just
one-off example.

882
00:41:41,960 --> 00:41:43,030
You may have seen these.

883
00:41:43,030 --> 00:41:45,750
These are called shopping
bags, and they're usually

884
00:41:45,750 --> 00:41:46,720
paper shopping bags.

885
00:41:46,720 --> 00:41:49,310
They're usually folded
along this crease pattern.

886
00:41:49,310 --> 00:41:52,830
It turns out that's not possible
if all the panels are rigid.

887
00:41:52,830 --> 00:41:54,940
This thing cannot fold at all.

888
00:41:54,940 --> 00:41:58,001
It's rigid, if the
panels are made of steel.

889
00:41:58,001 --> 00:41:59,500
And it's actually
fairly easy to see

890
00:41:59,500 --> 00:42:01,930
that, if you look
at this corner,

891
00:42:01,930 --> 00:42:04,730
these are four 90-degree
angles coming together.

892
00:42:04,730 --> 00:42:07,650
And if you look at four
90-degree angles, two

893
00:42:07,650 --> 00:42:11,110
straight lines, like in a map,
you could fold one of them.

894
00:42:11,110 --> 00:42:13,080
But only when you get
all the way to 180 can

895
00:42:13,080 --> 00:42:14,660
you fold the other way.

896
00:42:14,660 --> 00:42:17,260
So right now, this guy
is folded 90 degrees.

897
00:42:17,260 --> 00:42:20,770
This can't fold at all, which
means this fold angle is zero.

898
00:42:20,770 --> 00:42:22,870
And we know from
Tomohiro's lecture

899
00:42:22,870 --> 00:42:26,170
that a degree four vertex
has one degree of freedom.

900
00:42:26,170 --> 00:42:28,300
So this if this is zero,
they all have to be zero.

901
00:42:28,300 --> 00:42:31,890
And so the whole thing is rigid.

902
00:42:31,890 --> 00:42:33,420
Of course, if you
add extra creases,

903
00:42:33,420 --> 00:42:36,570
this is done with that
Devin Balkcom and Marty.

904
00:42:36,570 --> 00:42:39,290
So the same robotic folding guy.

905
00:42:39,290 --> 00:42:41,710
Here's a visual proof
of what goes wrong.

906
00:42:41,710 --> 00:42:43,470
You end up with a tear here.

907
00:42:43,470 --> 00:42:47,970
You can fold everything
except one of those guys.

908
00:42:47,970 --> 00:42:50,630
If you add extra
creases, you can kind of

909
00:42:50,630 --> 00:42:53,370
roll the lip of the
bag down, and repeat

910
00:42:53,370 --> 00:42:55,120
that until it's really short.

911
00:42:55,120 --> 00:43:00,300
And then once it's below
this height of one to two,

912
00:43:00,300 --> 00:43:04,362
you can just crush it
like a garment box.

913
00:43:04,362 --> 00:43:05,320
And so you can do that.

914
00:43:05,320 --> 00:43:06,580
You can actually
fold this thing flat,

915
00:43:06,580 --> 00:43:08,210
and you can undo
it and unfold it.

916
00:43:08,210 --> 00:43:11,510
An interesting open question
is, these paper bags

917
00:43:11,510 --> 00:43:13,820
are manufactured in
their flat state.

918
00:43:13,820 --> 00:43:15,760
If I give you a flat
paper bag, can you

919
00:43:15,760 --> 00:43:17,810
open it by adding creases?

920
00:43:17,810 --> 00:43:20,500
I don't think we know
the answer to that.

921
00:43:20,500 --> 00:43:22,609
But we conjecture
the answer is yes.

922
00:43:22,609 --> 00:43:24,650
There are a bunch of
different designs out there.

923
00:43:24,650 --> 00:43:27,330
This is done with--
it's hard to read.

924
00:43:27,330 --> 00:43:29,400
But this is with
[INAUDIBLE] in particular,

925
00:43:29,400 --> 00:43:31,270
who did the origami stent.

926
00:43:31,270 --> 00:43:33,090
It's kind of a twisting box.

927
00:43:33,090 --> 00:43:36,590
Works up to a cubicle box.

928
00:43:36,590 --> 00:43:40,020
And he just had a paper
with Woo this year

929
00:43:40,020 --> 00:43:42,030
on a more practical folding.

930
00:43:42,030 --> 00:43:44,740
So when we roll the lip, we get
a lot of layers of material.

931
00:43:44,740 --> 00:43:46,880
This one works for
fairly a tall bag.

932
00:43:46,880 --> 00:43:48,590
I forget exactly heart how tall.

933
00:43:48,590 --> 00:43:50,410
Maybe three to one.

934
00:43:50,410 --> 00:43:53,190
And it has a fairly
small number of layers.

935
00:43:53,190 --> 00:43:55,300
They even built one
out of sheet metal

936
00:43:55,300 --> 00:43:58,690
to prove this is a practical
way to make rigid shopping bags.

937
00:44:01,200 --> 00:44:04,070
And the last question
here is, could you

938
00:44:04,070 --> 00:44:06,090
make one crease
pattern that folds

939
00:44:06,090 --> 00:44:07,510
into two different shapes?

940
00:44:07,510 --> 00:44:09,760
Could you make an
Origamizer that at one point

941
00:44:09,760 --> 00:44:10,699
will make one shape?

942
00:44:10,699 --> 00:44:12,740
And then you super-impose
another crease pattern,

943
00:44:12,740 --> 00:44:16,910
ideally sharing lots of creases,
to make a different shape?

944
00:44:16,910 --> 00:44:20,520
And the answer is,
watch the next lecture.

945
00:44:20,520 --> 00:44:23,200
Yes, we will be talking about
universal hinge patterns, where

946
00:44:23,200 --> 00:44:24,991
you take a different
subset of the creases.

947
00:44:24,991 --> 00:44:28,110
You can fold anything, provided
it's made up of little cubes.

948
00:44:28,110 --> 00:44:31,130
And that's one answer
to that question.

949
00:44:31,130 --> 00:44:32,077
Any other questions?

950
00:44:32,077 --> 00:44:32,577
Yes.

951
00:44:32,577 --> 00:44:35,439
AUDIENCE: Erik, going back
to the rigid foldability,

952
00:44:35,439 --> 00:44:37,108
you do understand
rigid foldability has

953
00:44:37,108 --> 00:44:38,301
a single vertex, right?

954
00:44:38,301 --> 00:44:39,740
It's just a global [INAUDIBLE].

955
00:44:39,740 --> 00:44:40,448
PROFESSOR: Right.

956
00:44:40,448 --> 00:44:43,660
Rigid foldability of the
single vertex is easy.

957
00:44:43,660 --> 00:44:47,870
Almost anything is
rigidly foldable.

958
00:44:47,870 --> 00:44:50,380
But yeah, its general
crease pattern [INAUDIBLE].

959
00:44:50,380 --> 00:44:53,350
AUDIENCE: So it's very similar
to the flat foldability

960
00:44:53,350 --> 00:44:56,320
[INAUDIBLE].

961
00:44:56,320 --> 00:44:58,170
PROFESSOR: Yeah, it's
like flat foldability,

962
00:44:58,170 --> 00:44:59,830
except for flat
foldability, we know

963
00:44:59,830 --> 00:45:02,600
that testing a single
vertex is easy.

964
00:45:02,600 --> 00:45:05,010
Testing a whole crease
pattern is NP hard.

965
00:45:05,010 --> 00:45:07,320
What'd we'd like to prove
is either NP hardness,

966
00:45:07,320 --> 00:45:10,240
or get an algorithm
for rigid foldability.

967
00:45:10,240 --> 00:45:12,480
AUDIENCE: There's no
such result [INAUDIBLE].

968
00:45:12,480 --> 00:45:14,146
PROFESSOR: Right,
there's no such result

969
00:45:14,146 --> 00:45:17,200
for rigid foldability yet.

970
00:45:17,200 --> 00:45:18,900
Other questions?

971
00:45:18,900 --> 00:45:19,750
All right.

972
00:45:19,750 --> 00:45:22,430
Enjoy folding.