| 2006/08/08(Tue) 18:24:30 編集(投稿者)
■No15771に返信(新人さんの記事) > 円:(x-x0)2+(y-y0)2=r2 と 直線:y=mx+n の交点の座標をx0,y0,m,nをつかって表そうとしてます。どこまで簡単に計算できますか?
x0,y0 はまちがえやすいので、a,b にします。→円:(x-a)^2+(y-b)^2=r^2
まず、共有点が存在する⇔|ma-b+n|/√(m^2+1)≦r の条件のもとで
交点を(α,mα+n),(β,mβ+n)とおく。
円と直線の連立で、(1+m^2)x^2+2(mn-mb-a)x+a^2+(n-b)^2-r^2=0
解と係数の関係より α+β=-2(mn-mb-a)/(1+m^2)、αβ={a^2+(n-b)^2-r^2}/(1+m^2)
A=(mn-mb-a)/(1+m^2)、B={a^2+(n-b)^2-r^2}/(1+m^2)とおけば、α+β=-2A、αβ=Bより α,βは、t^2+2At+B=0 の解になって、t=-A±√(A^2-B) と表せる。
…これ以上は簡単にならないと思います。 (プログラミングで数値計算するならこのレベルで大丈夫でしょう)
|