2点間のなす角度(度)の求め方

[戻る]
MMK 2008/04/24(木) 17:58:05
少しプログラムと趣旨がずれるかもしれませんが、、、、

2点間 A(x,y) B(x,y)のなすタンジェント角度の求め方を
ご存知の方、ご教授願えますでしょうか?
どのようなコードで実現可能でしょうか?

以上宜しくお願い致します。

開発環境VC++6.0 XP

たいちう 2008/04/24(木) 18:03:25
atanとatan2について調べると良いでしょう。

επιστημη [HomePage] 2008/04/24(木) 18:12:29
"2点間がなす角"がわかりません。
角をなすには少なくとも3点ないと。

wclrp ( 'o') 2008/04/25(金) 07:45:12
普通に数学として解けばいい問題なんだろうな。
でもタンジェント角度がわからないので俺にはとけない。

推測だけど
(Ax,Ay) (Bx,By)を通過する直線、これのy=ax+bのaを求めなさい。
みたいなことかな。
0割とかに注意する必要があるな。

επιστημη [HomePage] 2008/04/25(金) 09:00:06
> 推測だけど
> (Ax,Ay) (Bx,By)を通過する直線、これのy=ax+bのaを求めなさい。
> みたいなことかな。

もしもそうならアホみたいな問題だ。

求める傾き = Δy/Δx = (By - Ay) / (Bx - Ax)
# 角度なら atan2(Bx-Ax, By-Ay);
# こんなのわざわざ訊くよなもんかなぁ...

ガラ 2008/04/30(水) 07:51:09
位置ベクトルA(x0,y0) B(x1,y1)がなす角なら、
内積を利用する方法がありますが

επιστημη [HomePage] 2008/04/30(水) 10:13:11
A,Bが原点O(0,0)を挟む角AOB なら内積で求まりますね。
A・B = |A||B|cosθ なので
cosθ = A・B / |A||B|

けどそげなことせいでも atan2(B)-atan2(A) でいぃんぢゃね?

古いスレッドには追加発言できません。