PROJECT FILES (Blender 5.1+)

SVD


Two nodes in one week is starting to feel ridiculous. Is this the new status quo? If so, I could get behind it. First, a few days ago, we got the Raycast Node for shading - and now…

The Matrix SVD Node!


Now, nodes that work on matrices tend to be a bit harder to conceptualize. Linear algebra is wack. Let’s break it down.

Imagine a 3D transformation (centered - without translation) as a matrix. This transformation can be any combination of:

  1. Rotation
  2. Scaling/Shear

Easy enough.

But! Now suppose I gave you a pre-made matrix $M$, and asked you to reverse the process. To recover the rotation and scaling/stretching that makes it up. How would you do that? Well that’s what this node is for 😃

Given some transformation (a matrix) $M$, the SVD decomposition gives us:

\[M = U\Sigma V^{T}\]

Specifically, $U$ is an orthogonal matrix, $\Sigma$ is a diagonal matrix, and $V$ is also an orthogonal matrix. In human speak:

  • $U \text{ } \& \text{ } V^{T}$ encode the rotation
  • $\Sigma$ encodes the scaling/shear

It turns out this is the core ingredient for something called Principle Component Analysis - a.k.a the solution to:

Watch the video. it will make more sense then (hopefully).