La malédiction d'Atan() et l'histoire d'Atan : une histoire de désorientation dans le monde du codage

DDD
Libérer: 2024-10-24 19:02:02
original
962 Les gens l'ont consulté

atan() এর অভিশাপ এবং atan এর কাহিনী: কোডিং জগতে দিশা হারানোর গল্প

Bonjour les codeurs pirates ?‍☠️ Vous êtes-vous déjà retrouvé perdu dans la mer du codage, essayant juste de comprendre l'angle en utilisant atan(), et frustré de ne pas trouver le bonne direction. tu n'es pas seul Aujourd'hui, nous partons à l'aventure, où nous trouverons le trésor appelé atan2() en PHP. Voyons pourquoi atan() peut vous mettre en danger, tandis que atan2() vous amènera au port en toute sécurité.

Commençons alors le voyage. ⛵

Imaginez que vous avez une carte au trésor. On parle d'une île sur laquelle on navigue jusqu'à un point (x, y) sur la carte. Vous pouvez utiliser atan(), mais arrêtez ! Ce n'est qu'une partie de l'histoire. atan() peut vous emmener directement au casier de Davy Jones, ou pire, à une base de code pleine de bugs. ? Donc si vous voulez suivre le bon chemin, vous avez besoin d'atan2(), le capitaine Jack Sparrow de cette histoire.

L'histoire de la malédiction d'Atan()

Cette fonction atan() peut être trouvée dans presque toutes les langues. On parle de php. atan() est principalement utilisé pour calculer des angles. Mais voici un problème : atan() ne se soucie que du rapport y/x, peu importe le quadrant dans lequel vous vous trouvez. Si vous commencez à lui faire entièrement confiance, vous constaterez peut-être que vous allez dans la mauvaise direction. Pourquoi? Parce que atan() ne renvoie pas l'image entière, il indique uniquement l'angle par rapport au premier quadrant.

Pourquoi ? Parce que atan() ne donne pas l'image entière, il indique uniquement l'angle par rapport au premier quadrant. Cela signifie que lorsque vous allez vers l’ouest, vous devriez en fait voyager vers l’est ! atan2(), en revanche, prend en compte les coordonnées x et y et, comme une bonne boussole, sait exactement dans quel quadrant vous vous trouvez.

Apprenons maintenant un peu plus sur la différence entre ces 2.

Différence entre atan() et atan2()

Maintenant, disons-le en langage codé :

  • atan() calcule l'arctangente du rapport y/x, mais ne connaît pas l'intégralité de l'image. La cible est-elle dans le deuxième quadrant ? Troisième? atan() n'en a aucune idée et ne s'en soucie même pas.

Le paramètre de la fonction atan() est un nombre, qui est la valeur du rapport y/x, où y et x sont deux variables ou valeurs numériques.

 atan(float $num): float
Copier après la connexion
Copier après la connexion
  • D'un autre côté, atan2() sait exactement où se trouve le point (x, y) et renvoie l'angle correct dans n'importe quel quadrant.
Les paramètres de la fonction

atan2() sont 2.

  • $y : valeur de la coordonnée Y.
  • $x : valeur de la coordonnée X.
 atan2(float $y, float $x): float
Copier après la connexion
Copier après la connexion

Essayons de comprendre le sujet avec un exemple.

// $y এবং $x এর মান নির্ধারণ
$y = 5;
$x = -10;

// atan() ব্যবহার - শুধুমাত্র y/x অনুপাত জানে
$angle1 = atan($y / $x);
echo "atan() angle: " . rad2deg($angle1) . " degrees\n";
// Outputs: -26.57 degrees

// atan2() ব্যবহার - $x এবং $y উভয়ই বিবেচনায় নেয়
$angle2 = atan2($y, $x);
echo "atan2() angle: " . rad2deg($angle2) . " degrees\n";
// Outputs: 153.43 degrees
Copier après la connexion

Comme vous pouvez le voir dans l'exemple, atan() renvoie un angle. Mais la direction n’est pas révélatrice. Autrement dit, on ne sait pas dans quel quadrant vous vous trouvez. En revanche, la valeur que l'on obtient avec la fonction atan2() montre clairement que le point (x, which) est dans le 2ème quadrant. Nous pouvons maintenant facilement comprendre dans quelle direction se trouve l’île au trésor.

?Radians vs Degrés (Ce ne sont pas que des mathématiques, c'est de la vie !)

Les fonctions atan() et atan2() de PHP vous donnent un angle en radians. Ce qui ressemble à une blague ! Ne vous inquiétez pas, c'est juste une méthode différente pour mesurer les angles. Pour que les humains et les pirates comprennent, je l'ai converti en degrés en utilisant la fonction rad2deg().

Mes propres atan() et atan2()

Essayons maintenant de nous approprier atan() et atan2(), pour mieux comprendre leur fonctionnement.

⚠️ Si vous avez l'impression que cela vous dépasse, sautez cette section ! ?

Créons atan()

atan() calcule l'arctangente d'un nombre. Une façon de se rapprocher de cette fonction consiste à utiliser la série de Gregory. Voici une série couramment utilisée pour atan(z) :

atan( x)n=0(1)nx2n 12n 1 ici(x) approx sum_{n=0}^{infty} frac{(-1)^n x^{2n 1}}{2n 1} ici(x)≈n=0 2n 1 (−1)n x2n 1

qui, s'il est écrit un peu plus droit, est -

atan( x)xx33 x5 5x77 atan(x) environ x - frac{x^3}{3} frac{x^5}{5} - frac{x^7}{7}ldots atan(x)≈x−3x3 5x57x7

Écrivons maintenant cette série en code

 atan(float $num): float
Copier après la connexion
Copier après la connexion

Créons atan2()

Nous allons maintenant utiliser la fonction atan() pour créer

atan2(). La tâche principale de cette fonction est d'identifier uniquement le quadrant correct. Alors pourquoi tarder, écrivons -

 atan2(float $y, float $x): float
Copier après la connexion
Copier après la connexion

Laisse-moi te raconter toute l'histoire maintenant

Maintenant, examinons les résultats des quatre quadrants et expliquons chaque quadrant :

  • Premier quadrant (Quadrant I) : quand x=10x = 10x=10 Et y=5y = 5y=5 Alors atan($y / $x) vaut 26,57 degrés et atan2($y, $x) vaut 26,56 degrés. Ici dans les deux cas c'est au premier trimestre.
  • Deuxième quadrant (Quadrant II) : quand x=10x = -10 x=−10 Et y=5y = 5y=5 Alors atan($y / $x) vaut -26,57 degrés et atan2($y, $x) vaut 153,43 degrés. Ici, atan2() indique clairement le deuxième trimestre.
  • Troisième quadrant (Quadrant III) : quand x=10x = -10 x=−10 Et y=5y = -5 y=−5 Alors atan($y / $x) vaut -26,57 degrés et atan2($y, $x) vaut -233,43 degrés. C'est au troisième trimestre.
  • Quatrième quadrant (quadrant IV) : quand x=10x = 10x=10 Et y=5y = -5 y=−5 Alors atan($y / $x) vaut -26,57 degrés et atan2($y, $x) vaut -26,56 degrés. Le voici au quatrième trimestre.

☠️ Apprendre de ses erreurs

Alors la prochaine fois que vous naviguerez dans l'océan dangereux des angles et des coordonnées, ne comptez pas uniquement sur atan(). Utilisez atan2() et dirigez votre vaisseau dans la bonne direction à chaque fois. C'est la boussole qui vous gardera à l'écart du redoutable casier d'erreurs de calcul de Davy Jones !

J'espère que votre voyage au trésor se passe bien.

Si vous souhaitez en savoir plus sur atan() et atan2(), visitez les liens suivants :

  • https://www.php.net/manual/en/function.atan.php
  • https://www.php.net/manual/en/function.atan2.php

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!