<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) |
| quint64 | qNextPowerOfTwo(quint64 value) |
| quint32 | qNextPowerOfTwo(qint32 value) |
| quint64 | qNextPowerOfTwo(qint64 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言語や標準テンプレートライブラリ(STL)では利用できない基本的な数学演算のための便宜的な定義です。
また、このヘッダーファイルでは、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分の1、π/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 | 2の平方根の半分、1 / √2 |
関数のドキュメント
template <typename T> auto qAcos(T v)
v のアークコサインをラジアン単位の角度として返します。アークコサインはコサインの逆関数です。
qAtan()、qAsin()、およびqCos()も参照してください 。
template <typename T> auto qAsin(T v)
v のアークサインをラジアン単位の角度として返します。アークサインはサインの逆関数です。
qSin()、qAtan()、およびqAcos()も参照してください 。
template <typename T1, typename T2> auto qAtan2(T1 y, T2 x)
座標 `y ` および `x` で指定された点の逆正接を返します。この関数は、その点の角度(引数)を返します。
qAtan() およびqHypot()も参照してください 。
template <typename T> auto qAtan(T v)
v のアークタンジェントを、ラジアン単位の角度として返します。アークタンジェントは、タンジェントの逆関数です。
qTan()、qAcos()、およびqAsin()も参照してください 。
template <typename T> int qCeil(T v)
値 `v` の切り上げ値を返します。
ceilingとは、v 以上となる最小の整数のことです。たとえば、v が41.2の場合、ceilingは42となります。
qFloor()も参照してください 。
template <typename T> auto qCos(T v)
ラジアン単位の角度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)
e のv 乗の指数関数を返します。
qLn()も参照してください 。
template <typename T> auto qFabs(T v)
v の絶対値を返します。
template <typename T> int qFloor(T v)
値 `v` の切り捨て値を返します。
floorとは、v 以下となる最大の整数のことです。たとえば、v が41.2の場合、floorは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)
点 (x,y) から原点 (0, 0) までの距離を返します。
これは、最適化されたqSqrt(x * x + y * y) です。特に、アンダーフローやオーバーフローを回避できる場合があります。
任意の数値型の組み合わせを受け付け、std::hypot() と同じ浮動小数点型を返します。いずれかの引数が無限大の場合、結果も無限大になります。それ以外の場合、いずれかの引数が NaN であれば、結果も NaN になります。
これはオーバーロードされた関数です。
この関数は Qt 6.1 で導入されました。
qSqrt() およびqAtan2()も参照してください 。
[since 6.1] template <
typename Tx,
typename Ty,
typename Tz
>
auto qHypot(Tx x, Ty y, Tz z)
点 (x, y, z) から原点 (0, 0, 0) までの距離を返します。
これは `qSqrt`(x * x + y * y + z * z)に相当し、サポートされている環境では最適化されます。特に、アンダーフローやオーバーフローが回避される場合があります。
任意の数値型の組み合わせを受け付け、std::hypot() と同じ浮動小数点型を返します。いずれかの引数が無限大の場合、結果も無限大になります。それ以外の場合、いずれかの引数が NaN である場合、結果も 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] quint64 qNextPowerOfTwo(quint64 value)
この関数は、value より大きい最も近い2の冪を返します。0の場合は1を返し、2^63以上の値に対しては結果は未定義となります。
[constexpr] quint32 qNextPowerOfTwo(qint32 value)
この関数は、value より大きい、最も近い2の冪を返します。負の値の場合、結果は未定義です。
これはオーバーロードされた関数です。
[constexpr] quint64 qNextPowerOfTwo(qint64 value)
この関数は、value より大きい、最も近い2の冪を返します。負の値の場合、結果は未定義です。
これはオーバーロードされた関数です。
template <typename T1, typename T2> auto qPow(T1 x, T2 y)
x の値にy を累乗した値を返します。つまり、x が底、y が指数となります。
qSqrt()も参照してください 。
[constexpr] double qRadiansToDegrees(double radians)
この関数は、double型のradians を度に変換します。
例:
double radians = M_PI;
double degrees = qRadiansToDegrees(radians);関連項目: qDegreesToRadians()。
[constexpr] float qRadiansToDegrees(float radians)
この関数は、浮動小数点数の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 の正接を返します。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.