名前空間
変種
操作

std::atan2

提供: cppreference.com
< cpp‎ | numeric‎ | math

 
 
 
一般的な数学関数
関数
基本的な演算
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)(C++11)(C++11)
指数関数
(C++11)
(C++11)
(C++11)
(C++11)
冪関数
(C++11)
(C++11)
三角関数と双曲線関数
(C++11)
(C++11)
(C++11)
誤差関数とガンマ関数
(C++11)
(C++11)
(C++11)
(C++11)
最も近い整数
(C++11)(C++11)(C++11)
(C++11)
(C++11)
(C++11)(C++11)(C++11)
浮動小数点操作関数
(C++11)(C++11)
(C++11)
(C++11)
(C++11)(C++11)
(C++11)
分類および比較
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
マクロ定数
(C++11)(C++11)(C++11)(C++11)(C++11)
 
ヘッダ <cmath> で定義
float       atan2( float y, float x );
(1)
double      atan2( double y, double x );
(2)
long double atan2( long double y, long double x );
(3)
Promoted    atan2( Arithmetic y, Arithmetic x );
(4) (C++11およびそれ以降)
正しく象限を決定するための引数の符号を用いてy/xの逆正接を計算.
Original:
Computes the inverse tangent of y/x using the signs of arguments to correctly determine quadrant.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
4)
いずれかの引数が整数型を持つ場合、それはdoubleにキャストされます。他の引数はlong doubleあれば、戻り値の型はlong double、それ以外の場合はdoubleです.
Original:
If any argument has integral type, it is cast to double. If any other argument is long double, then the return type is long double, otherwise it is double.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

目次

[編集] パラメータ

x, y -
浮動小数点値
Original:
floating point value
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[編集] 値を返します

y/xラジアンの範囲のラジアンで表わした[-π; π]のアークタンジェント.
Original:
Arc tangent of y/x in radians in the range of [-π; π] radians.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Return value
math-atan2.png
X argument

[編集]

#include <cmath>
#include <utility>
#include <iostream>
 
std::pair<double, double> cartesian_to_polar(double x, double y)
{
    return {std::hypot(x, y), std::atan2(y,x)};
}
 
int main()
{
    std::pair<double, double> polar = cartesian_to_polar(1, 1);
    std::cout << "(1,1) cartesian is (" << polar.first
               << "," << polar.second<< ") polar\n";
}

出力:

(1,1) cartesian is (1.41421,0.785398) polar


[編集] 参照

逆正接 (arctan(x)) を計算します
(関数) [edit]
逆正弦 (arcsin(x)) を計算します
(関数) [edit]
逆余弦 (arccos(x)) を計算します
(関数) [edit]
正接 (tan(x)) を計算します
(関数) [edit]