And another and another. I found another case that requires special code to deal with the geometry that is different from all other cases.
derfus.jpg
the thing to notice in this situation is the fact that connector C controls the location of link 1 horizontally in this case but connectors A and F control link 1 somewhat vertically. The directions don’t really matter. It’s the computations needed to move link 1 to the proper position based on a circle around G, the point F and the line segment KL.

I have no idea how to handle this right now. I can even imagine slight variations that might make this case the most oddball case so far. Can C move down KL while A rotates around G thus making the position of link 1 undefinable? This one is going to take some thought.