AArcNerine
Робоче середовище з ШІ для коду

Центральні кути одиничної сфери

Поверніть у радіанах центральний кут між точками сфери з широтами в ±90 і довготами в ±180 градусів.

● ● ●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. Моделі

    Налаштуйте OpenAI-сумісний або Anthropic endpoint із базовою URL-адресою та API-ключем, якщо він потрібен. Перевірте з’єднання. Локальний сервер моделі має працювати; віддалені інструменти можуть окремо передавати дані.

  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 для перевірки коду й обговорення з ШІ. Додайте файли проєкту й поясніть значення вхідних чисел перед запитом зміни реалізації. Одиниці, порядок координат і допустимі діапазони є частиною поведінки, тож мають бути в запиті разом з обчисленням, яке потрібно скоригувати.

Приклад центрального кута одиничної сфери дає корисне завдання перевірки. Попросіть підключену модель простежити вхід у градусах через процедуру, що повертає радіани, а потім дослідити використання результату кодом виклику. Порівняйте однакові й протилежні положення та обговоріть відхилення нескінченних значень і NaN. Сукупність цих випадків допомагає виявити, коли редагування змінює припущення інтерфейсу, а не лише арифметику.

Перевірте запропоноване виправлення з урахуванням валідації входу й споживача виходу. Запустіть еталонні випадки проєкту та явно перевірте кожне правило перетворення або відображення. Модель без фільтрів може допомогти, якщо вона доступна через підтримувану кінцеву точку, сумісну з OpenAI, або Anthropic, налаштовану з потрібними обліковими даними. Інструменти й межі контексту визначаються моделлю та сервером. Мета — зміна програми зі збереженням узгоджених домовленостей, а ілюстративне геометричне завдання дає конкретний спосіб перевірити роботу.

Координатні запитання для перевірки коду

Чи є вихід прикладу відстанню в кілометрах?

Це центральний кут у радіанах на одиничній сфері. Тлумачення як фізичної відстані потребує додаткової моделі й вибору радіуса. Перевірте код виклику, щоб він не позначав кутовий результат як відстань без такого явного перетворення.

Що зазначити про широту й довготу?

Вкажіть їх порядок, одиниці й підтримувані діапазони, а потім додайте ці очікування до тестових даних. Попросіть помічника дослідити джерело даних і споживача разом із функцією, оскільки переставлений аргумент усе ще може бути допустимим числом.

Які положення корисні як еталонні випадки?

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

Чи має обмеження числового значення замінювати валідацію входу?

Ні. Перевірте, навіщо застосовано числове обмеження, і залиште перевірки допустимих координат явними. Обробка округлення всередині обчислення відрізняється від прийняття некоректного входу програми; обидві поведінки слід тестувати за власними визначеними вимогами.

Завантажити для Windows ↗

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