Math and Movies (Animation at Pixar) - Numberphile

preview_player
Показать описание
How do 3D animated characters look so smooth? Pixar researcher Tony DeRose explains - with mathematics.
More links & stuff in full description below ↓↓↓

Links below...

NUMBERPHILE

Videos by Brady Haran

Рекомендации по теме
Комментарии
Автор

"My back pocket". The line and his face while saying it were priceless. Best answer ever lol

brianpso
Автор

This was a super smooth interview. I love how well rehearsed it was, probably because he has explained that stuff dozens and dozens of times. Really nice to watch. (Not to discredit the editing which probably helped too)

lesconrads
Автор

Numberphile  Thanks for this. I work in 3D Animation and have been wondering about the math behind Subdivision and limit surfaces for quite some time.

On a side note, you asked Tony if everything comes out blobized, but in this vid, it doesnt seem like he answered the question the way you were expecting. The answer is no. In the 2d example, if we wanted one corner to be sharper than the others we add 1 or more vertices near the corner vert. The result is the averaging and splitting is tighter where we've added more vertex density resulting in a sharper smoothed corner

LyrianFox
Автор

To infinity and beyond appears less impressive when you realize infinity is just one step away from where you started.

wolgercon
Автор

For those who know a little bit of linear algebra and are wondering about where the (A+4B+C)/6 thing comes from . . .

Going from step 0 to step 1 can be thought of in terms of matrix multiplication like this:
(A1) (4/8 4/8 0/8) (A0)
(B1) = (1/8 6/8 1/8) (B0)
(C1) (0/8 4/8 4/8) (C0)

Or, if we call the matrix M and the vectors x0 and x1, we write x1=M * x0.
The eigenvectors of M are (column) vectors v such that M * v is proportional to v. There are standard techniques for finding these eigenvectors and eigenvalues, which I won't go through here unless someone asks. The eigenvectors for this matrix are:

v0 = (1, 1, 1), v1=(2, -1, 2), and v2=(1, 0, -1), (up to normalization, which we are free to choose however we like)

and the eigenvalues (proportionality constants) are a0=1, a1=1/2, and a2=1/4. In other words, the following three equations hold
M*v0 = (1)*v0
M*v1=(1/2)*v1
M*v2=(1/4)*v2

Notice that we can write (A0, B0, C0) as
A0*(v0 + v1 + 3*v2)/6 +
B0*(2*v0 - v1 + 0*v2)/3 +
C0*(v0 + v1 - 3*v2)/6

So, what happens when we take M*(A0, B0, C0)? We can distribute M through the expression above and use our egeinvector equations (e.g., replace M*v2 with [1/4]*v2) to get
M*(A0, B0, C0) =
A0*([1]*v0 + [1/2]*v1 + [1/4]*3*v2)/6 +
B0*([1]*2*v0 - [1/2]*v1 + [1/4]*0*v2)/3 +
C0*([1]*v0 + [1/2]*v1 - [1/4]*3*v2)/6

We can go again . . .
(M^2)*(A0, B0, C0) =
A0*([1^2]*v0 + [(1/2)^2]*v1 + [(1/4)^2]*3*v2)/6 +
B0*([1^2]*2*v0 - [(1/2)^2]*v1 + [(1/4)^2]*0*v2)/3 +
C0*([1^2]*v0 + [(1/2)^2]*v1 - [(1/4)^2]*3*v2)/6

And in general . . .
(M^n)*(A0, B0, C0) =
A0*([1^n]*v0 + [(1/2)^n]*v1 + [(1/4)^n]*3*v2)/6 +
B0*([1^n]*2*v0 - [(1/2)^n]*v1 + [(1/4)^n]*0*v2)/3 +
C0*([1^n]*v0 + [(1/2)^n]*v1 - [(1/4)^n]*3*v2)/6

As n gets large, the terms (1/2)^n and (1/4)^n go to zero and 1^n remains equal to 1, so we get
limit of (M^n)*(A0, B0, C0) as n -> infinity=
A0*(v0)/6 +
B0*(2*v0)/3 +
C0*(v0)/6
= v0*(A0+4B0+C0)/6

Or, back in vector form (recall v0=(1, 1, 1)):
(A_infinity) ((A0+4B0+C0)/6)
(B_infinity) = ((A0+4B0+C0)/6)
(C_infinity) ((A0+4B0+C0)/6)

So all three points converge to (A0+4B0+C0)/6.

jordanrozum
Автор

This is amazing! Two of my favourite subjects combined - maths and arts :)
I'd love to have a job like his one day.

gnomee
Автор

Wait a moment... Ed Catmull is the President of Pixar? The Catmull-Clark Catmull? I studied the Catmull-Clark subdivision the other year, but I never imagined the person behind it would also be responsible for some of my favourite movies. You sort of imagine an old dude in a small room of some university, when you think about the name behind an algorithm. You don't connect the people coming up with theories with the ones who put them into practice, although it makes so much sense This is awesome! :-)

Viniter
Автор

so, negative numbers result in swastikas? :D

Leonelf
Автор

Impressive video! You can tell that the man was very happy to share with the world how much math means to the animators.

TheMarkoSeke
Автор

13:45 He missed an opportunity to say "To Infinity and Beyond!" 

Kinsata
Автор

When I calculated some eigenvalues and eigenvectors in the first term of my math studies, I was bored. I _never_ imagined that the beauty of animated movies depended on it! :)
Great overview, I'm really hoping for more! :)

ZardoDhieldor
Автор

as a 3d modeler, this was really awesome to watch. Much thanks!

picosdrivethru
Автор

Thank goodness 3D Studio Max does most of this math for me O___O

AurelTristen
Автор

THERE IS A COMPUTERPHILE CHANNEL?!
I WASN'T YET SUBBED TO IT?!

Ozitiho
Автор

No one seems to have called this out yet, but "Music by A113n Stewart" on the end card

faielgila
Автор

Wow I couldn't believe that 1, 4, 1 could make you laugh, sad, cry, and be entertained!

alberteinsteinthejew
Автор

Never should I hear the word "simple" in a Numberphile video.

monkeyman
Автор

HACKED  there are 33 likes and 0 dislikes  33+0 = 330  but there are only 301 views

Somerandomdude-evuh
Автор

No one made a 'to infinity and beyond' joke? I am disappoint. I am very disappoint.

StuziCamis
Автор

this reminds me of my Graphics elective class back in college where our final project was to create a model (animation optional) in C++ (openGL)
Anyway, i remember when our prof was introducing us to Bézier curve, which is what the "midpoint split" you see at the start. Our prof told us the exact same concept is used in carpentry to curve sharp corners

shaoronmd