直線と原点との距離
任意の点と任意の直線との距離の式が欲しくなったので、とりあえず原点と任意の直線(ax+by=c)との距離だけを考える。あとは平行移動させるだけですから。
法線を導いて交点を出して…とやろうとしたところ、挫折。
で、円に着目。直線が円の接線になるとき、その円の半径が距離になります。それで判別式を使って解けるはず。
- x=-b/a*y+c/a を x^2+y^2=r^2 に代入して、両辺にa^2かけて整理すると (a^2+b^2)y^2 - 2bcy + c^2-a^2r^2 = 0
- (1)方程式の判別式をDとするとD=0になればax+by=cは接線。てことで 4b^2c^2-4(a^2+b^2)(c^2-a^2r^2)=0 の方程式ができます
- (2)をr^2について解くと r^2 = c^2/(a^2+b^2)
ここまでやったところ、これでは交点が出ないのでは…と思いました。が、
r^2 = c^2/(a^2+b^2) を x^2+y^2=r^2 に代入して y について解くと y = bc/(a^2+b^2)x^2+y^2=r^2 に r^2 = c^2/(a^2+b^2), x=-b/a*y+c/a を代入して y について解くと、y = bc/(a^2+b^2) (D=0より重根)- (2)を x=-b/a*y+c/a に代入して x = ac/(a^2+b^2)
あっさり出ました。
注: 6/19に一部書き換えました。