アプリ版:「スタンプのみでお礼する」機能のリリースについて

すいません。
ずっと計算してるんですが、なかなか解決しなくて、だれか教えてください。
3次元空間内に平行でない2平面があります。
それぞれの平面上に1つずつ点があります。
平面内を通って2点を結ぶ経路の内、最短経路を求めてください。
経路の内、2平面の交わる直線上の1点が求まれば解決します。

A 回答 (6件)

実際には「回転」する必要はないですよ.



与えられた 2点を A, B, 交線を l として A, B から l に降ろした垂線の足を P, Q とします. そして, 求める経路における l 上の点を X とおくと
AP:BQ = PX:QX
です.
    • good
    • 0
この回答へのお礼

ありがとうございます
質問upしてよかったー
なんかそんな気がしてたんですが
証明できてませんでした。一かい回転してから考えると、相似の三角形から、比率の式が簡単に出て、あとは回転する必要ないと、、、
実は、3Dのメッシュ作成のプログラムをくんでまして、、、コストパフォーマンス最高です。コード一行ですみます。

お礼日時:2017/11/03 11:31

No3 です。

"問題を正しく理解しているか、に加えて、私の回答の流れを理解しているかを確認したく、" 回答の最後に私が、「問題」を提起したのです。
   わたしは「2点が近づく方向に回転させたらだめですよ。」の意味が分かりません。
 どうやら、この「問題」が反って誤解を招いたようです。ごめんなさい。以下のように訂正して考えてください。

 問題 なぜ平面σ上に載る、2点A',A''においてlを境界線と考えた時、交線lと同じ側にある点(A' か,A'')とBを結んだ線分の長さが、もう片方の点とBを結んだ線分の長さより短くなるときもあると、考えないのでしょうか。
       です。 以上

 以下 アドバイス。
  1. ずっと計算している必要ありません。No5 さんの解き方なら、数ページ使います。(出口が見つからなくなり、さまようこともあるやもしれません。)
  2. 数学はThinkです。図を描いて、イメージを見つけましょ。それから計算するか、幾何で解くかに分かれてゲームが始まることが多いです。
    大切なことは問題を理解することです。でないとゲームになりません。
  3. 貴方が計算した微分式や、4次式、あるいは10ページにもなったノートの中から数行の式をこのサイトに載せて質問した方が、あなたにとって、忘れられない回答が得られると思います。
    • good
    • 0
この回答へのお礼

「短くなるときもある 」ということですが、「同じ側にある線分」は交線lを経由しないのですから必ず短くなるようにおもいます。
そのことを考える必要があるとしたら、円とσとの交点は2つあるから気を付けましょうと いうことかなと、理解してしまいました。

1. 確かにずっと計算してる必要はありませんね。私の考えた方法での計算が時間がかかるものだったということです。

2. 問題は与えられたものではなくて、私自身の目的をかみくだいたものです。ですので、問題を理解していないということは、ありません。

3. 時間がかかる方法についてのご指摘を望んだわけではありません。目的は質問したとおりで、最短経路を求めることですので、2平面のパラメータと、2点のパラメータから、最短経路となる2つのベクトルを求める式が、単純に美しい形てご回答いただけたらと、思っていました。

お礼日時:2017/11/03 12:21

平行でない2平面を、


pi1 : ax+by+cz=d, pi2 : ex+fy+gz=h とするとこれらの交線の方向ベクトルは、
n=(bg-cf, ce-ag, af-be)
です。一方の平面上の定点 P(α, β, γ) から交線に下ろした垂線が最短です。すなわち、
一方の平面上の定点(既知)を P(α, β, γ) とし、
問題の点を、H((bg-cf)*t+(x1), (ce-ag)*t+(y1), (af-be)*t+(z1)) とすると、
n//(PH) ⇔ n・PH=0 (内積)
です。文字定数が具体的な数値であるとき、上記計算により「H」がわかり最短距離が求まります。
---------------------
「なかなか解決しない」とありますが、どこがわからないのでしょうか?
    • good
    • 0

異なる2点を結ぶ線分が最短距離です。

 2つの平面をπ,σとして、2平面の交線をlとしましょう。
平面π,σ上にある点をそれぞれA,Bとします。点Aからlに垂線を引き、交点の足をHとしましょう。
lに垂直で点Aを含む平面τができます。Hもτ平面上にありますから、平面τ上でHを中心にして、半径AHの円を描けば、平面σと2点交わります。
仮に1点ならその時はA=H。すなわちAはl上にあります。このときはA,Bともσ上にあることになりつまらない。
平面σと2点で交わる点をA',A''としましょう。点A',A''のどちらかは、交線lを境にしたときBと同じ領域(側)にある。同じ領域に入らない方の点とBを結ぶ線分が、lと交わる点をMとすれば、最先端の経路はA→M→Bでしょうか。
 問題 なぜ平面σ上に載る、2点A',A''においてlを境界線と考えた時、交線lと同じ側にある点(A' か,A'')とBを結んだ線分の方が最短になるときもあると、考えないのでしょうか。
    • good
    • 0
この回答へのお礼

2点が近づく方向に回転させたらだめですよ というご注意をいただいたと思っていいですよね?
ありがとうございます。
回転時に2点間実距離が小さくなってないかの検算をいれます。

お礼日時:2017/11/03 01:31

2平面がどんな角度で交わっていても答は同じ。

なので、2平面を交線のところでぱかっと開いて平らに伸ばす。すると、2点を結ぶ線分がお求めの経路です。
    • good
    • 0
この回答へのお礼

ありがとうございます
計算してみます
一生懸命 経路の長さを直線上の位置で微分してました。
4次しきになって、ノート10ページくらい使って、結果がでないという体たらくです。

お礼日時:2017/11/03 00:28

交線を軸として一方の平面を回転して重ねる. そうすると, 「2点を結ぶ最短経路」は


1平面における「直線上の点を通るような, ある点から別の点までの最短経路」
の問題に帰着される. 終わり.
    • good
    • 0
この回答へのお礼

なるほど
平面共有直線だし→ロドリゲス回転公式(直線,面法線間角度)で1点を回転→点間線分と直線との交点か!
頭がかたくなってました。
ありがとうございます。
やってみます。

お礼日時:2017/11/03 00:21

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!