The way I normally do these is to just throw some basic triangle equations into Excel and use some macrobuttons to nudge the controlling beam angle in coarse/fine amounts until the "error" (between where the constraining beam top pin landed and where it ought to have landed) hits zero, or as close as 0.000001 since LEGO will flex a little anyway. Takes about 15 minutes to setup and 30 seconds to find the answer. Much faster than trying to solve equations properly, especially in my old age. Besides, that's what computers are for
I was intrigued at the prospect of solving it analytically though. With the method I use, technically it would be a matter of taking the 1st order derivative of the "error" function and solving for zero, essentially finding the turning-point where the "error" graph is at a minimum. But I pasted the sub-equations I used from the spreadsheet into one giant equation and promptly found that it would be extremely difficult to differentiate (even using chain rule) let alone solve for zero. Most of the online derivative calculators choked at the length of the equation, but the GeoGebra site Philo used was at least able to graph it and also let me easily find the same control angle I got from Excel. I stopped at 6dp, but could easily have gotten more.
If anyone's interested (or wants a laugh) this was the equation that computes the "error" from the control angle x. Excuse the excess brackets, didn't want to introduce any errors as I substituted all the sub-equations into the outer equation. Differentiate and solve this for zero and the job's done
f(x)=(sqrt((((((sin(x)*120)-(sin((acos((33600+(((sin(x)*120)^2)+((240-(cos(x)*120))^2)))/(400*sqrt(((sin(x)*120)^2)+((240-(cos(x)*120))^2))))+asin((sin(x)*120)/sqrt(((sin(x)*120)^2)+((240-(cos(x)*120))^2)))))*200))/2)+(sin((acos((33600+(((sin(x)*120)^2)+((240-(cos(x)*120))^2)))/(400*sqrt(((sin(x)*120)^2)+((240-(cos(x)*120))^2))))+asin((sin(x)*120)/sqrt(((sin(x)*120)^2)+((240-(cos(x)*120))^2)))))*200))^2)+(((((((cos((acos((33600+(((sin(x)*120)^2)+((240-(cos(x)*120))^2)))/(400*sqrt(((sin(x)*120)^2)+((240-(cos(x)*120))^2))))+asin((sin(x)*120)/sqrt(((sin(x)*120)^2)+((240-(cos(x)*120))^2)))))*200)-240)-(cos(x)*-120))/2)+(cos(x)*-120))+60)^2))-120)
Edit: actually, come to think of it, no derivative necessary. Just need to solve for zero. But I think I'll still stick to graphs or successive approximation!