<QtMath> - Generic Math Functions
<QtMath> ヘッダーファイルは様々な数学関数を提供します。詳細...
Header: | #include <QtMath> |
関数
auto | qAcos(T v) |
auto | qAsin(T v) |
auto | qAtan2(T1 y, T2 x) |
auto | qAtan(T v) |
int | qCeil(T v) |
auto | qCos(T v) |
double | qDegreesToRadians(double degrees) |
float | qDegreesToRadians(float degrees) |
(since 6.0) long double | qDegreesToRadians(long double degrees) |
auto | qExp(T v) |
auto | qFabs(T v) |
int | qFloor(T v) |
(since 6.1) auto | qHypot(F first, Fs... rest) |
(since 6.1) auto | qHypot(Tx x, Ty y) |
(since 6.1) auto | qHypot(Tx x, Ty y, Tz z) |
auto | qLn(T v) |
quint32 | qNextPowerOfTwo(quint32 value) |
quint32 | qNextPowerOfTwo(qint32 value) |
quint64 | qNextPowerOfTwo(qint64 value) |
quint64 | qNextPowerOfTwo(quint64 value) |
auto | qPow(T1 x, T2 y) |
double | qRadiansToDegrees(double radians) |
float | qRadiansToDegrees(float radians) |
(since 6.0) long double | qRadiansToDegrees(long double radians) |
auto | qSin(T v) |
auto | qSqrt(T v) |
auto | qTan(T v) |
詳しい説明
これらの関数は、Cや標準テンプレートライブラリでは利用できない基本的な数学演算のための便利な定義です。
また、POSIX で指定されているが C++ 標準には存在しない定数も定義されています(そのため、プラットフォームによっては <math.h> に存在しません):
定数 | 説明 |
---|---|
M_E | 自然対数の底、e = exp(1) |
M_LOG2E | eの底2の対数 |
M_LOG10E | eの10進対数 |
M_LN2 | 2の自然対数 |
M_LN10 | 10の自然対数 |
M_PI | 円の円周と直径の比、π |
M_PI_2 | 半分のM_PI、π / 2 |
M_PI_4 | 四分の一M_PI、π / 4 |
M_1_PI | M_PIの逆数、1 / π |
M_2_PI | M_PIの逆数の2倍、2 / π |
M_2_SQRTPI | 2をπの平方根で割ったもの、2 / √π |
M_SQRT2 | 2の平方根、√2 |
M_SQRT1_2 | 半分の平方根、1 / √2 |
関数説明
template <typename T> auto qAcos(T v)
ラジアン単位の角度としてv のアークコシンを返す。アークコサインはコサインの逆演算である。
qAtan()、qAsin()、qCos()も参照のこと 。
template <typename T> auto qAsin(T v)
arcsine関数は、v のアークサインをラジアン単位の角度として返します。アークサインはサイン(sine)の逆演算です。
template <typename T1, typename T2> auto qAtan2(T1 y, T2 x)
y およびx の座標で指定された点のアークタンジェントを返します。この関数は、その点の角度(引数)を返す。
template <typename T> auto qAtan(T v)
この関数は、v のアークタンジェントをラジアン単位の角度として返します。アークタンジェントはタンジェントの逆演算です。
template <typename T> int qCeil(T v)
ceiling関数は、値v の上限を返します。
上限は、v より小さくない最小の整数です。例えば、v が 41.2 の場合、上限は 42 です。
qFloor()も参照 。
template <typename T> auto qCos(T v)
cos関数は、角度v の余弦をラジアン単位で返します。
[constexpr]
double qDegreesToRadians(double degrees)
この関数は、double のdegrees をラジアンに変換する。
例:
double degrees = 180.0 double radians = qDegreesToRadians(degrees)
qRadiansToDegrees() も参照 。
[constexpr]
float qDegreesToRadians(float degrees)
この関数は、浮動小数点数degrees をラジアンに変換します。
例:
float degrees = 180.0f float radians = qDegreesToRadians(degrees)
qRadiansToDegrees() も参照 。
[constexpr, since 6.0]
long double qDegreesToRadians(long double degrees)
この関数は、double のdegrees をラジアンに変換します。
この関数は Qt 6.0 で導入されました。
qRadiansToDegrees()も参照して ください。
template <typename T> auto qExp(T v)
v のべき乗に対するe
の指数関数を返します。
qLn()も参照して ください。
template <typename T> auto qFabs(T v)
v の絶対値を返します。
template <typename T> int qFloor(T v)
floor関数は、値v の階数を返します。
階数は、v より大きくない最大の整数です。例えば、v が 41.2 の場合、階数は 41 です。
qCeil()も参照 。
[since 6.1]
template <typename F, typename... Fs> auto qHypot(F first, Fs... rest)
任意の多次元における原点からの距離を返します。
これは、std::hypot() がサポートする2引数形式および3引数形式と同様であるが、数値パラメータを渡したい数だけ渡すことができる。first 、rest のそれぞれを座標として使用し、それぞれを二乗するのと同等の計算を行い、合計して平方根を返します。アンダーフローとオーバーフローは可能な限り回避されます。
この関数は Qt 6.1 で導入されました。
qSqrt()も参照してください 。
[since 6.1]
template <typename Tx, typename Ty> auto qHypot(Tx x, Ty y)
これはオーバーロードされた関数です。
原点 (0, 0) からの点 (x,y) の距離を返します。
これはqSqrt(x * x + y * y) で、最適化されています。特に、アンダーフローとオーバーフローを避けることができる。
std::hypot()と同じ浮動小数点型を返す。どちらかのパラメータが無限大であれば結果も無限大となり、そうでなければどちらかがNaNであれば結果も無限大となる。
この関数は Qt 6.1 で導入されました。
qSqrt() およびqAtan2()も参照してください 。
[since 6.1]
template <typename Tx, typename Ty, typename Tz> auto qHypot(Tx x, Ty y, Tz z)
これはオーバーロードされた関数です。
原点 (0, 0, 0) からの点 (x, y, z) の距離を返します。
これはqSqrt(x * x + y * y + z * z)であり、サポートされている場合は最適化される。特に、アンダーフローとオーバーフローを避けることができる。
std::hypot()と同じ浮動小数点型を返す。パラメータが無限大の場合は結果も無限大となり、そうでない場合は NaN となります。
この関数は Qt 6.1 で導入されました。
qSqrt()も参照してください 。
template <typename T> auto qLn(T v)
v の自然対数を返します。 自然対数は底 e を使用します。
qExp() も参照して ください。
[constexpr]
quint32 qNextPowerOfTwo(quint32 value)
この関数は、value より大きい、最も近い 2 のべき乗を返します。 0 の場合は 1 を返し、2^31 以上の値の場合は結果は未定義です。
[constexpr]
quint32 qNextPowerOfTwo(qint32 value)
これはオーバーロードされた関数です。
この関数は、value より大きい 2 のべき乗に最も近い値を返します。 負の値の場合、結果は未定義です。
[constexpr]
quint64 qNextPowerOfTwo(qint64 value)
これはオーバーロードされた関数です。
この関数は、value より大きい 2 の最も近いべき乗を返します。 負の値の場合、結果は未定義です。
[constexpr]
quint64 qNextPowerOfTwo(quint64 value)
この関数は、value より大きい 2 の最も近いべき乗を返します。 0 の場合は 1 を返し、2^63 以上の値の場合は結果は未定義です。
template <typename T1, typename T2> auto qPow(T1 x, T2 y)
y のべき乗に引き上げたx の値を返す。 つまり、x が底、y が指数である。
qSqrt()も参照のこと 。
[constexpr]
double qRadiansToDegrees(double radians)
この関数は、double のradians を度に変換する。
例:
double radians = M_PI double degrees = qRadiansToDegrees(radians)
qDegreesToRadians()も 参照のこと。
[constexpr]
float qRadiansToDegrees(float radians)
この関数は、float のradians を度数に変換する。
例
float radians = float(M_PI) float degrees = qRadiansToDegrees(radians)
qDegreesToRadians() も参照 。
[constexpr, since 6.0]
long double qRadiansToDegrees(long double radians)
この関数は、double のradians を度数に変換します。
この関数は Qt 6.0 で導入されました。
qDegreesToRadians()も参照して ください。
template <typename T> auto qSin(T v)
v 角度の正弦をラジアン単位で返します。
template <typename T> auto qSqrt(T v)
v の平方根を返す。v が負数の場合、この関数は NaN を返す。
template <typename T> auto qTan(T v)
v 関数関数は、角度 の接線をラジアン単位で返す。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。