2点と半径から、円弧補間する方法を連立方程式を立てずに、簡単に中心点を2点求め、
凸の円弧と凹の円弧を補間する方法を、図形的に説明する。
■図形的説明
まえの作図的方法で、点A,Bにおいて、半径Rのとき、
中心点をCとして、円弧補間できた。

このとき、点Aと点B、半径Rは指定された値であり、中心点Cが、求める値である。
ここで、点Aを(x1,y1)、点Bを(x2,y2)、半径をrとする。
求めるCを(X,Y)とする。
(1)まず、点A、Bに直線を引き、A,Bの中点をP(xp,yp)とする。
xp=(x1+x2)/2 yp=(y1+y2)/2 である。

点Aから中点Pまでの距離をlとする。lは、AB間の距離の半分だから、
l=SQRT((x1-x2)^2+(y1-y2)^2))
また、△APCと△BPCにおいて
AP=BP (中点)
AC=BC (半径R:仮定)
PCは共通なので、
三辺が等しい。よって、△APC≡△BPC
したがって、∠BPC=∠APC また、∠BPC+∠APC=180度(直線AB)なので、
∠BPC=∠APC=90度(*)
したがって、△APCは、直角三角形。
そこで、PCをsとすると、
r^2=l^2+s^2 (三平方の定理)
s=SQRT(r^2-l^2)
lは、上記にあるようにもとまるので、sも求まる。
(2)中点Pを原点となるように、平行移動する。

ここで、Cの座標がもとまればよい。このとき、CからX軸に垂線をおろし、それを、C’とする
また、点Aから、Y軸に対して、垂線をおろし、それをA’とすると、

黄色い三角形OAA’と赤い三角形OCC’は、相似形になっている
<理由>
相似なら、3角が等しいはず。
∠A’OA+∠AOC’=∠A’OC’=90度(座標軸は直交する)
∠AOC’+∠C’OC=∠AOC =90度(Oは、もともとはP、つまり∠AOC=∠APC=90度*)
上の式から下の式を引くと
∠A’OA-∠C’OC=90度ー90度=0
よって、∠A’OA=∠C’OC
∠AA’O=∠OC’C=90度(垂線を引くと仮定した)
三角形において、2角が等しければ、3角等しい(3角目=180度ー等しい2角だから)
よって、相似。
(3)図より、△AOA’を原点から、-90度回転すればよい

マイナス90度回転すると、
cos(-90度) -sin(-90度) X Y
=
sin(-90度) cos(-90度) Y -x
(本当は、行列式で書く)
つまり、Aの点(x1’,y1’)のとき、回転先は、(y1’,-1*x1’)となる。
(X1’,Y1’は、原点を中点Pに平行移動したときの、点Aの座標。
だから、元の点Aから求めることができる)
(3)この回転先の点(y1’,-1*x1’)のs/l倍が、C,
よって、このCを平行移動前に逆変換する。
凸の円弧と凹の円弧を補間する方法を、図形的に説明する。
■図形的説明
まえの作図的方法で、点A,Bにおいて、半径Rのとき、
中心点をCとして、円弧補間できた。

このとき、点Aと点B、半径Rは指定された値であり、中心点Cが、求める値である。
ここで、点Aを(x1,y1)、点Bを(x2,y2)、半径をrとする。
求めるCを(X,Y)とする。
(1)まず、点A、Bに直線を引き、A,Bの中点をP(xp,yp)とする。
xp=(x1+x2)/2 yp=(y1+y2)/2 である。

点Aから中点Pまでの距離をlとする。lは、AB間の距離の半分だから、
l=SQRT((x1-x2)^2+(y1-y2)^2))
また、△APCと△BPCにおいて
AP=BP (中点)
AC=BC (半径R:仮定)
PCは共通なので、
三辺が等しい。よって、△APC≡△BPC
したがって、∠BPC=∠APC また、∠BPC+∠APC=180度(直線AB)なので、
∠BPC=∠APC=90度(*)
したがって、△APCは、直角三角形。
そこで、PCをsとすると、
r^2=l^2+s^2 (三平方の定理)
s=SQRT(r^2-l^2)
lは、上記にあるようにもとまるので、sも求まる。
(2)中点Pを原点となるように、平行移動する。

ここで、Cの座標がもとまればよい。このとき、CからX軸に垂線をおろし、それを、C’とする
また、点Aから、Y軸に対して、垂線をおろし、それをA’とすると、

黄色い三角形OAA’と赤い三角形OCC’は、相似形になっている
<理由>
相似なら、3角が等しいはず。
∠A’OA+∠AOC’=∠A’OC’=90度(座標軸は直交する)
∠AOC’+∠C’OC=∠AOC =90度(Oは、もともとはP、つまり∠AOC=∠APC=90度*)
上の式から下の式を引くと
∠A’OA-∠C’OC=90度ー90度=0
よって、∠A’OA=∠C’OC
∠AA’O=∠OC’C=90度(垂線を引くと仮定した)
三角形において、2角が等しければ、3角等しい(3角目=180度ー等しい2角だから)
よって、相似。
(3)図より、△AOA’を原点から、-90度回転すればよい

マイナス90度回転すると、
cos(-90度) -sin(-90度) X Y
=
sin(-90度) cos(-90度) Y -x
(本当は、行列式で書く)
つまり、Aの点(x1’,y1’)のとき、回転先は、(y1’,-1*x1’)となる。
(X1’,Y1’は、原点を中点Pに平行移動したときの、点Aの座標。
だから、元の点Aから求めることができる)
(3)この回転先の点(y1’,-1*x1’)のs/l倍が、C,
よって、このCを平行移動前に逆変換する。