AArcNerine
AI-werkruimte voor code

Middelpuntshoeken op de eenheidsbol

Geef de middelpuntshoek in radialen tussen bolposities met breedtegraden binnen ±90 en lengtegraden binnen ±180 graden.

● ● ●ArcNerine●
Werkprocessen · Middelpuntshoeken op de eenheidsbol ×
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))))
✳Geef de middelpuntshoek in radialen tussen bolposities met breedtegraden binnen ±90 en lengtegraden binnen ±180 graden.
✓ WijzigingenControleer vóór het toepassen ↗
Illustratie van de werkruimte
  1. Modellen

    Stel een OpenAI-compatibel of Anthropic-endpoint in met de basis-URL en zo nodig een API-sleutel. Test de verbinding. Een lokale modelserver moet actief zijn; externe hulpmiddelen kunnen apart gegevens versturen.

  2. Project

    Test samenvallende punten en antipoden en wijs niet-eindige coördinaten af zonder een aardstraal aan te nemen.

  3. Controleer vóór het toepassen

    Vergelijk het werkelijke gedrag met het verwachte resultaat. Onderzoek een mislukte controle voordat je verdergaat met wijzigingen.

Werkprocessen

Middelpuntshoeken op de eenheidsbol

Werkprocessen ↗
Werkprocessen
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))))
AI-werkruimte voor code

Behoud coördinaatconventies tijdens de hele wijziging

ArcNerine biedt een Windows-omgeving voor broncode-inspectie en AI-gesprekken over coördinaatgerelateerde software. Neem de projectbestanden mee en leg uit wat de binnenkomende getallen voorstellen voordat je een implementatiewijziging vraagt. Eenheden, coördinaatvolgorde en geaccepteerde bereiken horen bij het gedrag en dus in het verzoek, naast de berekening die je wilt aanpassen.

Het voorbeeld met middelpuntshoeken op de eenheidsbol biedt een nuttige beoordelingstaak. Vraag het verbonden model invoer in graden te volgen door een routine die radialen teruggeeft en bekijk vervolgens hoe de aanroeper het resultaat gebruikt. Vergelijk samenvallende en tegenoverliggende posities en bespreek geweigerde niet-eindige waarden. Samen laten die gevallen beter zien wanneer een codewijziging een interfaceaanname verandert in plaats van alleen de rekenkunde.

Beoordeel de voorgestelde patch met invoercontroles en uitvoergebruikende code in beeld. Voer de referentiegevallen van je project uit en verifieer elke conversie- of weergaveregel expliciet. Een ongefilterd model kan helpen wanneer het beschikbaar is via een ondersteund OpenAI-compatibel of Anthropic-endpoint met vereiste inloggegevens. Tools en contextlimieten komen van dat model en die server. Het doel is een toepassingswijziging met samenhangende conventies; de geometrische voorbeeldtaak biedt een concrete manier om het werk te controleren.

Coördinaatvragen bij een codebeoordeling

Is de uitvoer van het voorbeeld een afstand in kilometers?

Het is een middelpuntshoek in radialen op een eenheidsbol. Een fysieke afstandsinterpretatie vereist een extra model en een gekozen straal. Bekijk de aanroeper, zodat die een hoekresultaat niet zonder expliciete conversie als afstand labelt.

Wat moet ik over breedtegraad en lengtegraad vastleggen?

Leg volgorde, eenheden en ondersteunde bereiken vast en neem die verwachtingen op in de testgevallen. Vraag de assistent naast de functie ook gegevensbron en gebruikende code te bekijken, want een verwisseld argument kan nog steeds een geldig getal zijn.

Welke posities zijn nuttige referentiegevallen?

Gebruik samenvallende en antipodale posities naast een eenvoudig tussengeval met een bekende verwachte hoek. Controleer geweigerde niet-eindige invoer en invoer buiten bereik apart, zodat een geslaagd geometrisch resultaat geen verzwakte invoergrens verbergt.

Mag begrenzing invoervalidatie vervangen?

Nee. Beoordeel waarom numerieke begrenzing aanwezig is en houd controles op geaccepteerde coördinaten expliciet. Afronding binnen een berekening afhandelen verschilt van ongeldige toepassingsinvoer accepteren; beide gedragingen moeten volgens hun eigen vastgelegde eisen worden getest.

Download voor Windows ↗

ArcNerine · Bijgewerkt 2026-10-25