I have an icosahedron of radius $x$ with 12 vertices at known coordinates. If I have a point at $(0,0,x)$ where $x > 0$ and a vertex of this icosahedron at $(a,b,c)$ how can I find the rotation matrix between the two points?
Thanks
I have an icosahedron of radius $x$ with 12 vertices at known coordinates. If I have a point at $(0,0,x)$ where $x > 0$ and a vertex of this icosahedron at $(a,b,c)$ how can I find the rotation matrix between the two points?
Thanks
Copyright © 2021 JogjaFile Inc.
Choose two vectors $u$ and $v$ that together with $w=(a,b,c)^\mathrm{T}/x$ form an orthonormal basis. The let $$R = \left[\array{u^\mathrm{T}\\v^\mathrm{T}\\w^\mathrm{T}}\right].$$ This gives a "rotation matrix" (orthogonal matrix) that maps $(a,b,c)^\mathrm{T}$ to $(0,0,x)^\mathrm{T}$ as you wanted. This matrix is not unique and varies by the orthonormal basis you choose.