
Mathematics Animations - vinchuco
http://www.3blue1brown.com/
======
wesleyfsmith
So, I went to highschool with the guy that makes these videos. Not only is he
brilliant, he is particularly good at making advanced topics more accessible
to people without a heavy math background.

~~~
stuxnet79
Crazy. I just looked him up and he is currently in Stanford. I bet his genius
shined like a beacon back in high school.

------
Tim61
I just finished watching the Hilbert's Curve video. It's extremely well done!

Does anyone know what software or process was used to create these videos?

~~~
wesleyfsmith
I'm pretty sure he uses his own software that he wrote in python to do it all.

------
lbenes
LucasVB is another master of visualizing mathematics. He is responsible for
some of the best math animations on Wikipedia.[1] If you like to know more
about how he creates these masterpieces, check out his Blog.[2]

[1]
[https://en.wikipedia.org/wiki/User:LucasVB/Gallery](https://en.wikipedia.org/wiki/User:LucasVB/Gallery)

[2] [http://1ucasvb.tumblr.com/](http://1ucasvb.tumblr.com/)

------
throwathrowaway
I think getting this
([https://github.com/3b1b/manim](https://github.com/3b1b/manim)) to work needs
a video would need a video of its own. :)

Here's where I got to since the README.md is basically empty for the moment.

So far I've got it to do something. It needs at least these python libraries
as dependencies.

    
    
        - cv2 (This is OpenCV and is not easily installable inside virtualenv)
        - colour
        - progressbar
        - tqdm
    

I'm running everything from the main manim directory, after a git clone.

    
    
        git clone https://github.com/3b1b/manim
        cd manim
    

Its also expecting a `../animation_file/images` directory to exist.

    
    
        mkdir -p ../animation_file/images
    

Now each project consist of a set of classes, each one a scene. To view a
scene, it can just be instantiated

    
    
        PYTHONPATH=`pwd` python
        >>> scene = generate_logo.LogoGeneration()
    

There's a progress bar that shows a few times. Then a new window shows up for
me (from ImageMagick? Maybe that's a dependency too.).

Then I think you can call .construct() on the object.

    
    
        >>> scene.construct()
    

But it took too much computational power so I stopped there.

~~~
3blue1brown
Ah, yes, this is one of those projects that I worked on mostly as a tool for
my own use. Eventually, I plan to make a proper tutorial and everything, but
first there are a few key things I ought to revamp which, over time, have
become way over-personalized.

------
Madmallard
So when are we going to create glasses with cameras and ear pieces that create
images of the view in front of them and convert to sounds using hilbert curves
and help deaf people see?

I imagine this is already feasible. We would need to give them time to pick up
the skill by letting them loose in some kind of training situations so they
know what everything looks like and can distinguish things passing by.

The only thing I'm not certain of is how long the training would take before
some basic recognition is possible amidst the already present noise of every
day life. I do know that when you lose a sense though your other senses get
sharpened to compensate, and that might improve the adaptation period.

edit: we could also give these to seeing people to help retain their acuity as
they age.

~~~
archibaldJ
Related: This App Turns Your Photos into Music If You Want to Do That For Some
Reason:
[https://www.youtube.com/watch?v=zpNgsU9o4ik](https://www.youtube.com/watch?v=zpNgsU9o4ik)

~~~
tamana
Remember Monster Rancher?

------
huhtenberg
Re: the Hilbert curve - is there any research into an image compression
application of it?

Split the image into RGB (or HSV) channels, stretch each of them into a stream
using Hilbert curve mapping and then either try a lossless compression or a
lossy JPEG/FFT-like one. A hunch says this could show some interesting
results.

~~~
dvt
There are probably little-to-no applications of Hilbert SFCs to image
compression (in the sense of increasing compression ratio or something). The
main benefit of using something like the Hilbert SFC is (2D) locality. That
is, "close" points in D where D = [ d0,d1,d2,d3,d4,d5, ... dn] will also be
"close" in D2, where D2 = [(x0,y0),(x0,y1)(x0,y2),...(xn,yn)]. _NOTE: The
converse does not hold. Closeness of points in the D2 plane does NOT guarantee
closeness of points in D._

Usually this has applications when dealing with things like file systems and
databases. I've seen some people that argue that using something like Hilbert
curves in compression algorithms will yield less compression-induced artifacts
because the artifacts, as you can probably already guess, will "snake around"
the image, being much harder to detect visually.

~~~
Someone
People also have toyed with the idea (and maybe even implemented it) to let
the electron beam of a cathode ray tube trace out a Hilbert curve, or two
mirrored side-by side.

Advantage would be that you would not lose time in which you could have drawn
pixels for vertical and horizontal blanking periods.

Disadvantage would be that the hardware is a lot harder to make, more so if
you want to dampen out oscillations near corners well.

------
jxm262
This is friggin awesome! Thanks for posting. Gives me inspiration to take some
more Math courses on Coursera.

~~~
vinchuco
I'm torn with respect to Coursera. Some of the treatment of topics is light.
"The carrot and the stick" are lacking.

That might be just my experience and may not extend to others. However, it
should be clear that time is better spent in choosing a good learning source
than wasting time trying to make up for it later.

------
pcmaffey
Really fantastic stuff. Thanks for posting...

My question on the Hilbert Curve: When he's talking about filling infinite
space, why does the curve or repeating blocks of HC's spiral out, instead of
continuing in the pattern of the original Hilbert curve? Doesn't the spiral
introduce a new pattern?

~~~
3blue1brown
The original pattern is good for going "out-to-in", in the sense of starting
with a finite area, a square, and filling the whole thing.

That same pattern cannot apply to go "in-to-out", as in starting with a unit
square and trying to go to all of space.

You might think you could have the Pseudo-Hilbert curve pattern fill 4 unit
square, then 16 unit square, then 64 unit square, etc. However, no proper
limit curve would exist in this case, since each specific value on the curve
tends to diverge to infinity.

~~~
pcmaffey
So then it's not really able to define infinite space so much as infinitesimal
space. Going from 1 to 0.

On a side note, the Hilbert Curve pattern quite resembles the folds of a
brain. Which makes me wonder about the attributes such a pattern would lend
our brains:

1) the ability to hold fixed points in space relative to each other while
increasing information density between those points, and

2) our ability to stand on the edge of space (reality), and look / measure
inward (1 to zero), without seeing infinity looming behind us.

------
bpchaps
These have been a great help in my self-learning already. They definitely fill
a huge void in intuition building that rote-style-learning generally ignores.
Thanks! :)

~~~
vinchuco
It is sad that Mathematics is often taught either as narrow examples that miss
the big picture or abstract definitions which are more general but feel
artificial.

The best teaching often jumps back and forth between the two.

Mathematics can be thought of a simulation of properties of the world inside
people's brains which verify the result. Sadly, there's no shared
comprehensive framework outside our brains for visualizing [1] and organizing
all of it, since it's very flexible [2]. And thus most people miss out on
experiencing the beauty of many results.

I sometimes wonder if LaTeX augmented by context (and visualization) would
help, and I wish Mathematica was open source to aid this. At the same time, we
are faced with incompleteness results that put into question any formal
organization of mathematics [3].

[1] [https://vimeo.com/36579366](https://vimeo.com/36579366)

[2] www.jeremykun.com/2013/02/08/why-there-is-no-hitchhikers-guide-to-
mathematics-for-programmers/

[3] [http://inference-review.com/article/doing-mathematics-
differ...](http://inference-review.com/article/doing-mathematics-differently)

Sorry for the long rant.

~~~
bpchaps
I actually deleted a rant that completely says what you just said. I 100%
agree. It's mind boggling how much intuition is available to explain maths. It
oddly just... makes visual sense. It's "simply" an explanation of what's
around us.

Yet, when discussing it, <i>while learning</i> with math folk, it's usually
met with "You don't have a degree" or "That's not a formal understanding of
the definition, come back". It's completely exclusionary and killed much of my
math passion until recently.

~~~
stuxnet79
It seems a lot of concerns about math pedagogy tend to be killed off with "you
don't have a degree", "you don't have the math gene" kind of rhetoric which is
a pity. I discovered I really liked math waay too late for my tastes and it
was mostly because I was being taught math by people who didn't really know
math.

------
Mz
Make sure you check out the one on counting in binary on your fingers. This is
a skill all programmers should have, obviously.

Linky:
[https://www.youtube.com/watch?v=1SMmc9gQmHQ](https://www.youtube.com/watch?v=1SMmc9gQmHQ)

~~~
anon4
Why? It's kind of hard to do all the finger positions and you end up being
needlessly rude when you reach 4. I prefer the system where you count on your
right hand's phalanges with your thumb, giving you 1-12 and use the fingers on
your left for how many dozens you've counted. This lets you go up to 72
without much trouble.

To expand:

Touch your right thumb to the small bone on your right pinky finger that is
closest to the palm - this is 1. Move it up one bone (phalanx) - this is 2.
Move it one more to the tip of your pinky - this is 3. Then you continue with
your ring finger - 4, 5, 6 and when you reach the tip of your index finger,
you're at 12. Now raise one finger on your left hand for 1 * 12 and continue
with your thumb on the first phalanx of your pinky - 13. Once you've raised
all 5 fingers on your left hand you're at 5 * 12 = 60 and when you then place
your thumb on the tip of your index finger, you're at 72. It's easy and quick
after only a bit of training and lets you count practically all numbers you'll
ever want to count on your fingers.

------
Chris2048
I think one of the worst things to happen to math education is set theory.
Great if you're a working researcher that actually creates proofs and
theorems, a nightmare if you actually want to apply that math and want a
better intuition of it...

------
jeffwass
Just saw the Hilbert curve video, absolutely awesome. Very well done, amazing
animations, and I learned some things to boot!

Should come with a warning - once you start watching, don't expect to get
anything else done for the next 17 minutes :-)

------
thethirdone
The Euler's formula one is amazing. That is such a simple explanation.

------
sharpy
Just wanted to say thanks for posting this. Loved it.

