<QtMath> - Generic Math Functions
Le fichier d'en-tête <QtMath> fournit diverses fonctions mathématiques. En savoir plus...
| Header: | #include <QtMath> |
Fonctions
| 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) |
Description détaillée
Ces fonctions sont en partie des définitions pratiques pour des opérations mathématiques de base qui ne sont pas disponibles dans le langage C ou dans les bibliothèques de modèles standard.
L'en-tête garantit également la définition de certaines constantes spécifiées dans POSIX, mais absentes des normes C++ (et donc de <math.h> sur certaines plateformes) :
| Constante | Description |
|---|---|
M_E | La base des logarithmes naturels, e = exp(1) |
M_LOG2E | Le logarithme en base deux de e |
M_LOG10E | Le logarithme décimal de e |
M_LN2 | Le logarithme naturel de deux |
M_LN10 | Le logarithme naturel de dix |
M_PI | Le rapport entre la circonférence et le diamètre d'un cercle, π |
M_PI_2 | La moitié de M_PI, π / 2 |
M_PI_4 | Un quart de π, π / 4 |
M_1_PI | L'inverse de M_PI, 1 / π |
M_2_PI | Le double de l'inverse de M_PI, 2 / π |
M_2_SQRTPI | Deux divisé par la racine carrée de pi, 2 / √π |
M_SQRT2 | La racine carrée de deux, √2 |
M_SQRT1_2 | La racine carrée de la moitié, 1 / √2 |
Documentation sur les fonctions
template <typename T> auto qAcos(T v)
Renvoie l'arccosinus de v sous forme d'angle en radians. L'arccosinus est l'opération inverse du cosinus.
Voir également qAtan(), qAsin() et qCos().
template <typename T> auto qAsin(T v)
Renvoie l'arc sinus de v sous forme d'angle en radians. L'arc sinus est l'opération inverse du sinus.
Voir également qSin(), qAtan() et qAcos().
template <typename T1, typename T2> auto qAtan2(T1 y, T2 x)
Renvoie l'arctangente d'un point défini par les coordonnées y et x. Cette fonction renvoie l'angle (argument) de ce point.
Voir également qAtan() et qHypot().
template <typename T> auto qAtan(T v)
Renvoie l'arctangente de v sous forme d'angle en radians. L'arctangente est l'opération inverse de la tangente.
Voir également qTan(), qAcos() et qAsin().
template <typename T> int qCeil(T v)
Renvoie le plafond de la valeur v.
Le plafond est le plus petit entier non inférieur à v. Par exemple, si v vaut 41,2, alors le plafond est 42.
Voir également qFloor().
template <typename T> auto qCos(T v)
Renvoie le cosinus d'un angle v en radians.
Voir également qSin() et qTan().
[constexpr] double qDegreesToRadians(double degrees)
Cette fonction convertit l'degrees e en double en radians.
Exemple :
double degrees = 180.0;
double radians = qDegreesToRadians(degrees);Voir aussi qRadiansToDegrees().
[constexpr] float qDegreesToRadians(float degrees)
Cette fonction convertit l'degrees e en nombre à virgule flottante en radians.
Exemple :
float degrees = 180.0f;
float radians = qDegreesToRadians(degrees);Voir aussi qRadiansToDegrees().
[constexpr, since 6.0] long double qDegreesToRadians(long double degrees)
Cette fonction convertit l'degrees e en double en radians.
Cette fonction a été introduite dans Qt 6.0.
Voir aussi qRadiansToDegrees().
template <typename T> auto qExp(T v)
Renvoie la fonction exponentielle de e à la puissance v.
Voir aussi qLn().
template <typename T> auto qFabs(T v)
Renvoie la valeur absolue de ` v`.
template <typename T> int qFloor(T v)
Renvoie la partie entière inférieure de la valeur v.
La partie entière inférieure est le plus grand entier inférieur ou égal à v. Par exemple, si v vaut 41,2, la partie entière inférieure est 41.
Voir également qCeil().
[since 6.1] template <typename F, typename... Fs> auto qHypot(F first, Fs... rest)
Renvoie la distance par rapport à l'origine dans un nombre arbitraire de dimensions
Cela fonctionne de la même manière que les formes à deux et trois arguments prises en charge par std::hypot(), mais avec autant de paramètres numériques que vous le souhaitez. Elle utilise first et chacun des rest comme coordonnées, effectuant un calcul équivalent à l'élévation au carré de chacun d'entre eux, à leur sommation et au calcul de la racine carrée, à la différence près que les débordements vers le bas et vers le haut sont évités autant que possible.
Cette fonction a été introduite dans Qt 6.1.
Voir également qSqrt().
[since 6.1] template <typename Tx, typename Ty> auto qHypot(Tx x, Ty y)
Renvoie la distance d'un point (x, y) par rapport à l'origine (0, 0).
Il s'agit de la formule qSqrt(x * x + y * y), optimisée. En particulier, cela permet d'éviter les dépassements de capacité vers le bas et vers le haut.
Accepte n'importe quelle combinaison de types numériques et renvoie le même type à virgule flottante que std::hypot(). Si l'un des paramètres est infini, le résultat l'est également ; sinon, si l'un des paramètres est une valeur NaN, le résultat l'est également.
Il s'agit d'une fonction surchargée.
Cette fonction a été introduite dans Qt 6.1.
Voir également qSqrt() et qAtan2().
[since 6.1] template <
typename Tx,
typename Ty,
typename Tz
>
auto qHypot(Tx x, Ty y, Tz z)
Renvoie la distance d'un point (x, y, z) par rapport à l'origine (0, 0, 0).
Il s'agit d'une version optimisée de qSqrt(x * x + y * y + z * z), lorsque cela est pris en charge. En particulier, les débordements vers le bas et vers le haut peuvent être évités.
Accepte n'importe quelle combinaison de types numériques et renvoie le même type à virgule flottante que std::hypot(). Si un paramètre est infini, le résultat l'est également ; sinon, si l'un d'entre eux est NaN, le résultat l'est également.
Il s'agit d'une fonction surchargée.
Cette fonction a été introduite dans Qt 6.1.
Voir également qSqrt().
template <typename T> auto qLn(T v)
Renvoie le logarithme naturel de v. Le logarithme naturel a pour base e.
Voir également qExp().
[constexpr] quint32 qNextPowerOfTwo(quint32 value)
Cette fonction renvoie la puissance de deux la plus proche supérieure à value. Pour 0, elle renvoie 1 ; pour les valeurs supérieures ou égales à 2^31, le résultat n'est pas défini.
[constexpr] quint64 qNextPowerOfTwo(quint64 value)
Cette fonction renvoie la puissance de deux la plus proche supérieure à value. Pour 0, elle renvoie 1 ; pour les valeurs supérieures ou égales à 2^63, le résultat n'est pas défini.
[constexpr] quint32 qNextPowerOfTwo(qint32 value)
Cette fonction renvoie la puissance de deux la plus proche supérieure à value. Pour les valeurs négatives, le résultat n'est pas défini.
Il s'agit d'une fonction surchargée.
[constexpr] quint64 qNextPowerOfTwo(qint64 value)
Cette fonction renvoie la puissance de deux la plus proche supérieure à value. Pour les valeurs négatives, le résultat n'est pas défini.
Il s'agit d'une fonction surchargée.
template <typename T1, typename T2> auto qPow(T1 x, T2 y)
Renvoie la valeur de x élevée à la puissance y. Autrement dit, x est la base et y est l'exposant.
Voir également qSqrt().
[constexpr] double qRadiansToDegrees(double radians)
Cette fonction convertit l'radians e en double en degrés.
Exemple :
double radians = M_PI;
double degrees = qRadiansToDegrees(radians);Voir aussi qDegreesToRadians().
[constexpr] float qRadiansToDegrees(float radians)
Cette fonction convertit l'radians e exprimée en flottant en degrés.
Exemple :
float radians = float(M_PI);
float degrees = qRadiansToDegrees(radians);Voir aussi qDegreesToRadians().
[constexpr, since 6.0] long double qRadiansToDegrees(long double radians)
Cette fonction convertit l'radians e en double en degrés.
Cette fonction a été introduite dans Qt 6.0.
Voir également ` qDegreesToRadians()`.
template <typename T> auto qSin(T v)
Renvoie le sinus de l'angle v en radians.
Voir également qCos() et qTan().
template <typename T> auto qSqrt(T v)
Renvoie la racine carrée de v. Cette fonction renvoie une valeur NaN si v est un nombre négatif.
Voir également qPow() et qHypot().
template <typename T> auto qTan(T v)
Renvoie la tangente d’un angle v en radians.
© 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.