Never mind, problem solved, if anyone else ever needs it, here's the solution in matlab code, im assuming it's readable even if u can't read matlab code, cross = cross product and dot = dot product:
Code:
u = normal_vectors(1);
v = normal_vectors(2);
n = cross(u,v);
n = n/norm(n);
phi = acos(dot(u,v) / (norm(u) * norm(v))); %in radials
t = (1-cos(phi));
s = sin(phi);
d = cos(phi);
a = n(1);
b = n(2);
c = n(3);
Rmatrix = [ t*a^2+d t*a*b-s*c t*a*c + s*b;
t*a*b + s*c t*b^2+d t*b*c - a*s;
t*a*c - s*b t*b*c+s*a t*c^2 + d
]; So you end up with a rotation matrix which if applied rotates like the first vector to the second