AArcNerine
Espace de développement avec IA

Angles au centre de la sphère unité

Renvoyez en radians l’angle central entre positions sphériques dont les latitudes restent dans ±90 et les longitudes dans ±180 degrés.

● ● ●ArcNerine●
Méthodes de travail · Angles au centre de la sphère unité ×
from math import asin, cos, isfinite, radians, sin, sqrt
def central_angle(lat1, lon1, lat2, lon2):
    values = (lat1, lon1, lat2, lon2)
    if any(type(x) not in (int, float) or not -limit <= x <= limit
           or not isfinite(x) for x, limit in zip(values, (90, 180, 90, 180))):
        raise ValueError("bounded finite coordinates")
    p, q = radians(lat1), radians(lat2)
    a = sin((q-p)/2)**2 + cos(p)*cos(q)*sin(radians(lon2-lon1)/2)**2
    return 2 * asin(sqrt(min(1.0, max(0.0, a))))
✳Renvoyez en radians l’angle central entre positions sphériques dont les latitudes restent dans ±90 et les longitudes dans ±180 degrés.
✓ ModificationsVérifiez avant d’appliquer ↗
Illustration de l’espace de travail
  1. Modèles

    Configurez un endpoint compatible OpenAI ou Anthropic avec son URL de base et une clé API si nécessaire. Testez la connexion. Un serveur local doit fonctionner ; les outils distants peuvent transmettre des données séparément.

  2. Projet

    Testez coïncidence et antipodes, en rejetant les coordonnées non finies sans supposer un rayon terrestre.

  3. Vérifiez avant d’appliquer

    Comparez le comportement observé au résultat attendu. Si une vérification échoue, cherchez la cause avant de poursuivre les modifications.

Méthodes de travail

Angles au centre de la sphère unité

Méthodes de travail ↗
Méthodes de travail
from math import asin, cos, isfinite, radians, sin, sqrt
def central_angle(lat1, lon1, lat2, lon2):
    values = (lat1, lon1, lat2, lon2)
    if any(type(x) not in (int, float) or not -limit <= x <= limit
           or not isfinite(x) for x, limit in zip(values, (90, 180, 90, 180))):
        raise ValueError("bounded finite coordinates")
    p, q = radians(lat1), radians(lat2)
    a = sin((q-p)/2)**2 + cos(p)*cos(q)*sin(radians(lon2-lon1)/2)**2
    return 2 * asin(sqrt(min(1.0, max(0.0, a))))
Espace de développement avec IA

Préservez les conventions de coordonnées tout au long de la modification

ArcNerine offre au travail logiciel sur les coordonnées un espace Windows d’examen du code et de conversation avec une IA. Apportez les fichiers du projet et expliquez ce que représentent les nombres entrants avant de demander une modification d’implémentation. Les unités, l’ordre des coordonnées et les plages acceptées font partie du comportement ; ils doivent donc figurer dans la demande avec le calcul à ajuster.

L’exemple d’angle central sur une sphère unité fournit une tâche utile d’examen. Demandez au modèle connecté de suivre des entrées exprimées en degrés dans une routine renvoyant des radians, puis examinez l’utilisation de ce résultat par l’appelant. Comparez des positions confondues et opposées et discutez du rejet des valeurs non finies. Réunir ces cas aide à repérer lorsqu’une modification du code change une hypothèse d’interface plutôt que la seule arithmétique.

Examinez le correctif proposé en gardant en vue les contrôles d’entrée et le consommateur de la sortie. Exécutez les cas de référence du projet et vérifiez explicitement chaque règle de conversion ou d’affichage. Un modèle sans filtrage peut vous aider s’il est disponible via un point de terminaison compatible OpenAI ou Anthropic pris en charge, configuré avec les identifiants requis. Les outils et limites de contexte proviennent de ce modèle et du serveur. L’objectif est une modification applicative dont les conventions restent cohérentes, la tâche géométrique illustrée fournissant un moyen concret de vérifier le travail.

Questions de coordonnées pour un examen de code

La sortie de l’exemple est-elle une distance en kilomètres ?

C’est un angle central en radians sur une sphère unité. L’interpréter comme une distance physique exige un modèle et un choix de rayon supplémentaires. Examinez l’appelant pour qu’il ne présente pas un résultat angulaire comme une distance sans cette conversion explicite.

Que préciser sur la latitude et la longitude ?

Indiquez leur ordre, leurs unités et les plages prises en charge, puis incluez ces attentes dans les jeux d’essai. Demandez à l’assistant d’examiner la source des données et le consommateur autant que la fonction, puisqu’un argument inversé peut rester un nombre valide.

Quelles positions constituent des cas de référence utiles ?

Utilisez des positions confondues et antipodales avec un cas intermédiaire simple dont l’angle attendu est connu. Vérifiez séparément le rejet des entrées non finies et hors plage, pour qu’un résultat géométrique réussi ne masque pas un affaiblissement de la validation.

Un écrêtage doit-il remplacer la validation des entrées ?

Non. Examinez la raison de l’écrêtage numérique et gardez explicites les contrôles de coordonnées acceptées. Gérer les arrondis dans un calcul diffère de l’acceptation d’entrées applicatives invalides ; chaque comportement doit être testé selon ses propres exigences déclarées.

Télécharger pour Windows ↗

ArcNerine · Mis à jour 2026-10-25