How do I calculate a point on each of three circles that have specific distance to each other? I am trying to write code for a computer simulator. I need to simulate a complex mechanism where each link has a known length and the ends of the links are connected to a triangle. I would like help with finding an equation to tell me the location of the triangle.

Above is a picture of a machine. There are three points B, C, G, whose locations are known. There are three links 3, 4, 5, whose lengths are known. Finally, there is a triangular link with dimensions that are all known but whose location is not. Each of the links 3, 4, 5 connect to the triangular link 2. 
Mathematically, the centers B, C, G, are knows as are the radii 3, 4, 5, but I am stumped at how to find the locations of D, E, and F, given the distance between each of them. I don't even have a starting point for the math because the circle-circle or circle-line intersection equations that are used to simulate simpler connections do not seem useful here.
I must add that I am a programmer and not a mathematician. I may have to ask for help turning an equation into code.
 A: You have six variables and six quadratic equations of the form $(x_b-x_e)^2+(y_b-y_e)^2=\ell_4^2$, so I wouldn't hold out much hope for a closed-form solution. I plugged the equations into Mathematica just in case, and it's been chugging away for a while without finding a solution.
This is essentially something like an inverse kinematics problem with three joints and three end-effector constraints. In inverse kinematics, closed-form solutions even when they exist tend to not be particularly useful. What I would recommend is to parametrize the three unknown degrees of freedom, i.e. the orientations of the links $3$, $4$, and $5$ as angles $\theta_3$, $\theta_4$, and $\theta_5$, and then use a numerical method to satisfy the constraints. In other words, let
$$\begin{align}
(x_d,y_d)&=(x_c,y_c)+\ell_3(\cos\theta_3,\sin\theta_3),\\
(x_e,y_e)&=(x_b,y_b)+\ell_4(\cos\theta_4,\sin\theta_4),\\
(x_f,y_f)&=(x_g,y_g)+\ell_5(\cos\theta_5,\sin\theta_5),
\end{align}$$
and define the error as
$$e(\theta_3,\theta_4,\theta_5)=\begin{bmatrix}(x_e-x_f)^2+(y_e-y_f)^2-\ell_{ef}\\(x_f-x_d)^2+(y_f-y_d)^2-\ell_{fd}\\(x_d-x_e)^2+(y_d-y_e)^2-\ell_{de}\end{bmatrix}.$$
Then you can use either Newton's method or the Levenberg-Marquardt algorithm to find the value of $(\theta_3, \theta_4, \theta_5)$ that minimizes $\lVert E(\theta_3,\theta_4,\theta_5)\rVert^2$.
A: Set up a set of equations for the coordinates of all the points you have got, and see what you can do. The lengths will introduce quadratic terms, but with a bit of luck you can get rid of them.
In the worst case, you could use a computer algebra system like WolframAlpha or maxima to solve your system of equations.
