AArcNerine
Ambiente de programação com IA

Ângulos centrais na esfera unitária

Retorne em radianos o ângulo central entre posições esféricas com latitudes de ±90 e longitudes de ±180 graus.

● ● ●ArcNerine●
Fluxos de trabalho · Ângulos centrais na esfera unitária ×
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))))
✳Retorne em radianos o ângulo central entre posições esféricas com latitudes de ±90 e longitudes de ±180 graus.
✓ AlteraçõesRevise antes de aplicar ↗
Ilustração do ambiente
  1. Modelos

    Configure um endpoint compatível com OpenAI ou Anthropic com a URL base e uma chave API, quando necessária. Teste a conexão. O servidor local precisa estar em execução; ferramentas remotas podem transmitir dados separadamente.

  2. Projeto

    Teste pontos coincidentes e antípodas, rejeitando coordenadas não finitas sem supor um raio terrestre.

  3. Revise antes de aplicar

    Compare o comportamento real com o resultado esperado. Se uma verificação falhar, investigue a causa antes de fazer outras alterações.

Fluxos de trabalho

Ângulos centrais na esfera unitária

Fluxos de trabalho ↗
Fluxos de trabalho
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))))
Ambiente de programação com IA

Mantenha as convenções de coordenadas em toda a alteração

ArcNerine oferece ao trabalho de software com coordenadas um ambiente Windows para inspeção de código e conversa com IA. Traga os arquivos do projeto e explique o que os números de entrada representam antes de solicitar uma alteração de implementação. Unidades, ordem das coordenadas e intervalos aceitos fazem parte do comportamento e pertencem à solicitação junto do cálculo que você deseja ajustar.

O exemplo de ângulo central na esfera unitária oferece uma tarefa útil de revisão. Peça ao modelo conectado para acompanhar uma entrada em graus por uma rotina que retorna radianos; depois examine como o chamador usa esse resultado. Compare posições coincidentes e opostas e discuta a rejeição de valores não finitos. Manter esses casos juntos ajuda a revelar quando uma edição muda uma premissa da interface, além da aritmética.

Revise a correção proposta considerando as verificações de entrada e o consumidor da saída. Execute os casos de referência do projeto e verifique explicitamente qualquer conversão ou regra de exibição. Um modelo sem filtros pode ajudar quando disponível por um endpoint compatível com OpenAI ou Anthropic aceito, configurado com as credenciais exigidas. Ferramentas e limites de contexto vêm desse modelo e servidor. O objetivo é uma alteração da aplicação cujas convenções permaneçam coerentes, com a tarefa ilustrativa de geometria oferecendo uma maneira concreta de verificar o trabalho.

Dúvidas sobre coordenadas para uma revisão de código

A saída do exemplo é uma distância em quilômetros?

É um ângulo central em radianos numa esfera unitária. Interpretá-lo como distância física exige um modelo adicional e a escolha de um raio. Revise o chamador para que ele não rotule um resultado angular como distância sem essa conversão explícita.

O que especificar sobre latitude e longitude?

Declare sua ordem, unidades e intervalos aceitos e inclua essas expectativas nos casos de teste. Peça ao assistente para examinar a origem dos dados e o consumidor, além da função, pois um argumento trocado ainda pode ser um número válido.

Quais posições oferecem casos úteis de referência?

Use posições coincidentes e antípodas, junto de um caso intermediário simples cujo ângulo esperado seja conhecido. Verifique separadamente a rejeição de entradas não finitas e fora do intervalo, para que um resultado geométrico bem-sucedido não esconda um limite de entrada enfraquecido.

Uma limitação numérica deve substituir a validação de entrada?

Não. Revise por que a limitação numérica está presente e mantenha explícitas as verificações de coordenadas aceitas. Tratar arredondamento dentro de um cálculo é diferente de aceitar uma entrada inválida da aplicação, e ambos os comportamentos devem ser testados conforme seus próprios requisitos declarados.

Baixar para Windows ↗

ArcNerine · Atualizado 2026-10-25