I try to calculate the three dimensional vector here. You can mostly ignore the 2 dimensions section. And I am sure to have made mistakes. I also didn’t simplify the equations and didn’t label the lines and angles.
Tallak did the same and more here: The Pyramid
You want to rotate an arm on a shaft by pulling on a tether. You are pulling with a force of 1 on the tether, how much of that would contribute to the rotation of the arm given the different directions you are pulling? You are also interested in the fractions of the force in the other directions.
Pulling on an arm in 2 dimensions
The shaft is horizontal, the arm is also horizontal. In the unit circle, the shaft is a point at the origin and the arm is a line at 0 degrees. You add a second arm to the unit circle and connect the two arms with a line, your tether.
The tether makes a chord on the unit circle. The angle of this chord with the end of the first arm is the direction you are pulling. This goes from perpendicular, 90 degrees, at 0 degrees, to 45 degrees at 90 degrees, to 0 degrees at 180 degrees.
I can’t find the correct function, probably involving chord angles, but this seems to work also:
Tether angle \beta with the x-axis = arctan(\dfrac{sin\ \theta}{1 - cos\ \theta}) This is based on a right angle triangle. 1-cos\ \theta is the adjacent side, sin\ \theta the opposite side.
A 180 degree angle between the two arms gives you 0 degrees and a 90 degree angle gives you 45 degrees, like you expect. You want a function that gives you a vertical scaling factor of 1 when \beta is 90 degrees (the two arms are on top of each other) and 0 when \beta is 0 degrees (the two arms are 180 degrees apart).
The vertical component of the force would then be something like \dfrac{1 - sin \beta}{1}, which is I think valid for \beta between 0 and 90, or angles between arms of 0 and 180 degrees.
So you’d have the vertical (rotational) scaling factor of \dfrac{1 - sin \beta}{1} and then the horizontal (compressive) scaling factor should be the opposite \dfrac{1 - cos \beta}{1}. Again, total force would be 1.
In the next section you might need chord length (no), which is 2 \ sin(\dfrac{\theta}{2}). I’ll add arm length r to get r\cdot 2\ sin(\dfrac{\theta}{2})
Pulling on an arm in 3 dimensions
In 3 dimensions you’d place a second unit circle above the first one, above the page, and now you place the second arm on this unit circle, and also a phantom copy of the first arm. You connect the ends of the arms with the tether of length l. When the second arm rotates it pulls the two unit circles, or planes, closer together.
You can look at this from the side so that the shaft becomes a horizontal line and the first arm becomes a line coming out of the page. Now I think you are interested in the triangle that the ends of the 2 arms and the end of the phantom arm make with each other.
You attached the tether with length l to the first arm, so this tether could describe a sphere with radius l. But you also connected it to the second arm so it is restrained to an isosceles triangle with two sides of length l.
Here the two arms are of equal length, so the two gray right triangles you see are in the same plane and seem to be similar. That does seem to make calculations easier, but it’s not what I want.
Let’s calculate the lengths and angles of the blue triangle. The hypotenuse is l, the opposite side is the length of the second arm minus the length of the first arm, |r_2 - r_1|, and so the length of the adjacent side is \sqrt {l^2 - (r_2 - r_1)^2}. The measure of the acute angle is arcsin(\dfrac{r_2 - r_1}{l}).
The sides of this blue triangle are r_1, r_2, and the dashed line from the law of cosines (c^2 = a^2 + b^2 - 2\ a\ b\ cos\ C) => \sqrt{r_1^2 + r_2^2-2r_1r_2\ cos\ \theta}.
The angle the dashed line makes with the base of the triangle is, from the law of sines \dfrac{A}{sin\ a} = \dfrac{B}{sin\ b} => \dfrac{sin\ \theta}{ \sqrt{r_1^2 + r_2^2-2r_1r_2\ cos\ \theta}} = \dfrac{sin\ \gamma}{r_2} => sin \gamma = \dfrac{r_2\ sin\ \theta}{ \sqrt{r_1^2 + r_2^2-2r_1r_2\ cos\ \theta}}
With that I think you can calculate the angles and sides of this right triangle:
The bottom angle should be 90 ^{\circ} - \gamma .
With that the two straight sides would be, using the Pythagorean Theorem:
\sqrt{(r_1^2 + r_2^2-2r_1r_2\ cos\ \theta) - (r_1^2 + r_2^2-2r_1r_2\ cos\ \theta) \cdot cos^2 (90 - \gamma)} and
\sqrt{(r_1^2 + r_2^2-2r_1r_2\ cos\ \theta) - (r_1^2 + r_2^2-2r_1r_2\ cos\ \theta) \cdot sin^2 (90 - \gamma)}
I’ve just calculated the length of one of the blue dashed lines, the other one is the same length. This blue triangle is a right triangle. The hypotenuse is l. The base then is \sqrt{l^2 - (r_1^2 + r_2^2-2r_1r_2\ cos\ \theta)}. The angle of the acute angle is arcsin(\dfrac{\sqrt{r_1^2 + r_2^2-2r_1r_2\ cos\ \theta}}{l})
That gives us I think the vectors in the 3 dimensions:
Along the shaft z: \sqrt{l^2 - (r_1^2 + r_2^2-2r_1r_2\ cos\ \theta)}
Compressing the arm x: \sqrt{(r_1^2 + r_2^2-2r_1r_2\ cos\ \theta) - (r_1^2 + r_2^2-2r_1r_2\ cos\ \theta) \cdot cos^2 (90 - \gamma)}
Rotating the arm y: \sqrt{(r_1^2 + r_2^2-2r_1r_2\ cos\ \theta) - (r_1^2 + r_2^2-2r_1r_2\ cos\ \theta) \cdot sin^2 (90 - \gamma)}
I’ve checked these 3 functions, they give the correct result.
You’re interested in the ratios, so divide the different vectors by the 3d vector, for example: \dfrac{z}{\sqrt {z^2+x^2+y^2}} or \dfrac{z}{l}. Or \dfrac{z}{z+x+y} if you want the results to add up to 1.
From the lengths given you can also calculate by how much the shaft shortens: \sqrt {l^2 - (r_2 - r_1)^2} - \sqrt{l^2 - (r_1^2 + r_2^2-2r_1r_2\ cos\ \theta)}