直線ℓとmが交わる場合の最短距離

数学ベクトル平面図形最短距離

ベクトルで聞きたいことあるんだけど、、、点Pが直線l上を、点Qが直線m上を動くとき、線分PQの長さの最小値を求めるのに、①PQと直線lが垂直、②PQと直線mが垂直、で解くじゃん?
それって、直線lと直線mが同じ平面上にあっても成り立つ?

11:28

無視かーーーい

12:09
リュウツー先生
リュウツー先生

なるほど、直線ℓと直線mが同じ平面上にある場合について確認したいんだね。
同一平面上の場合には主に次の2つのケースが考えられるよね。

  1. ℓとmが交わる場合
  2. ℓとmが平行な場合

今、君が特に想定しているのはどちらのケースかな?教えてくれる?

12:10

1

12:10
リュウツー先生
リュウツー先生

いいね!!では現状理解度確認フェーズだよ。
直線ℓとmが交わる場合、線分PQの長さの最小値はどうなる?以下から選んでくれる?

(1) 最短距離は0で、P=Q=ℓ∩m
(2) PQとℓが垂直になるとき
(3) PQとmが垂直になるとき

12:10

1

12:11
リュウツー先生
リュウツー先生

いいね!!1番が正解だよ。
直線ℓとmが交わる場合、PとQを交点ℓ∩mにとれば
PQ=0PQ=0
となって、これが最小値になるわけ。

このとき線分PQの長さがゼロなので、 “PQ⊥ℓ” や “PQ⊥m” と言おうが無理やり言えてしまうんだけど、実質的には最小距離は0で決まりだよ。

わかった?

12:11

じゃあ平面上にある時と無いときで場合分けが必要ってことか

12:14
リュウツー先生
リュウツー先生

いいね!!まさにそのとおり。直線ℓとmの最短距離を考えるときには、次の3つの場合に分ける必要があるわけです。

1.ℓとmが交わる場合
 → 最短距離は当然0(交点をP=Qとすればいい)。

2.ℓとmが平行な場合(同一平面上か空間上かは関係なく平行)
 → 一方の直線上の任意の点から他方へ下ろした垂線の長さが最短距離になる。
  たとえばℓ上の点Pからmに下ろした垂線PQ(PQ⊥m)を考えれば、
   minPQ=(ab)×dd\min|PQ|=\frac{|(\bm{a}-\bm{b})\times\bm{d}|}{|\bm{d}|}
  のようにベクトルを使って求められる。

3.ℓとmが交わらず平行でもない(いわゆるスキュー:空間内で同一平面上にない)場合
 → 最短距離を与えるPQは「PQ⊥ℓ かつ PQ⊥m」となる。
  この2つの直線にともに垂直なベクトル方向を取ることで最短のセグメントが定まる。
  ベクトルで書くと、ℓの方向ベクトルをu\bm{u}、mの方向ベクトルをv\bm{v}
  ℓ上の点をa\bm{a}、m上の点をb\bm{b}とすると、
   minPQ=(ba)(u×v)u×v\min|PQ|=\frac{|(\bm{b}-\bm{a})\cdot(\bm{u}\times\bm{v})|}{|\bm{u}\times\bm{v}|}

このように、「同一平面上にあるか(=交わる/平行)、空間上でスキューか」で場合分けすると整理しやすいというわけです。

わかった?

12:14

3を外積を使わずに教えて

12:16
リュウツー先生
リュウツー先生

いいね!!スキュー直線間の最短区間を外積を使わずに求めるには、パラメータ表示と最小化法を使うんだ。手順はこんな感じ:

  1. 直線ℓを P=a+tuP=a+tu、直線mを Q=b+svQ=b+sv とパラメータ t,st,s で表す。
  2. 区間長の二乗を関数とみなす:
    f(t,s)=PQ2=ab+tusv2. f(t,s)=|P-Q|^2 = |\,a-b + t\,u - s\,v\,|^2.
  3. 最小になるのは f/t=0\partial f/\partial t=0 かつ f/s=0\partial f/\partial s=0 のとき。
    これを分かりやすくドット積で書くと、
    u(ab+tusv)=0,v(ab+tusv)=0. u\cdot(a-b + tu - sv)=0, \quad v\cdot(a-b + tu - sv)=0.
  4. これが2元1次連立方程式になるから、
    {(uu)t(uv)s=u(ab), (uv)t(vv)s=v(ab). \begin{cases} (u\cdot u)\,t - (u\cdot v)\,s = -\,u\cdot (a-b),\ (u\cdot v)\,t - (v\cdot v)\,s = -\,v\cdot (a-b). \end{cases}
    を解けば、最短区間のパラメータ t,st,s が得られる。
  5. その t,st,sP,QP,Q に戻し、PQ|P-Q| を計算すれば、求める最小距離になるというわけです。

具体的には計算量は少し多いけれど、すべてドット積と連立方程式の解法だけで完結するよ。

ここまでOK?

12:17

yes

12:18
リュウツー先生
リュウツー先生

じゃあ具体的に連立方程式を解いて、パラメータ t,st,s を求めよう。

  1. まず係数行列の行列式(≒判別式)を
    Δ=(uu)(vv)(uv)2 \Delta = (u\cdot u)(v\cdot v) - (u\cdot v)^2
    とおく。ここが 0 でないこと(=スキューであること)の確認もできるね。

  2. 次に、
    {(uu)t(uv)s=u(ab), (uv)t(vv)s=v(ab) \begin{cases} (u\cdot u)\,t - (u\cdot v)\,s = -\,u\cdot (a-b),\ (u\cdot v)\,t - (v\cdot v)\,s = -\,v\cdot (a-b) \end{cases}
    をクラメールの公式で解くと、
    t=(u(ab))(vv)+(v(ab))(uv)Δ, t = \frac{-(u\cdot(a-b))\,(v\cdot v) + (v\cdot(a-b))\,(u\cdot v)}{\Delta},
    s=(v(ab))(uu)+(u(ab))(uv)Δ. s = \frac{-(v\cdot(a-b))\,(u\cdot u) + (u\cdot(a-b))\,(u\cdot v)}{\Delta}.

  3. これで最短区間の端点は
    P=a+tu,Q=b+sv P = a + t\,u,\quad Q = b + s\,v
    となるから、求める最小距離は
    PQ=(ab)+tusv. |P - Q| = \bigl|(a-b) + t\,u - s\,v\bigr|.
    ベクトルの成分を代入して計算すれば、外積を使わずに最小距離が得られるわけです。

わかった?やったぜ!

12:19

文字ばかりで分かりにくいから具体的に数字当てはめて例題作れる?

12:20
リュウツー先生
リュウツー先生

いいね!!じゃあ具体的に数字を当てはめてみよう。
――――――
直線ℓ:P=a+tu, a=(0,0,0), u=(1,2,3)
直線m:Q=b+sv, b=(1,0,1), v=(2,1,0)

  1. 内積を計算
    u·u=1+4+9=14
    v·v=4+1+0=5
    u·v=2+2+0=4
    a−b=(−1,0,−1)
    u·(a−b)=−1+0−3=−4
    v·(a−b)=−2+0+0=−2

  2. 判別式 Δ=14×5−4²=70−16=54

  3. クラメールの公式で t,s を求める
    t=[−(u·(a−b))·(v·v)+(v·(a−b))·(u·v)]/Δ
    =[−(−4)·5+(−2)·4]/54=(20−8)/54=2/9
    s=[−(v·(a−b))·(u·u)+(u·(a−b))·(u·v)]/Δ
    =[−(−2)·14+(−4)·4]/54=(28−16)/54=2/9

  4. 最短区間の端点
    P=(2/9,4/9,6/9),
    Q=(1,0,1)+ (2/9)(2,1,0)=(13/9,2/9,1)

  5. 距離
    P−Q=(−11/9,2/9,−1/3)
    |P−Q|=√[ (−11/9)²+(2/9)²+(−1/3)² ]
    =√(121/81+4/81+9/81)
    =√(134/81)=√134/9

これで数字例を通して外積を使わずに解けたね。
わかった?やったぜ!

12:20

わかったぜ

12:24
リュウツー先生
リュウツー先生

やったぜ!他に質問ある?

12:24
0 / 2000
マイセオくん