掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
DELPHIコーディングの前で困っています (ID:149807)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
方程式が解けずに困っています。 ある同一平面上に互いに平行でない直線が複数あります。 また、同じ平面上の点P(xp,yp)を考えます。 この点から各直線へ垂線を引いた時の長さをdnとします。 例えば、直線が6本ある場合、d1,d2~d6となります。 この各直線までの距離の総和が最小となる点Pの座標を求めたいのですが、、、 各直線を、 a1*x+b1*y+c1=0 a2*x+b2*y+c2=0 ・ ・ a6*x+b6*y+c6=0 とすると、 各垂線の長さは、 d1=ABS(a1*xp+b1*yp+c1)/SQRT(a1^2+b1^2) d2=ABS(a2*xp+b2*yp+c2)/SQRT(a2^2+b2^2) ・ ・ d6=ABS(a6*xp+b6*yp+c6)/SQRT(a6^2+b6^2) となります。 ここで、d1+d2+・・+d6を最小とする(xp,yp)を求めるわけですが、 絶対値や平方根があるので、コーディングし難いとも思い、各垂線の距離の時点で、両辺二乗する事を考えました。二乗してもその総和を最小とする点Pの座標は変わらないと思います。 すると、 d1^2=(a1*xp+b1*yp+c1)^2/(a1^2+b1^2) d2^2=(a2*xp+b2*yp+c2)^2/(a2^2+b2^2) ・ ・ d6^2=(a6*xp+b6*yp+c6)^2/(a6^2+b6^2) となると思います。 そして、 d1^2+d2^2+・・+d6^2を最小とする(xp,yp)を求めまたいのですが、、、 ここから先に進めません。 解き方をご教示頂けると幸いです。 式の数が多いのも難ですが、直線の数は変動します。6より少ない場合もあり、多い場合もありますが、10を超えることはありません。 直線の数に応じて、解くやり方が一般的でしょうか? 最終的にDELPHI(XE6+FMX)でプログラムにします。 アドバイス頂けるでしょうか?
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.