• ベストアンサー

ベクトルAとBに垂直なベクトルCを求めるには?

ベクトルAとBがあり、その両方に垂直なベクトルを求めたいのですが、 どうすれば良いのでしょうか? 内積を計算した結果で0になるものが直行しているというのはわかるのですが・・・

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

  • ベストアンサー
  • rei00
  • ベストアンサー率50% (1133/2260)
回答No.3

rei00 です。先程の回答違ってますね。alfeim さんがお書きの様に A, B の外積が求めるものですね。 で,あえて内積で頑張るなら次の様になると思います。A, B を三次元ベクトル A (a1, a2, a3), B (b1, b2, b3) とし,求めるベクトルを X (x, y, z) とすると。 垂直=内積0より  a1・x + a2・y + a3・z = 0  b1・x + b2・y + b3・z = 0 これを解いて  x = z・(b3・a2 - a3・b2)/(a1・b2 - b1・a2)  y = z・(b3・a1 - a3・b1)/(a2・b1 - b2・a1) 今,求めるベクトルの大きさが決まっていませんので,x, y, z の比を使って,求めるベクトルは (a2・b3 - b2・a3, a3・b1 - b3・a1, a1・b2 - b1・a2) となります。 つまり A, B の外積になります。なお,3次元上の次元でも同様に出来ると思います(たぶん・・・)。

yosizo
質問者

お礼

丁寧な説明、ありがとうございます。 なぜ外積を使うと垂直なベクトルが求まるのか理解できました。

その他の回答 (3)

  • Umada
  • ベストアンサー率83% (1169/1405)
回答No.4

高等学校の数学や入試問題を解く時に「2つのベクトルのいずれにも垂直なベクトル」を求めるのは、しばしば使う計算です。 原理的には「内積=0」の方程式を二つ立てて解けばよいのですが、まとも計算すると時間ばかりかかります。以下の方法でやれば10秒程度で機械的に出せます。(私も受験生の時に随分お世話になった方法です) 問: ベクトル1 (x1, y1, z1) ベクトル2 (x2, y2, z2) に垂直なベクトルの一つ(x3, y3, z3)を求む 方法: 与えられたベクトルの成分を x1 y1 z1 x1 x2 y2 z2 x2 の順で機械的に並べる。(順に並べて、先頭のx1, x2を尻尾にもう一度並べる) ちょうど行列式のように、x1 y2-x2 y1を作る。対称性からこれが求めるベクトルのz成分(z3)となる。 次に右に一つずれて、y1 z2-y2 z1を作る。これがx成分(x3)になる。 最後にz1 x2-z2 x1を作る。これがy成分(y3)になる。 本質的にはrei00さんの回答と同じなのですが、ツールと割り切ってしまってとにかく速く求められるのがミソです。

yosizo
質問者

お礼

丁寧な説明ありがとうございました。 おかげでなんとかなりそうです。

  • alfeim
  • ベストアンサー率58% (114/195)
回答No.2

ベクトルAとベクトルBの外積が両ベクトルに対して垂直なベクトルだったと思います 3D系で法線求めるのに使ったと思いました "法線 外積" あたりをキーワードにすれば原理も含めて説明してるサイトが見つかると思います

yosizo
質問者

お礼

わかりました。サーチエンジンで検索してみます

  • rei00
  • ベストアンサー率50% (1133/2260)
回答No.1

お書きの様に「内積を計算した結果で0になるもの」を求めれば良いわけですが,何がお分かりにならないのでしょうか? 内積の計算でしょうか。これでしたら,ベクトル X (x1, x2), Y (y1, y2) の内積は「x1・y1 + x2・y2」ですが。 この式をベクトル A, B に対して用いて得られる連立方程式を解けば求まると思います。

関連するQ&A