• ベストアンサー

2線の交わる角度を求める式

2線の交わる角度を求める式で、0での除算が発生しない方法を教えて下さい。 座標 線a ax1 = 0 , ay1 = 0 : ax2 = 12 , ay2 = 13 線b bx1 = 6 , by1 = 15: bx2 = 6 , by2 = 2 A=(y13-y0)/(x12-x0) B=(y2-y15)/(x6-x6)   0で除算が発生 2線の交わる角度 tanθ=(A-B)/(1+AB) 片方の線が垂直だと0で除算が発生しまい、うまく計算できません。 なにか他によい方法はないでしょうか。

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

  • ベストアンサー
  • alice_44
  • ベストアンサー率44% (2109/4759)
回答No.1

方向ベクトルの内積を考えて御覧なさい。 α = (ax1,ay1) - (ax2,ay2) β = (bx1,by1) - (bx2,by2) と置くと、2線の交わる角度 θ に関して、 α・β = |α||β|cosθ が成立ちます。これで、cosθ の値が求まります。 cosθ の値から θ を求めるには、 よほど運が良くなければ、 関数電卓を使うことになるでしょう。 求まった θ は鈍角である可能性があります。 θ と π-θ のどちらが答えにふさわしいかは、 個々の例でよく考えて下さい。

その他の回答 (1)

回答No.2

>片方の線が垂直だと0で除算が発生しまい、うまく計算できません。 当然だろう。 tanθは θ=π/2の時は定義できないから(グラフを描けば、直ぐわかるだろう)、1+AB=0の時は別に考えてやれば良い。それだけの事だよ。 余弦定理を使う手もあるが、そこまでは必要ないだろう。

関連するQ&A