AArcNerine
Ruang kerja kode dengan AI

Sudut pusat pada bola satuan

Kembalikan sudut pusat dalam radian antara posisi bola dengan lintang dalam ±90 dan bujur dalam ±180 derajat.

● ● ●ArcNerine●
Alur kerja · Sudut pusat pada bola satuan ×
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))))
✳Kembalikan sudut pusat dalam radian antara posisi bola dengan lintang dalam ±90 dan bujur dalam ±180 derajat.
✓ PerubahanTinjau sebelum menerapkan ↗
Ilustrasi ruang kerja
  1. Model

    Atur endpoint kompatibel OpenAI atau Anthropic dengan URL dasar dan kunci API jika diperlukan. Uji koneksi. Server model lokal harus berjalan; alat jarak jauh dapat mengirim data secara terpisah.

  2. Proyek

    Uji titik sama dan antipoda, tolak koordinat tak berhingga tanpa mengasumsikan jari-jari Bumi.

  3. Tinjau sebelum menerapkan

    Bandingkan perilaku sebenarnya dengan hasil yang diharapkan. Jika pemeriksaan gagal, cari penyebabnya sebelum membuat perubahan lain.

Alur kerja

Sudut pusat pada bola satuan

Alur kerja ↗
Alur kerja
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))))
Ruang kerja kode dengan AI

Pertahankan konvensi koordinat sepanjang perubahan

ArcNerine menyediakan ruang kerja Windows untuk pemeriksaan sumber dan percakapan AI bagi pekerjaan perangkat lunak terkait koordinat. Sertakan berkas proyek dan jelaskan makna angka masukan sebelum meminta perubahan implementasi. Satuan, urutan koordinat, dan rentang yang diterima merupakan bagian perilaku, sehingga harus ada dalam permintaan bersama perhitungan yang ingin disesuaikan.

Contoh sudut pusat bola satuan menyediakan tugas peninjauan yang berguna. Minta model terhubung menelusuri masukan dalam derajat melalui rutin yang mengembalikan radian, lalu periksa cara pemanggil menggunakan hasil. Bandingkan posisi berimpit dan berlawanan serta bahas penolakan nilai tak berhingga atau bukan bilangan berhingga. Menjaga kasus tersebut bersama-sama membantu mengungkap saat perubahan kode mengubah asumsi antarmuka, bukan hanya aritmetika.

Tinjau usulan tambalan sambil memperhatikan pemeriksaan masukan dan kode pengguna keluaran. Jalankan kasus acuan proyek dan verifikasi setiap konversi atau aturan tampilan secara eksplisit. Model tanpa filter dapat membantu jika tersedia melalui endpoint kompatibel OpenAI atau endpoint Anthropic yang didukung, dikonfigurasi dengan kredensial yang diperlukan. Alat dan batas konteks berasal dari model serta server tersebut. Tujuannya adalah perubahan aplikasi dengan konvensi tetap konsisten, sementara tugas geometri ilustratif menyediakan cara konkret untuk memeriksa pekerjaan.

Pertanyaan koordinat untuk peninjauan kode

Apakah keluaran contoh berupa jarak dalam kilometer?

Keluaran berupa sudut pusat dalam radian pada bola satuan. Penafsiran sebagai jarak fisik memerlukan model tambahan dan pilihan jari-jari. Tinjau pemanggil agar tidak melabeli hasil sudut sebagai jarak tanpa konversi eksplisit tersebut.

Apa yang perlu saya tentukan tentang lintang dan bujur?

Nyatakan urutan, satuan, dan rentang yang didukung, lalu sertakan ekspektasi itu dalam data uji. Minta asisten memeriksa sumber data dan kode pengguna selain fungsi, karena argumen yang tertukar masih bisa berupa angka valid.

Posisi mana yang berguna sebagai kasus acuan?

Gunakan posisi berimpit dan antipodal bersama kasus antara sederhana yang sudut harapannya diketahui. Periksa penolakan masukan tak berhingga, bukan bilangan berhingga, dan di luar rentang secara terpisah agar hasil geometri yang berhasil tidak menyembunyikan pelonggaran batas masukan.

Haruskah penjepitan nilai menggantikan validasi masukan?

Tidak. Tinjau alasan penjepitan numerik diterapkan dan pertahankan pemeriksaan koordinat yang diterima secara eksplisit. Penanganan pembulatan di dalam perhitungan berbeda dari menerima masukan aplikasi yang tidak valid, dan kedua perilaku harus diuji menurut persyaratannya masing-masing.

Unduh untuk Windows ↗

ArcNerine · Diperbarui 2026-10-25