AArcNerine
Spațiu de programare cu AI

Unghiuri centrale pe sfera unitară

Întoarce în radiani unghiul central dintre poziții sferice cu latitudini în ±90 și longitudini în ±180 grade.

● ● ●ArcNerine●
Fluxuri de lucru · Unghiuri centrale pe sfera unitară ×
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))))
✳Întoarce în radiani unghiul central dintre poziții sferice cu latitudini în ±90 și longitudini în ±180 grade.
✓ ModificăriVerifică înainte de aplicare ↗
Ilustrarea spațiului de lucru
  1. Modele

    Configurează un endpoint compatibil OpenAI sau Anthropic cu URL-ul de bază și cheia API, dacă este necesară. Testează conexiunea. Serverul local trebuie să ruleze; instrumentele externe pot transmite date separat.

  2. Proiect

    Testează puncte coincidente și antipode, respingând coordonate nefinite fără a presupune raza Pământului.

  3. Verifică înainte de aplicare

    Compară comportamentul real cu rezultatul așteptat. Dacă o verificare eșuează, cercetează cauza înainte de alte modificări.

Fluxuri de lucru

Unghiuri centrale pe sfera unitară

Fluxuri de lucru ↗
Fluxuri de lucru
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))))
Spațiu de programare cu AI

Păstrează convențiile coordonatelor pe tot parcursul modificării

ArcNerine oferă lucrului software legat de coordonate un spațiu Windows pentru examinarea sursei și o conversație cu IA. Adu fișierele proiectului și explică ce reprezintă numerele de intrare înainte să ceri modificarea implementării. Unitățile, ordinea coordonatelor și intervalele acceptate fac parte din comportament, deci trebuie incluse în cerere alături de calculul pe care vrei să îl ajustezi.

Exemplul unghiului central pe sfera unitate oferă o sarcină utilă de examinare. Cere modelului conectat să urmărească intrarea exprimată în grade printr-o rutină care returnează radiani, apoi examinează cum folosește apelantul rezultatul. Compară poziții coincidente și opuse și discută respingerea valorilor nefinite. Păstrarea acestor cazuri împreună ajută la identificarea situațiilor în care o modificare de cod schimbă o ipoteză a interfeței, nu doar aritmetica.

Examinează corecția propusă având în vedere verificările intrării și codul care folosește ieșirea. Rulează cazurile de referință ale proiectului și verifică explicit orice regulă de conversie sau afișare. Un model nefiltrat poate ajuta când este disponibil printr-un endpoint acceptat compatibil cu OpenAI sau Anthropic, configurat cu credențialele necesare. Instrumentele și limitele contextului provin de la acel model și server. Scopul este o modificare a aplicației ale cărei convenții rămân coerente, sarcina geometrică ilustrativă oferind o modalitate concretă de verificare a lucrului.

Întrebări despre coordonate pentru examinarea codului

Este ieșirea exemplului o distanță în kilometri?

Este un unghi central în radiani pe o sferă unitate. Interpretarea ca distanță fizică necesită un model suplimentar și alegerea razei. Examinează apelantul astfel încât să nu eticheteze un rezultat unghiular drept distanță fără acea conversie explicită.

Ce trebuie să precizez despre latitudine și longitudine?

Precizează ordinea, unitățile și intervalele acceptate, apoi include aceste așteptări în cazurile de test. Cere asistentului să examineze sursa datelor și codul care le folosește, precum și funcția, deoarece un argument inversat poate fi în continuare un număr valid.

Ce poziții sunt utile ca referință?

Folosește poziții coincidente și antipodale, împreună cu un caz intermediar simplu al cărui unghi așteptat este cunoscut. Verifică separat respingerea intrărilor nefinite și din afara intervalului, astfel încât un rezultat geometric reușit să nu ascundă o limită de intrare slăbită.

Ar trebui limitarea numerică să înlocuiască validarea intrării?

Nu. Examinează motivul limitării numerice și păstrează explicite verificările coordonatelor acceptate. Tratarea rotunjirii în interiorul calculului diferă de acceptarea unei intrări nevalide a aplicației, iar ambele comportamente trebuie testate conform propriilor cerințe declarate.

Descarcă pentru Windows ↗

ArcNerine · Actualizat 2026-10-25