I am currently writing a program that computes specific molecular bond angles for one of my research projects but am running into some trouble.
Suppose I want a tetrahedron with vertices A, B, C, D.
I know three ${x,y,z}$ coordinates: one coordinate corresponding to the center of the tetrahedron, and two additional coordinates corresponding to vertices A and B.
The angle $\Theta$ between A and B is roughly 109.5 degrees.
My current approach to this issue has been to compute two cross products, between A and B, one pointing above the plane ($v_1$) and one below the plane ($v_2$). The output vectors are then rotated by $\pi$/2 to lie parallel to the plane ($v_3$, $v_4$).
From ($v_3$, $v_4$) I am computing the vectors C and D.
This approach is poor and eats up a processing time (I have 120000 data sets to process).
I am curious whether there exists some transformation matrices that vectors A and B can be multiplied by to yield C and D?
Thanks!