Calculating 3D angles...

Hey guys, I’m Nathan the new guy.

Here’s what I’m aiming for: Well firstly, I’m making a project for someone that involves making Augmented Reality models of organic chemicals that teachers can use to educate chemistry students in high school. This means I’m making the 3D models in Blender then exporting them to another program to make an Augmented Reality application (basically, its just virtual reality).

The problem: To show the chemicals accurately, I need 4 bonds (small cylanders) coming off each carbon atom (largish sphere)… And to show the chemically even more accurately, these four (this number can vary) bonds must be at exactly opposite angles from each other!

Does anyone know an equation or algorithm to figure out how to do this? Or even a quick solution using Blender to do all this in the program? I make a basic model of a Methane chemical but I just guessed these angles… 3D maths is hard!

Thanx in advanced,

In top view, add a mesh circle. When the option comes up to choose the number of vertices, set it to 3. You should get a regular triangle, though at an odd angle (set blender to rotate-around-cursor-mode by pressing . and rotate it anticlockwise 45 degrees if you want a “conventional” orientation for the triangle).

In editbuttons (F9), turn on “Edge Length” See that the edges are all 2.449 units long (well, they are for me, if your number is different, use that number later instead).

Go into front view and press E->Only Vertices to extrude edges from the verts. Right-click to cancel the movement, and then press Alt-M->To Cursor to merge the verts together.
Press G, Z to grab the vert and move it only vertically. Move it up until the edge lengths read 2.449 (or whatever number you got before). Click here to place it.

There, one regular tetrahedron, which you can use as a guide for building the molecule.

Also, you might want a point showing the centre of the tetrahedron. The “centre” tools in blender won’t help because they use the centre of the bounding box, which isn’t what you want. Select all and E->Only Vertices, RMB and Alt+M->To Cursor. Then G,Z and move it so the edge lengths are all the same (at about 1.5 or so).