# What does ''Axis'' input of Vector Rotate node do?

What does the Axis input do? I’m aware that if the input is 0-1-0, the rotation will be performed around Y axis, 1-0-0 for X axis and 0-0-1 for Z axis. The math to perform the rotation using those Axis inputs are Rotation Matrices with matrices as written above.

But what if the Axis input was ''unusual'' like 1-1-1? or 0.5-0.2-0.8? or 5-2-8? (The node let you manually type the number larger than 1 and less than (-1)). I don’t understand the math behind those ''unusual'' inputs. How are these Axis inputs going to be performed with above matrices? Do they perform with the matrices at all or do they have to use different kind of math?

Any help would be greatly appreciated!

This question on Stack Overflow has an accepted answer that discusses the mathematics of rotation around an axis other than one of the three coordinate axis:

A product of the aforementioned matrices should be enough if you only need rotations around cardinal axes (X, Y or Z) like in the question posted. However, in many situations you might want to rotate around an arbitrary axis/vector. The Rodrigues' formula (a.k.a. axis-angle formula) is a commonly prescribed solution to this problem.

Where the answer uses "arbitrary axis/vector" it is describing the Axis input of the Vector Rotate node. The node basically plugs the normalized value of Axis into Rodrigues' rotation formula as K and performs the operations of that formula to create the rotation matrix that is then applied in the usual way.

• Hi Mr. Fouts, I've made a new question regarding the same ''Vector Rotate'' node and the math behind it. Can please take a moment to look into it? I really need your help. Thank you! blender.stackexchange.com/questions/241078/… Oct 20, 2021 at 2:55
• @HuyHồVĩnh I've seen that question, but it's late here, so I'll try to answer it tomorrow my time. Oct 20, 2021 at 3:12
• Yes sir! Thank you for your help Oct 20, 2021 at 3:15