Building a tetrahedron from two defined vectors?

114 Views Asked by At

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!