AArcNerine
Рабочая среда с ИИ для кода

Центральные углы единичной сферы

ArcNerine объединяет вычисление углов на сфере с обсуждением Windows-проекта. Сравните соглашения о координатах и численные границы с предложениями модели до правки геометрического кода.

● ● ●ArcNerine●
Конкретная отправная точка · Центральные углы единичной сферы ×
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))))
✳Верните в радианах центральный угол между точками сферы с широтами в ±90 и долготами в ±180 градусов.
✓ ИзмененияПроверьте перед применением ↗
Иллюстрация рабочей среды
  1. Подключение

    Базовый URL, учётные данные и доступный сервер.

  2. Проект

    Проверьте совпадения и антиподы, отклоняя неконечные координаты без предположения о радиусе Земли.

  3. Проверьте перед применением

    Сравните фактическое поведение с ожидаемым. Если проверка не проходит, разберитесь в причине перед следующими изменениями.

Сценарии

Центральные углы единичной сферы

Сценарии ↗
Конкретная отправная точка
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))))
Рабочая среда с ИИ для кода

Сохраняйте соглашения о координатах на всём пути изменения

ArcNerine предоставляет для работы с координатным кодом среду Windows для изучения исходников и обсуждения с ИИ. Добавьте файлы проекта и объясните смысл входных чисел перед запросом изменения реализации. Единицы, порядок координат и допустимые диапазоны — часть поведения, поэтому их следует указывать в запросе вместе с изменяемым вычислением.

Пример центрального угла на единичной сфере — полезная задача проверки. Попросите подключённую модель проследить вход в градусах через процедуру, возвращающую радианы, затем изучить использование результата вызывающим кодом. Сравните совпадающие и противоположные положения и обсудите отклонение неконечных значений. Совместный разбор этих случаев помогает выявить изменение допущений интерфейса, а не только арифметики.

Проверяйте предложенную правку с учётом валидации входа и потребителя вывода. Выполните эталонные случаи проекта и явно проверьте правила преобразования или отображения. Модель без фильтрации может помогать, если она доступна через поддерживаемую конечную точку, совместимую с OpenAI, или конечную точку Anthropic, настроенную с нужными учётными данными. Инструменты и пределы контекста определяются моделью и сервером. Цель — изменение приложения с согласованными соглашениями; иллюстративная геометрическая задача даёт конкретный способ проверки.

Вопросы о координатах при проверке кода

Является ли вывод примера расстоянием в километрах?

Это центральный угол в радианах на единичной сфере. Интерпретация как физического расстояния требует дополнительной модели и выбора радиуса. Проверьте вызывающий код, чтобы он не обозначал угловой результат как расстояние без явного преобразования.

Что указать о широте и долготе?

Задайте их порядок, единицы и поддерживаемые диапазоны, затем включите ожидания в тестовые данные. Попросите помощника изучить источник данных и потребителя вместе с функцией: переставленный аргумент всё ещё может быть допустимым числом.

Какие положения полезны как эталонные случаи?

Используйте совпадающие и антиподальные положения вместе с простым промежуточным случаем с известным углом. Отдельно проверьте отклонение неконечного входа и выхода за диапазон, чтобы успешный геометрический результат не скрывал ослабления входной границы.

Должно ли ограничение численного диапазона заменять валидацию входа?

Нет. Изучите причину численного ограничения и сохраняйте явные проверки допустимых координат. Обработка округления внутри вычисления отличается от принятия недопустимого входа приложения; оба поведения следует тестировать по собственным заявленным требованиям.

Скачать для Windows ↗

ArcNerine · Обновлено 2026-10-25