3点を通る円
1点を原点とするよう移動します。移動後の座標を、(0,0)、(x1、y1)、(x2, y2) とします。円の中心を(cx,cy)とすると、各点が円の上にあることから、
2*x1*cx+2*y1*cy=x1^2 + y1^2
2*x2*cx+2*y2*cy=x2^2 + y2^2
cx*cx + cy *cy = r * r
これから、一時の連立方程式でcx,xy が定まります。
円(図形的)
円周上の点は中心から一定の距離になります。楕円は二つの定点(焦点)からの距離の和が等しい点になります。
パラメトリックな式
角度を t とすると、円周上の点の座標は
x = r * cos(t)
y = r * sin(t)
で求めることができます。t を変化させるきれいな円を描画できます。
ここで、x,y の係数 r が異なると楕円になります。
x = r1 * cos(t)
y = r2 * sin(t)
2直線に接する半径 r の円
直線の方程式を
l1: a1 x + b1 y + c1 = 0
l2: a2 x +
b2 y + c2 = 0
とします。2直線から距離 r の直線を求めます。その交点が接円の中心になります。直線 l1
から距離rの直線の式は次のようになります。
a1*x + b1*y + c1-
up1*r*sqrt(a1*a1 +
b1*b1)=0
ここで、up1は±1で、直線の上下()を指定します。
二つの直線を求め、その交点で、円の中心が求められます。