「C++/Tips/直交座標から角度を求める」の編集履歴(バックアップ)一覧はこちら

C++/Tips/直交座標から角度を求める」(2008/01/18 (金) 00:42:40) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

直交座標 (x, y)から角度θを求める。 arctan( y / x ) の式で求めることができるが、ヘッダ<cmath>に含まれる関数tan()の戻り値は[-π/2 ~ +π/2]となっており、 180度周期であるため、360度周期の角度を求めることができない。 そのため、atan2()を使用する。 <cmath>ヘッダをインクルードし、 atan2( y, x ); のように使う。戻り値は[-π ~ +π]である。 ラジアンから度数法に直すときは、 double angle = ( atan2( y, x ) * 180/PI + 360 ) % 360; とすることで、[0 ~ 359]の値が得られる。
直交座標 (x, y)から角度θを求める。 arctan( y / x ) の式で求めることができるが、ヘッダ<cmath>に含まれる関数tan()の戻り値は[-π/2 ~ +π/2]となっており、 180度周期であるため、360度周期の角度を求めることができない。 そのため、atan2()を使用する。 <cmath>ヘッダをインクルードし、 atan2( y, x ); のように使う。戻り値は[-π ~ +π]である。 ラジアンから度数法に直すときは、 double angle = atan2( y, x ) * 180/PI; とすることで、[0 ~ 360]の値が得られる。 int angle = static_cast<int>( atan2( y, x ) * 180/PI + 360 ) % 360; とすれば、[0 ~ 359]の値が得られる。

表示オプション

横に並べて表示:
変化行の前後のみ表示: