• ベストアンサー

3次元座標の計算

任意の2本の直線の始点、終点の座標(x、y、z)がわかっているときその直線同士の最も接近した箇所のそれぞれの直線上の座標を計算する方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • alpha16
  • ベストアンサー率40% (8/20)
回答No.2

いちばん簡単な求め方かどうかはわかりませんが、 過程1 まず、2直線を直線AB,直線CDとし、それぞれの方向ベクトルを     n(ベクトル)、m(ベクトル)としておきます。 過程2 nとmの外積をとり、n×m=p(ベクトル)としておきます。 過程3 さらに、pとnの外積p×n=q(べクトル)をとります。 過程4 このqを法線ベクトルと直線ABを含む平面をもとめます。 過程5 次に、この平面と直線CDの交点を求めます。 この点が、直線ABに最接近する直線CD上の点です。 直線AB上の点は同様に求めるか、あるいは 過程6 直線AB上の点を適当にkなどを使ってあらわす。 過程7 三平方の定理を使って先ほど求めた点との距離をもとめて     それが最小になるkを見つける。    (√の中kの2次式になるので、√の中だけを考える。     決して微分してみたりしない。時間の無駄。     まあ1度やってみるのもいいかも) 過程8 そのkから過程6であらわした直線AB上の点に代入する 距離も出したければ、過程7の式の最小値がそれですね。 kogorou100さんが聞きたいことは、こういう内容のことだと思いますが、 表現の問題として、始点・終点があれば、直線ではなく、線分、 片方だけあれば、半直線といいます。 線分や半直線の場合は求め方が、ちょっと複雑になります。  (基本的には、線分でも半直線でも考え方は一緒なので、以後すべて線分と   書きますが、それは、線分あるいは半直線を意味することとします。) それは、その始点あるいは終点が、最接近点になることもあるからです。 これは、大きくわけると3パターンが考えられ、 1つめは、上の過程5過程8で求めた点のどちらか(あるいは両方)が      対応する線分の始点あるいは終点に一致する場合     (この場合は上の求め方と同様なので、特に問題なし) 2つめは、過程5過程8で求めた点がともに、それぞれが対応する線分      の範囲内に入っていない場合 3つめは、過程5過程8で求めた点のそれぞれが(対応する)片方の線分      の範囲内には入っているが、もう片方の線分の範囲内の入って      いない場合 2の場合は、過程5過程8の最接近点に近いほうの始点同士が、線分の最接近点       です。 3の場合は、過程5過程8の点が範囲からはずれたほうの線分の、始点(過程5       過程8の点に近いほう)が最接近点の1つで、もう1つは、その点       から他の線分への距離が最短になる点を求めればよいと思います。 どうでしょうか? ちなみに、外積はわかりますか? 2つのベクトル両方に直交するベクトルのことですが。 ご存知でなければ、補足します。

kogorou100
質問者

お礼

どうも有り難うございました。私には難しい内容ですが後は、図書館で調べてみます。最終的には上記のa、b、c、dの座標を入力すると接近する箇所の座標e、fをエクセルまたは日本語ベーシッックなどで求められる様にしたいと思います。

その他の回答 (1)

  • Cake0530
  • ベストアンサー率25% (3/12)
回答No.1

 僕国語苦手なんで質問の意味がよく分からなかったんですが、2直線の最短距離がわかれば良いのかな?  外積をご存知なら外積を使えば1番早いと思います。ご存知でないなら、はじめに分かっている2本のベクトルをそれぞれa、bとして、a、bに共に直行するベクトルを内積で強引に出せば良いのでは?

kogorou100
質問者

お礼

どうもありがとうございます。質問の仕方が悪くて申し訳ございません。外積とか初めて聞くことばです。わたしにはレベルが高すぎるようですのでもう少し勉強してみます。

関連するQ&A

  • 座標の計算が分かりません

    RやC面取りからテーパーになる場合に、必要な座標として… 1.面取りの始点 2.面取りの終点(テーパーの始点) 3.コーナーの始点(テーパーの終点) 4.コーナーの終点 以上の4つの座標がX・Z軸共に必要だと思いますが、1.だけは分かりますが残りの2.3.4.は分かりません。 ソフトを使えば計算してくれますが、電卓(手計算)で座標を求めたいのですが、計算方法を教えて頂きたいのですが宜しくお願いします。 どうもありがとうございました。 参考にさせていただきました。 しかし、お恥ずかしい事に、まだ理解が出来ません。 具体的な例として、 旋盤の外径削りにおいて X10 Z-2(始点)から X12 Z-8(終点)で、 各コーナーにR0.5の面取りを取る場合には、 算式はどうなるのか分かりません。

  • 3次元の直線と座標が最短距離となる直線の座標とは?

    先日、質問では2次元の直線と座標が最短距離となる直線の座標を質問させていただきました。 今度は (1)3次元での直線※と任意の(2)座標(x1、y1、z1)があります。 (1)直線と(2)座標が最短距離となる直線上の座標を計算方法を教えて頂ければ幸いです。 ※(x、y、z)=(0,0,0)~(1,1,1)の対角線

  • vb6 指定距離の座標の求め方について

    ご存知の方ご教示願います。 2点の座標からなる線【始点A(X1=10,Y1=10)、終点B(X2=50,Y2=40)】があるとします。 始点Aから終点Bに10進めた時の座標、点C(X3,Y3)を求めたいのですが 計算式がわかりません。宜しくお願いします。 ※点Cの座標は線上とします。

  • 直線と座標が最短距離となる直線の座標について

    (1)直線(例:y=1/2×x)と任意の(2)座標(x1、y1)があります。 (1)直線と(2)座標が最短距離となる直線上の座標を計算方法を教えて!!

  • 2 点を通る直線から延長した先の座標の計算方法

    起点Aが(x10, y15)、中継点Bが(x25, y35)を通る直線があり、 その延長線上に終点Cがあるとします。 終点CのX座標が50である時、Y座標を求める計算方法を教えて欲しいです。 ExcelのVBAでプログラムしたいので、 数学的な特殊記号は用いない計算式でお願いします。 よろしくお願いします。

  • 3次元座標の求め方

    3次元座標の求め方 原点 0,0,0 を中心にした球体面上の正面から見た頂点座標で、 回転による移動後の座標の求め方を知りたいです。 例えば、球面の半径が 100 で、頂点の座標 x1, y1, z1 が 100, 0, 0 にある場合、 Y軸に対してπ/2 rad (90度)回転した座標 x2, y2, z2 は 0, 0, -100 になると思うのですが、 この新たな3つの座標 x2, y2, z2 を導くにはどのように計算しているのでしょうか。 平面上の円運動のように cos sin の組み合わせ等で導き出せるのでしょうか。 x1, y1, z1 から、 Y軸に対してr回転 した場合の各 x2, y2, z3 の出し方 X軸に対してθ回転 した場合の各 x3, y3, z3の出し方 Z軸に対してΘ回転 した場合の各 x4, y4, z4 の出し方 のような形で、導くための計算を順にお教えいただけると嬉しいです。 最終的には、元座標 x, y, z をY軸にr、更にそこからX軸にθ、更にそこからZ軸にΘで X, Y, Z になる、といった形で求められるようになりたいと思っています。 座標は原点 0, 0, 0を中心に 上に行くほどYが「減少」 右に行くほどXが「増加」 奥に行くほどZが「増加」 Y減少 ↑ _ Z増加 │/` ├─→ X増加 という形になっています 自分のわかる限りで質問内容を細かく記述したつもりですが、 数学の知識に乏しいので、記号などの使い方や説明の不備があるかもしれません。 何か不足があった場合には補足させて頂きます。 以上宜しくお願い致します。

  • エクセルである点からの距離で座標を取りたい

    CADと併用になりますが、任意の直線に対して始点・長さなどがわかっているとき(角度は任意ですが線は何本か並行しています) エクセルに記載された始点からの距離を元にX・Y座標を割り出したいのですが、何かいい方法はありませんでしょうか?

  • 3次元で回転させた座標値の計算方法

    点(Ax、Ay、Az)を3次元空間にある、点(Bx、By、Bz)から、点(Cx、Cy、Cz)に向かう直線を軸に任意の角度で回転させたときの、点(A’x、A’y、A’z)の座標値の計算方法を教えてください。ただし自分の数学レベルは中学生並でベクトルが少しだけ理解できるていどです。よろしくお願いします。

  • 座標を求める計算

    第一象限、第二象限、第三象限、第四象限にそれぞれ、(1)(x1,y1)、(2)(x2,y2)、(3)(x3,y3)、(4)(x4,y4)の4点の座標を結んで四角形を作ります。その四角形の4辺の長さと、(1)と(4)を結んでできる直線とx軸の交点と(2)と(3)を結んでできる直線とx軸の交点とを結んでできる線の長さと、(1)と(2)を結んでできる直線とy軸との交点と(3)と(4)を結んでできる直線とy軸との交点とを結んでできる線の長さがわかっているとき、(1)~(4)の座標を求めたいのですが可能でしょうか?できれば、具体的な計算過程を記していただけるとありがたいです。なお、座標の値は実数です。よろしくお願い致します。

  • 3次元座標で距離の求め方

    すいませんが 3次元座標で距離の求め方を知りたいのですが よろしくお願い致します。 以前のを検索したのですが、私の馬鹿な頭ではわかりませんでした。(すいません) 求めたいのは、 基点x,y,zからx1,y1,z1までの直線の距離です。 もし私でもわかりそうな 当てはめるだけの公式があれば、 よろしくお願い致します。m(__)m