# Embedding a graph in $\mathbb{R}^3$ with partial geometric information

I have a connected, sparse, graph (a molecule to be specific) and I'm interested in associating 3D coordinates with the vertices. Here's the kicker: I already have coordinates for none/some/all vertices which are not to be changed. The case of no coordinates I can solve with e.g. MDS, and the case where I have all coordinates is trivial.

In addition, I have a length associated with every edge which should be respected (but some distortion is fine). If it helps, I also have information about some (not all) angles and dihedral angles. Finally, all vertices should be separated as much as possible from one another. If need be, you may assume a maximum degree of ~6.

I don't expect a fully worked solution, but any pointers to literature would already be greatly appreciated!

New contributor
pckroon is a new contributor to this site. Take care in asking for clarification, commenting, and answering. Check out our Code of Conduct.
• Maybe write down the energy function and perform simulated annealing? – Bullet51 Jul 11 at 15:55
• Thanks for the input, I'll give that a try. Although it feels somewhat unsatisfactory ;) – pckroon Jul 12 at 13:25
• There're lots of optimization algorithms to try, not only limited to simulated annealing. – Bullet51 Jul 12 at 16:22
• Don't worry, I realize. The first thing I'll try will be some local optimization, preferably one I can take from scipy. But that's more StackOverflow than MathOverflow. – pckroon yesterday

Enumeration of periodic tetrahedral frameworks