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

原点で交わる2直線A、Bがあり、直線AはXZ平面上にあってX軸と15度をなしており、直線BはXZ平面をZ軸を軸に(反時計方向に)60度回転させた平面上にあってXY平面と20度をなしているとき、2直線によって定義される平面に、Z軸上の任意の点から引かれた垂線とZ軸のなす角度を求めたいのですが・・・。なお。実際には文章中の15度と20度の2つの数値は無理数に置き換えるので、d1、d2という2つの変数を用いた式の形になっていれば充分です。なにやら法線ベクトルという考え方をするらしいのですが、垂線がXY平面に投影された角度については必要ありません。Z軸と垂線とによって定義される平面におけるZ軸と垂線のなす角度がわからないのですが・・・。

「原点で交わる2直線A、Bがあり、直線Aは」の質問画像

A 回答 (3件)

60゜と 20゜の回転の向きが


イマイチはっきりしないのだけれど…
たぶん、
A の方向ベクトルが a = (cos15゜,0,sin15゜)、
B の方向ベクトルが
(cos20゜,0,sin20゜) を 60゜回転して、
b = (cos60゜cos20゜,-sin60゜cos20゜,sin20゜)
ということなんだろうと思う。

Z 軸の方向ベクトル c = (0,0,1) が
A,B の張る平面となす角の余角を求めるのだから、

c と外積 a×b のなす角を求めてもよいし、

c の正射影を sa+tb と置いて
(sa+tb-c)・a = 0,
(sa+tb-c)・b = 0 から s,t を定め、
c と sa+tb-c のなす角を求めてもよい。

ベクトル u と v のなす角 θ は、
u・v = |u||v|cosθ で求められる。
    • good
    • 0

 直線BをZ軸を中心に反時計回りに回転させる角度をφ(=60°)とします。


 また、式の記述を簡略化させるため、直線AがX軸となす角をα(=d1=15°),直線BがXY平面となす角をβ(=d2=20°)とします。

 2直線A、Bの単位方向ベクトルは、次のようになります。

  直線Aの単位方向ベクトル: (cosα,0,sinα)
  直線Bの単位方向ベクトル: (cosβcosφ,cosβsinφ,sinβ)

 ここから2直線A,Bに垂直なベクトルを求めますと、次のようになります。

  2直線A,Bを含む平面の法線ベクトルn: n=(-tanα,tanα/tanφ-tanβ/sinφ,1)  ・・・(1)

 ここで、法線ベクトルnとz軸とがなす角θは、内積の関係から次のように導かれます。

  (0,0,1)・n=|n|cosθ
 ∴cosθ=1/|n|

 ここに式(1)を代入すれば、θは次のように求められます。

  θ=arccos√[1/(cosα)^2+{(tanαcosβcosφ-sinβ)/(cosβsinφ)}^2]
    • good
    • 0
この回答へのお礼

大変わかりやすい回答、有難うございます。これを参考にして、関数電卓で力ずくで計算したいとおもいます。

お礼日時:2010/05/14 17:52

計算を代行してくれた方があるようです。


60゜の回転の向きは、あの質問文ではやはり、
解釈が分かれますね。
    • good
    • 0
この回答へのお礼

わかりにくい表現で、余計なことまでお考え頂き、恐縮です。誤解が生じないような表現を心がけたつもりでしたが、すみませんでした。

お礼日時:2010/05/14 17:56

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