Birim kürede merkez açıları
Enlemleri ±90, boylamları ±180 derece içindeki küresel konumlar arasında merkez açıyı radyan olarak döndürün.
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))))Modeller
Temel URL ve gerekiyorsa API anahtarıyla OpenAI uyumlu veya Anthropic endpoint yapılandırın. Bağlantıyı test edin. Yerel model sunucusu çalışıyor olmalıdır; uzak araçlar ayrıca veri aktarabilir.
Proje
Çakışan ve karşıt noktaları sınayın; Dünya yarıçapı varsaymadan sonlu olmayan koordinatları reddedin.
Uygulamadan önce inceleyin
Gerçek davranışı beklenen sonuçla karşılaştırın. Bir kontrol başarısız olursa yeni değişikliklerden önce nedenini araştırın.
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))))Koordinat kurallarını tüm değişiklik boyunca koruyun
ArcNerine, koordinatla ilgili yazılım çalışmasına kaynak incelemesi ve yapay zeka görüşmesi için bir Windows çalışma alanı sağlar. Uygulama değişikliği istemeden önce proje dosyalarını getirin ve gelen sayıların neyi temsil ettiğini açıklayın. Birimler, koordinat sırası ve kabul edilen aralıklar davranışın parçasıdır; bu yüzden ayarlamak istediğiniz hesaplamayla birlikte istekte yer almalıdır.
Birim kürede merkez açı örneği yararlı bir inceleme görevi sunar. Bağlı modelden derece cinsinden girdiyi radyan döndüren yordam boyunca izlemesini, ardından çağıran kodun bu sonucu nasıl kullandığını incelemesini isteyin. Çakışan ve karşıt konumları karşılaştırın, sonlu olmayan değerlerin reddedilmesini tartışın. Bu durumları birlikte tutmak, kod düzenlemesinin yalnızca aritmetiği değil, bir arayüz varsayımını ne zaman değiştirdiğini ortaya çıkarmaya yardımcı olur.
Önerilen yamayı girdi denetimlerini ve çıktı tüketicisini göz önünde tutarak inceleyin. Projenizin referans durumlarını çalıştırın ve dönüşüm veya gösterim kurallarını açıkça doğrulayın. Gerekli kimlik bilgileriyle yapılandırılmış, desteklenen bir OpenAI uyumlu veya Anthropic uç noktası üzerinden sunulduğunda filtresiz bir model yardımcı olabilir. Araçlar ve bağlam sınırları o modelden ve sunucudan gelir. Amaç, kuralları tutarlı kalan bir uygulama değişikliğidir; örnek geometri görevi çalışmayı denetlemek için somut bir yol sağlar.
Kod incelemesi için koordinat soruları
- Örneğin çıktısı kilometre cinsinden mesafe mi?
Birim kürede radyan cinsinden merkez açıdır. Fiziksel mesafe yorumu, ek bir model ve yarıçap seçimi gerektirir. Çağıran kodu inceleyin; açık dönüşüm olmadan açısal sonucu mesafe diye etiketlemesin.
- Enlem ve boylam hakkında ne belirtmeliyim?
Sıralarını, birimlerini ve desteklenen aralıklarını belirtin, ardından bu beklentileri test verilerine ekleyin. Yer değiştirmiş bir argüman yine geçerli bir sayı olabileceği için asistandan işlevin yanı sıra veri kaynağını ve tüketiciyi incelemesini isteyin.
- Hangi konumlar yararlı referans durumlarıdır?
Beklenen açısı bilinen basit bir ara durumla birlikte çakışan ve zıt konumlar kullanın. Başarılı bir geometrik sonucun zayıflamış girdi sınırını gizlememesi için reddedilen sonlu olmayan ve aralık dışı girdileri ayrı denetleyin.
- Değeri sınırlama, girdi doğrulamanın yerini almalı mı?
Hayır. Sayısal sınırlamanın neden bulunduğunu inceleyin ve kabul edilen koordinat denetimlerini açık tutun. Hesaplama içindeki yuvarlamayı ele almak, geçersiz uygulama girdisini kabul etmekten farklıdır; iki davranış da kendi belirtilen gereksinimlerine göre test edilmelidir.
ArcNerine · Güncellendi 2026-10-25