円、楕円

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)

方程式
中心を P(x0,y0)、半径rの円の方程式は次の式になります。
 ((x-x0)/r)2 + ((y-y0)/r)2 = 1
同じ x に対し、y の値は二つもとまります。この方程式からは、きれいな円を描くことはできません(xがx0に近いとyは急に変化)。
 円の、x と y の比率が異なると楕円になります。
 ((x-x0)/a)2 + ((y-y0)/b)2 = 1

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で、直線の上下()を指定します。
 二つの直線を求め、その交点で、円の中心が求められます。