
Erik Demaine's Folding and Unfolding Page (2010) - sytelus
http://erikdemaine.org/folding/
======
dpflan
If you found this interesting or find origami interesting, I recommend the
documentary _Between the Folds_. Demaine is one of many origamist featured.

> Official Website:
> [https://www.betweenthefolds.com/](https://www.betweenthefolds.com/)

> Looks like if you have Amazon Prime you can stream it:
> [https://www.amazon.com/Between-Folds-Vanessa-
> Gould/dp/B003DQ...](https://www.amazon.com/Between-Folds-Vanessa-
> Gould/dp/B003DQ6I2C/)

Enjoy!

------
quelsolaar
Ive been working for over a year writing a algorithm for unfolding 3D models
([http://www.ministryofflat.com](http://www.ministryofflat.com)) for
texturing.

Unfolding 3D models is an almost unknown task that is done mostly by hand by
3D artists. Game developers spends huge sums of money on this.

~~~
no-s
that's cool. Seems like it would be useful in other fields. for example I
would like to make 3d objects larger than cnc machines tool workspace - eg cnc
router, 3d printer, or mill. So if I understand this correctly, the result is
a .obj file with cut out surfaces nested such that the average normal is
normal to the flat surface? Could it be constrained so that for example so as
to split by height (z)? How should I split out the surfaces? Are the vertex
normals included in the output (useful for fitting physical parts along
edges)?

~~~
quelsolaar
The source is about 700k of C, so there are all kinds of algorithms for
folding and space optimizing, but out of the box it would not work too well.

3D artists have some very particular ideas of what makes for good unwrapping.
In general they dont want stretching, but there are a bunch of special cases
where "the right kind" of stretching is a good thing. My algorithm tries to
implement all these special cases. (that are over 20 different passes that
each tries to solve a specific type of geometry).

For CNC its actually much simpler, since the rules of what is and isn't
permissible are much simpler.

~~~
no-s
don't worry, CNC also has lots of special cases. but thanks for getting me
thinking about the math.

------
mehrdadn
Worth noting: he teaches (or taught) advanced data structures at MIT. It's
probably worth looking into... I didn't manage to find an equivalent to his
course anywhere when I was looking around a few years ago.

~~~
cntlzw
Yes! Highly recommended! I watched some of them on YouTube. Not only is Erik a
highly skilled mathematician he is also a wonderful lecturer. Hope his
students acknowledge what a great teacher he his.

~~~
Cursuviam
It was a wonderful class! When I took it, the class sessions were basically
open problem solving sessions involving said advance data structures.
Apparently, the class leads to at least 2 or 3 published papers whenever its
held.

------
bookofjoe
"Erik Demaine, the genius that plays for a living"
[https://youtu.be/g4GsDJwH2yA](https://youtu.be/g4GsDJwH2yA)

------
toolslive
Just reading the title, I could have sworn this was about functional
programming. So I clicked, was surprised it wasn't but still read on as it's
quite interesting.

