- ベストアンサー
2つの平行な超平面間の距離の求め方
こんにちは。 S:={(x_1,x_2,…,x_n);Σ[i=1..n]a_i x_i = b_1} と T:={(x_1,x_2,…,x_n);Σ[i=1..n]a_i x_i = b_2} (x_1,x_2,…,x_n,a_1,a_2,…,a_n,b_1,b_2∈R) との距離はどうすれば求めれるのでしょうか? 距離はmin{∥s-t∥;s∈S,t∈T}の事だと思います。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
面倒なので S := { x | ax = b_1 }, T := { x | ax = b_2 } とおくことにします. a に平行な単位ベクトルを u = a / ||a|| とします. S と T の間の距離が d だとすると, S 上の点 x0 に対し x0 + d u ∈ T です. つまり ax0 = b_1, a(x0 + d u) = b_2 です. よって (a u = ||a||^2 / ||a|| = ||a|| なので) b_2 = ax0 + a d u = b_1 + d ||a|| だから d = (b_2 - b_1) / ||a||. これは「符号の付いた」距離であり, (符号のない) 普通の距離としてはこの絶対値をとった d = |b_2 - b_1| / ||a|| になります. やってることは「点と超平面との距離」と同じですね.
その他の回答 (3)
>"法線方向の単位ベクトル"と"平面上のある点と任意の点との差"との内積が一定なの >ではないですかね。 ちょっと端折った書き方をしたので、混乱されたようですみません。 "「原点を起点とする」法線方向の単位ベクトル"と"平面上の任意の点の位置ベクトル (当然「原点を起点」としています)”の内積が一定、つまり、三次元では 平面内のどの点であっても、位置ベクトルの法線方向成分が一定、 n・r=n_x・X+n_y・Y+n_z・Z=b(一定)になると考えられます。 >> S、Tの両式を超平面の標準方程式に変形し差を取ればよい >> と思います。 >> つまり、|b_1-b_2|/∥a_i∥ Σ[i=1..n]a_i・x_iというベクトルが単位ベクトルであれば、∥a_i∥=1ですが、一般性を持たせ そうでない場合も含め、単位ベクトルとするために式全体を∥a_i∥で割るのです。 このようにして得られる値は、原点から平面までの距離を表わすので、S、Tなる二つの面間 距離は、その差として表わされるという訳です。
お礼
解決できました。 大変有難うございます。
平面の式は、法線方向の単位ベクトルと、平面上の任意の点の位置ベクトルの内積が一定 として定められるので、S、Tの両式を超平面の標準方程式に変形し差を取ればよい と思います。 つまり、|b_1-b_2|/∥a_i∥
お礼
御回答有難うございます。 > 平面の式は、法線方向の単位ベクトルと、 > 平面上の任意の点の位置ベクトルの内積が 位置ベクトルではなく, "法線方向の単位ベクトル"と"平面上のある点と任意の点との差"との内積が一定なの ではないですかね。 つまり、R^3では(x0,y0,z0)を平面π上のある点とし、任意の点を(x,y,z)とし、法線方向の 単位ベクトルを(a,b,c)とすると平面の方程式は a(x-x0)+b(y-y0)+c(z-z0)=0 ですよね。 > S、Tの両式を超平面の標準方程式に変形し差を取ればよい > と思います。 > つまり、|b_1-b_2|/∥a_i∥ うーんと、これはどうして言えるのでしょうか? R^3の場合、 ax+by+cz=d ax+by+cz=d' だと |d-d'|/∥(a,b,c)∥ が距離を表しているんですよね。 どうしてこれが距離を表していると分かるのでしょうか?
- endlessriver
- ベストアンサー率31% (218/696)
ラグランジュの乗数法が使えると思います。 x'=(x1',...,xn')を定数として f=∥x-x'∥, g=(Σ[i=1..n]a_i x_i - b_1) f-λgを計算します。得られた式を2乗して和をとれば 1=(λ^2)(a1^2+...an^2). またaiを掛けて和を取れば(b1-b2)/∥x-x'∥=λ(a1^2+...an^2). この2式より∥x-x'∥が得られます。これが最小値であることは多分?明白と思います。
お礼
解決できました。 大変有難うございます。
お礼
解決できました。 大変有難うございます。