-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathcasey_pwlconf_captions.srt
More file actions
4238 lines (3331 loc) · 86.7 KB
/
casey_pwlconf_captions.srt
File metadata and controls
4238 lines (3331 loc) · 86.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1
00:00:05,490 --> 00:00:08,250
my name is Casey Muratori, I'm a game developer.
2
00:00:08,250 --> 00:00:12,150
As I could sort of tell from the last talk
in the quality of service packets thing is
3
00:00:12,150 --> 00:00:18,810
not the common person who's at this conference,
so just to sort of give you some background
4
00:00:18,810 --> 00:00:23,670
on the talk when they asked me to speak here,
I was like, OK, that sounds cool, but what
5
00:00:23,670 --> 00:00:25,289
do you want me to talk about?
6
00:00:25,289 --> 00:00:33,440
And they were like, well, we just want to
know like what do you guys do, have you used
7
00:00:33,440 --> 00:00:37,250
research, how do you use it, give us some
examples of times when you used research and
8
00:00:37,250 --> 00:00:41,890
it's inspired you to do something cool, I
think was the sort of the way that it was
9
00:00:41,890 --> 00:00:44,530
phrased and so I was like, OK, I can do that.
10
00:00:44,530 --> 00:00:49,409
So what I've done is I've picked three papers
from way way back in history, well, way way
11
00:00:49,409 --> 00:00:56,449
back in my history, for game development that
are really pretty important, they're used
12
00:00:56,449 --> 00:00:58,070
for a lot of things.
13
00:00:58,070 --> 00:01:00,580
And which I had sort of a personal relationship
with.
14
00:01:00,580 --> 00:01:03,530
Like I read the papers and really loved them
and then did some work in the gaming industry
15
00:01:03,530 --> 00:01:05,970
that was related to them and I'm going to
kind of go through those.
16
00:01:05,970 --> 00:01:12,109
Now, my assumption is since it's not a gamer-centric
conference.
17
00:01:12,109 --> 00:01:16,640
I apologize for a game developer you're going
to be like I already know this stuff already,
18
00:01:16,640 --> 00:01:22,210
so what can I say in this is actually how
my slides are looked.
19
00:01:22,210 --> 00:01:25,570
This is kind of like you're coming in and
I don't want you to be scared away but this
20
00:01:25,570 --> 00:01:31,869
is actually what my slides are going to look.
21
00:01:31,869 --> 00:01:34,260
You don't have to read the slides hardly at
all.
22
00:01:34,260 --> 00:01:39,249
They're usually just there for diagrams.
23
00:01:39,249 --> 00:01:43,649
So from here on out I'm going to be very,
very fast, I'm going to be going on 2X speed
24
00:01:43,649 --> 00:01:47,680
on the little YouTube drop-down, because I'm
assuming you're not going to go home and implement
25
00:01:47,680 --> 00:01:50,380
these papers.
26
00:01:50,380 --> 00:01:55,469
NORMA: Thank you very much.
27
00:01:55,469 --> 00:01:56,469
I love that!
28
00:01:56,469 --> 00:01:58,969
>> If you do, that's even better, come up
and talk to me afterwards.
29
00:01:58,969 --> 00:02:05,850
>> Which I'm old, so that's actually, you
know, that was what, 18, 19, something at
30
00:02:05,850 --> 00:02:11,850
the time, so it's actually not that long ago
in sort of in my mental history but it probably
31
00:02:11,850 --> 00:02:14,610
seems long for some of you who weren't even
born then.
32
00:02:14,610 --> 00:02:21,590
So in 1996 this is my first first job.
33
00:02:21,590 --> 00:02:26,190
And the reason that I kind of wanted to start
here is because ironically and for this conference,
34
00:02:26,190 --> 00:02:30,290
it actually happened to be a job based entirely
on a paper.
35
00:02:30,290 --> 00:02:34,140
Now, this is not one of the papers I'm actually
going to be talking about that I have loved.
36
00:02:34,140 --> 00:02:37,610
Um aim not saying I don't love it it's just
not one of the three.
37
00:02:37,610 --> 00:02:41,830
If you've ever been to one of the fancy restaurants
where they say there's going to be three courses
38
00:02:41,830 --> 00:02:47,860
but then you order that and but then this
thing comes out one of the courses this is
39
00:02:47,860 --> 00:02:58,560
an amuse bouche, it's cream celery with a
crouton, or something, I don't know what.
40
00:02:58,560 --> 00:03:13,900
This is a paper called evolving virtual creatures
by Karl Sims.
41
00:03:13,900 --> 00:03:18,450
So what they did in this, you know, in this
paper, I guess I shouldn't say they, because
42
00:03:18,450 --> 00:03:19,450
I guess it was just he.
43
00:03:19,450 --> 00:03:26,360
He actually made a system that sort of like
simulates nature, like fer realz.
44
00:03:26,360 --> 00:03:40,630
It's a
controller sort of graph thing that could
45
00:03:40,630 --> 00:03:48,550
make the creature actually move its joints
and they made a simulation and they could
46
00:03:48,550 --> 00:03:51,579
run these virtual creatures through tests,
right.
47
00:03:51,579 --> 00:03:54,980
>> They could kind of give them things to
do and see what they did.
48
00:03:54,980 --> 00:03:58,850
Now the whole point of this thing was to simulate
nature what they were doing is they would
49
00:03:58,850 --> 00:04:08,040
randomly generate some of this DNA and they
would let whatever creature popped out, just
50
00:04:08,040 --> 00:04:13,540
stumble around, but they would then grade
all of the random creatures on how well they
51
00:04:13,540 --> 00:04:16,449
did, so for example, let's say that the creature
needed to get from one end of the thing and
52
00:04:16,449 --> 00:04:25,570
there was an obstacle in the middle right,
and rank them.
53
00:04:25,570 --> 00:04:36,389
They'd take the trees for morphologies and
their brains and they would do a sexual reproduction
54
00:04:36,389 --> 00:04:44,430
thing.
55
00:04:44,430 --> 00:04:49,819
And shockingly as I'm saying this, I think
was in 1993, 94, you should go look at paper
56
00:04:49,819 --> 00:04:54,130
if you're interested in this stuff because
it's a fun read.
57
00:04:54,130 --> 00:04:58,580
I highly recommend looking at it if this piques
your interest at all.
58
00:04:58,580 --> 00:05:04,190
You would expect this to fail completely but
actually it was pretty good, right?
59
00:05:04,190 --> 00:05:08,949
The things that come out of it actually really
neat and they can do a bunch of things like
60
00:05:08,949 --> 00:05:11,820
following a light source or getting over an
obstacle or something like that.
61
00:05:11,820 --> 00:05:13,349
So it was actually pretty cool.
62
00:05:13,349 --> 00:05:20,889
But what wasn't necessarily pretty cool somebody
thought that it would be a good idea to make
63
00:05:20,889 --> 00:05:22,350
a game based on that concept.
64
00:05:22,350 --> 00:05:27,050
Now, in the abstract that's a good idea but
when you think about the context in which
65
00:05:27,050 --> 00:05:30,069
this paper was really implemented it was a
CM5.
66
00:05:30,069 --> 00:05:35,500
It was a supercomputer at that time, 32CPUs
which is even high for today.
67
00:05:35,500 --> 00:05:45,379
Well, it depends on what kind of gamer you
are, but most of them don't and it took three
68
00:05:45,379 --> 00:05:49,550
hours to run one of these things so if you
think about what you were trying to do in
69
00:05:49,550 --> 00:06:00,020
thaterra terms of turning this into a game
it's a stupid idea and you only had ten seconds
70
00:06:00,020 --> 00:06:01,199
or something, probably.
71
00:06:01,199 --> 00:06:08,330
How long is a user going to wait?
72
00:06:08,330 --> 00:06:10,550
No one's going to want to play that game,
right?
73
00:06:10,550 --> 00:06:16,479
So this was doomed to failure, but fortunately
for me, that part wasn't my job.
74
00:06:16,479 --> 00:06:22,280
My job in this particular context was to create
the environments in which the creatures would
75
00:06:22,280 --> 00:06:25,490
do whatever their thing is that they were
going to do much and the mandate was sort
76
00:06:25,490 --> 00:06:30,039
of that these environments would be organically,
they would be like let's say we were making
77
00:06:30,039 --> 00:06:35,400
viruses or something inside the human body
so where these would play out would be inside
78
00:06:35,400 --> 00:06:40,490
the human body or something that would felt
if you were watching an episode of old cultural
79
00:06:40,490 --> 00:06:46,849
references House, let's say, and they would
zoom into the bloodstream.
80
00:06:46,849 --> 00:06:48,979
It should look kind of like that, all right?
81
00:06:48,979 --> 00:06:51,830
So that's what they told me to do and remember,
I'm very little.
82
00:06:51,830 --> 00:06:56,720
I wasn't actually, this is an age and experience
thing, not a height thing, I didn't get this
83
00:06:56,720 --> 00:07:02,249
short when I was 18, that would be weird,
but point being, basically I didn't know very
84
00:07:02,249 --> 00:07:04,939
much about research in any particular way.
85
00:07:04,939 --> 00:07:09,409
I had not been to college, I don't really
know what that means, but at this point they
86
00:07:09,409 --> 00:07:13,490
said, well, you know constructive solid geometry
is a thing that a lot of game engines are
87
00:07:13,490 --> 00:07:16,240
using now, it's kind of a new thing.
88
00:07:16,240 --> 00:07:21,460
There are games like Quake and Unreal and
those sorts of things, and they were using
89
00:07:21,460 --> 00:07:28,580
constructed solid geometry, but point being
I was sort of told I was sort of told go look
90
00:07:28,580 --> 00:07:30,949
at that because that's generally how levers
are built.
91
00:07:30,949 --> 00:07:39,650
Figure that out: I didn't know how to find
papers or -- I had no idea and the internet
92
00:07:39,650 --> 00:07:43,629
is this kind of like this blossoming flower
at this point, right, it's kind of a thing
93
00:07:43,629 --> 00:07:50,360
that well, you know, we have a 14-4 baud modem
or whatever it was that at the time, it makes
94
00:07:50,360 --> 00:07:53,630
the noise when you connect.
95
00:07:53,630 --> 00:07:56,249
That's how you got into onto the internet
if you weren't at a university or something
96
00:07:56,249 --> 00:08:00,080
like that that had a serious connection so
that's the kind of thing that we were doing.
97
00:08:00,080 --> 00:08:03,229
And at that point, sightseer, I think had
come up.
98
00:08:03,229 --> 00:08:08,330
So the idea of going on the internet to find
papers and thing like that was kind of exciting
99
00:08:08,330 --> 00:08:15,050
and interesting.
100
00:08:15,050 --> 00:08:19,940
And what happened was just kind of a fortuitous
reading through papers oh, that looks interesting,
101
00:08:19,940 --> 00:08:24,289
I found a paper that talked about something
called alpha-shapes and I don't even know
102
00:08:24,289 --> 00:08:25,669
how to search any more.
103
00:08:25,669 --> 00:08:33,370
I tried halfheartedly to see if I could dig
it up, but I couldn't.
104
00:08:33,370 --> 00:08:36,789
Basically they were talking about the concept
that when I have two shapes and I want to
105
00:08:36,789 --> 00:08:41,490
kind of merge them together, couldn't I do
something that made them kind of blobbily
106
00:08:41,490 --> 00:08:43,699
go together instead of rigidly going together?
107
00:08:43,699 --> 00:08:46,610
If you look at this drawing.
108
00:08:46,610 --> 00:08:51,019
The one on the top is the kind of the blobby
coming together and you can imagine in your
109
00:08:51,019 --> 00:08:55,690
mind the difference between that if you took
two circles and put them over each other,
110
00:08:55,690 --> 00:09:01,110
you get kind of a cusp where they intersect
and that's not very organic.
111
00:09:01,110 --> 00:09:06,470
Unless you're talking about a tusk or something
like this, usually they kind of blob together
112
00:09:06,470 --> 00:09:10,520
and certainly the things we were looking that
inside the human body, you would expect these
113
00:09:10,520 --> 00:09:15,600
smoothness necessary and I'm like, oh, man,
this could be perfect for what I want to do
114
00:09:15,600 --> 00:09:24,760
and for those of you who don't remember what
anyone Terminator 2 or is that way too far
115
00:09:24,760 --> 00:09:25,760
back?
116
00:09:25,760 --> 00:09:27,570
OK, a couple of people.
117
00:09:27,570 --> 00:09:32,300
So there's this weird cyborg metallic guy
ready to conform into things.
118
00:09:32,300 --> 00:09:35,850
And occasionally he freezes and he shatters.
119
00:09:35,850 --> 00:09:42,510
And things turn into the blobs and they get
closer together and they kind of suck into
120
00:09:42,510 --> 00:09:46,100
each other like mercury if you've ever seen
that happen.
121
00:09:46,100 --> 00:09:51,470
So that is what this paper led to me to.
122
00:09:51,470 --> 00:09:55,899
Alpha-shapes are guess not that interesting
or whatever because most of the literature
123
00:09:55,899 --> 00:10:01,079
on doing those actual kinds of things with
surfaces was in the implicit surface literature.
124
00:10:01,079 --> 00:10:02,450
That's what it's called.
125
00:10:02,450 --> 00:10:08,610
Implicit surfaces will give you an idea of
what they do now, because if you're not familiar
126
00:10:08,610 --> 00:10:12,069
with grames or graphics you've probably never
heard of them or don't care about them.
127
00:10:12,069 --> 00:10:18,820
But instead of modeling with things concretely
which is kind of what we're more used to do
128
00:10:18,820 --> 00:10:25,290
with most software packages would experience,
if you're in something like Adobe Illustrator
129
00:10:25,290 --> 00:10:31,130
or something like that, I'm making solid shapes
and I'm saying this is exactly the solid shape
130
00:10:31,130 --> 00:10:33,500
that I want and then I'm done, right?
131
00:10:33,500 --> 00:10:46,670
But implicit shapes are modeling with more
many energy fields that they give off that's
132
00:10:46,670 --> 00:10:50,139
the actual thing I'm modeling with and what
happens when you move two of these shapes
133
00:10:50,139 --> 00:10:52,580
together you get constructive interference.
134
00:10:52,580 --> 00:11:00,271
So as their energy fields overlap something
happens in there -- point being if I want
135
00:11:00,271 --> 00:11:05,329
to define a surface, like an actual thing
that I modeled from this kind of a thing,
136
00:11:05,329 --> 00:11:11,880
I can simply say, let's find where the energy
equals some number, and I can pick out kind
137
00:11:11,880 --> 00:11:14,029
of a band as it goes, right?
138
00:11:14,029 --> 00:11:18,410
And you can see, you know, where that constructive
interference was, everything else kind of
139
00:11:18,410 --> 00:11:22,690
follows the shapes exactly, but where the
constructive interferes is, you can see that
140
00:11:22,690 --> 00:11:27,130
you get that curvature and the reason is because
those fields are adding together, they're
141
00:11:27,130 --> 00:11:34,889
creating like an additive constructive interference
that creates the bending.
142
00:11:34,889 --> 00:11:38,160
That in my mind I was like, that's where we
want to go to get that field, right.
143
00:11:38,160 --> 00:11:43,750
There's something I want to say that's relevant
to the rest of this which is that when you
144
00:11:43,750 --> 00:11:48,060
have a definition like this, you end up with
some interesting things that just sort of
145
00:11:48,060 --> 00:11:49,730
magically happen.
146
00:11:49,730 --> 00:11:54,940
One of the things that is actually very difficult
to do.
147
00:11:54,940 --> 00:11:58,720
One of the things that might be a little bit
difficult to do if you have a traditional
148
00:11:58,720 --> 00:12:02,509
definition of a shape or a surface or something
like that is to say what is inside the surface
149
00:12:02,509 --> 00:12:05,490
and what is outside of the surface and one
of the reasons is because the surface might
150
00:12:05,490 --> 00:12:08,780
not be complete.
151
00:12:08,780 --> 00:12:12,470
Even if you know that the surface is completely
closed, and you want to ask a question like
152
00:12:12,470 --> 00:12:17,160
am I inside it, or am I outside it, then you
have these problems of like, OK, I have to
153
00:12:17,160 --> 00:12:21,470
do start doing intersection testing and there's
robustness problems.
154
00:12:21,470 --> 00:12:28,149
And all these other sorts of things, right,
but with an implicit surface definition it's
155
00:12:28,149 --> 00:12:32,259
actually extremely easy to know whether you're
inside or out, because the whole definition
156
00:12:32,259 --> 00:12:38,839
of surface is based on some kind of a field
like this, so at any point you know, if I'm
157
00:12:38,839 --> 00:12:44,129
outside, if I'm inside, or if I'm on the surface,
because the definition directly gives you
158
00:12:44,129 --> 00:12:47,800
that information, so it kind of flips the
model around.
159
00:12:47,800 --> 00:12:55,370
It turns out that it's exactly inverse, with
an implicit function or an implicit surface,
160
00:12:55,370 --> 00:12:58,850
I know whether I'm inside or outside at any
point in the world.
161
00:12:58,850 --> 00:13:04,750
But what is difficult is to define the entire
surface.
162
00:13:04,750 --> 00:13:06,350
Because all I know.
163
00:13:06,350 --> 00:13:13,670
I know exactly what the shell is, but I have
to do real work to figure out whether I'm
164
00:13:13,670 --> 00:13:18,839
inside of it or outside of T for those of
you who like mathy sorts of things.
165
00:13:18,839 --> 00:13:21,310
These are not difficult math.
166
00:13:21,310 --> 00:13:27,310
The math for implicit surfaces is basically
trivial.
167
00:13:27,310 --> 00:13:28,720
All they are is field ex functions.
168
00:13:28,720 --> 00:13:36,930
They sake some point in space and they produce
some real value, like a scaler out the other
169
00:13:36,930 --> 00:13:39,990
end and that scaler is kind of the energy
that I was referring to, so at any point in
170
00:13:39,990 --> 00:13:46,329
space, and it doesn't matter if it's 2D, 3D,
1D, 9D, it doesn't matter, it's some point
171
00:13:46,329 --> 00:13:51,730
where you're inputting at the space that you're
talking about, and out comes that value, right?
172
00:13:51,730 --> 00:13:58,879
Now, oftentimes I should point out the value.
173
00:13:58,879 --> 00:14:05,170
We can pick what energy level we use to figure
out what the surface is that we actually want,
174
00:14:05,170 --> 00:14:09,769
and, well, you know, actually if you care
about the math of it at all that's not really
175
00:14:09,769 --> 00:14:14,420
how it works, when you pick that energy level,
you usually end up kind of making a new function
176
00:14:14,420 --> 00:14:16,819
where you subtract that energy level away.
177
00:14:16,819 --> 00:14:21,690
Because it's always more convenient to talk
about 0 as being the solution, right?
178
00:14:21,690 --> 00:14:26,129
So you kind of want to talk about 0 as being
where the surface is, so we end up with convention
179
00:14:26,129 --> 00:14:33,079
where when I input something into that function,
when I get 0 out I am exactly on the surface,
180
00:14:33,079 --> 00:14:36,160
greater than 0 inside the surface and less
than 0, outside.
181
00:14:36,160 --> 00:14:38,000
Did I say that right?
182
00:14:38,000 --> 00:14:41,830
Hopefully I did, if not, the slide is right.
183
00:14:41,830 --> 00:14:43,910
Don't listen to me.
184
00:14:43,910 --> 00:14:45,769
Once again those of you who love math.
185
00:14:45,769 --> 00:14:50,759
It's so simple.
186
00:14:50,759 --> 00:14:52,220
One of the most common ones is metaballs.
187
00:14:52,220 --> 00:14:55,480
Which is a point feeling, right?
188
00:14:55,480 --> 00:15:01,580
And the way that those are implemented is
just 1 over the distance.
189
00:15:01,580 --> 00:15:02,580
That's it.
190
00:15:02,580 --> 00:15:05,861
Like if I want to know a point in space how
much is it influenced, how much energy does
191
00:15:05,861 --> 00:15:09,889
this meta ball contribute it's just one over
the distance of the borrel, right?
192
00:15:09,889 --> 00:15:16,300
Nobody ever uses that so usually you use something
else that just fitted to that function, but
193
00:15:16,300 --> 00:15:18,890
it's basically that.
194
00:15:18,890 --> 00:15:24,300
Really, really really simple math for the
implicit function but for the part that wasn't
195
00:15:24,300 --> 00:15:28,470
so simple until this paper, right, is that
we assume as essentially have three steps
196
00:15:28,470 --> 00:15:29,470
to this thing if.
197
00:15:29,470 --> 00:15:38,600
If
I want to get out the actual surface, right,
198
00:15:38,600 --> 00:15:39,670
then I have a problem.
199
00:15:39,670 --> 00:15:44,860
In Step 1, I can trivially just take as many
implicit surfaces as I want so I can add them
200
00:15:44,860 --> 00:15:48,970
all together.
201
00:15:48,970 --> 00:15:52,230
And they don't have to be meta balls, they
can be anything, any function you can imagine
202
00:15:52,230 --> 00:16:00,110
that goes FXYZ because all I need at the end
of the day is a scaler, right?
203
00:16:00,110 --> 00:16:05,759
And step 3, if we leave out magic Step 2 is
I have the actual surface.
204
00:16:05,759 --> 00:16:11,209
I have something that I could feed into a
standard open geo.
205
00:16:11,209 --> 00:16:12,819
OBJ.
206
00:16:12,819 --> 00:16:22,019
I -- something you can output into a PLY file,
let's say that.
207
00:16:22,019 --> 00:16:26,620
OK, so that's where the first paper I've loved
comes in, it's called marching cubes and it's
208
00:16:26,620 --> 00:16:33,950
got a really long subtitle.
209
00:16:33,950 --> 00:16:36,980
But this is the paper.
210
00:16:36,980 --> 00:16:44,779
It's by Lorensen and Kline.
211
00:16:44,779 --> 00:16:49,009
But it's a way of filling in that missing
Step 2, where all the question marks were,