直線OWとX軸のなす角をθ
wとし、
l
w = sqrt(w
x2 + w
y2)
余弦定理より、
l
22 = l
12 + l
w2 - 2l
1l
wcos(θ
w - θ
1)
加法定理より、
l
22 = l
12 + l
w2 - 2l
1cosθ
1 * l
wcosθ
w - 2l
1sinθ
1 * l
wsinθ
w 関節Eの座標を(e
x, e
y)とすると、
l
22 = l
12 + l
w2 - 2e
xw
x - 2e
yw
y 2e
yw
y = l
12 - l
22 + l
w2 - 2e
xw
x 両辺を二乗して、
4e
y2w
y2 = (l
12 - l
22 + l
w2)
2 - 4e
xw
x(l
12 - l
22 + l
w2) + 4e
x2w
x2 e
x2 + e
y2 = l
12なので、
4w
y2l
12 - 4e
x2w
y2 = (l
12 - l
22 + l
w2)
2 - 4e
xw
x(l
12 - l
22 + l
w2) + 4e
x2w
x2 e
xについて整理して、
4(w
x2 + w
y2)e
x2 - 4w
x(l
12 - l
22 + l
w2)e
x + (l
12 - l
22 + l
w2)
2 - 4w
y2l
12 = 0
w
x2 + w
y2 = l
w2なので、
4l
w2e
x2 - 4w
x(l
12 - l
22 + l
w2)e
x + (l
12 - l
22 + l
w2)
2 - 4w
y2l
12 = 0
この2次方程式の判別式をD
xとすると、
Dx/16 = wx2(l12 - l22 + lw2)2 - lw2((l12 - l22 + lw2)2 - 4wy2l12)
展開して整理すると、
Dx/16 = (wx2 - lw2)(l12 - l22 + lw2)2 + 4wy2l12lw2
wx2 - lw2 = - wy2なので、
Dx/16 = wy2(4l12lw2 - (l12 - l22 + lw2)2)
因数分解して、
Dx/16 = wy2(l2 - l1 + lw)(l2 + l1 - lw)(l1 - l2 + lw)(l1 + l2 + lw)
l1 + l2 + lw > 0なので、Dx > 0となるのは
wy ≠ 0 かつ l1 + l2 > lw かつ l1 + lw > l2 かつ l2 + lw > l1のとき、
つまり、
WがX軸上に存在せず、三点OEWが一直線上に並ばないときである。
このとき、DをDx/16 = wy2Dとすると、
ex = (wx(l12 - l22 + lw2) ± wy * sqrt(D)) / 2lw2
ex2 + ey2 = l12より、
ex = (wx(l12 - l22 + lw2) + wy * sqrt(D)) / 2lw2 のとき ey = (wy(l12 - l22 + lw2) - wx * sqrt(D)) / 2lw2
ex = (wx(l12 - l22 + lw2) - wy * sqrt(D)) / 2lw2 のとき ey = (wy(l12 - l22 + lw2) + wx * sqrt(D)) / 2lw2
また、(wx, wy) ≠ (0, 0) で、関節WがX軸上に存在する場合、
ex = wx(l12 - l22 + lw2) / 2lw2 = (l12 - l22 + wx2) / 2wx
ey = ±wx * sqrt(D) / 2lw2 = ±sqrt(D) / 2wx
同様に、(wx, wy) ≠ (0, 0) で、関節WがY軸上に存在する場合、
ex = ±sqrt(D) / 2wy
ey = (l12 - l22 + wy2) / 2wy
また、(wx, wy) ≠ (0, 0)で、三点OEWが一直線上に並ぶ場合、
ex = wx(l12 - l22 + lw2) / 2lw2
ey = wy(l12 - l22 + lw2) / 2lw2
よって、(wx, wy) ≠ (0, 0) のとき、
θ1, θ2はこれらのex, eyを用いて、
θ1 = atan(ey, ex)
θ2 = atan(wy - ey, wx - ex) - θ1
と表せる。
また、(wx, wy) = (0, 0) のとき、
θ1, θ2は一意に決まらない。