Yönlü çokgen alanı
Koordinat büyüklükleri en fazla 1000000 olan 3–256 tam sayı köşesi için yönlü alanın iki katını döndür.
def signed_double_area(points):
if type(points) not in (list, tuple) or not 3 <= len(points) <= 256:
raise ValueError("polygon.count")
for p in points:
if type(p) not in (list, tuple) or len(p) != 2 or any(type(v) is not int or abs(v) > 10**6 for v in p):
raise ValueError("polygon.coordinate")
return sum(a[0]*b[1]-a[1]*b[0] for a,b in zip(points, points[1:]+points[:1]))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.
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
Ters sırayı ve doğrudaşlığı dene, öz kesişimleri cebirsel yorumla ve bozuk koordinatları reddet.
def signed_double_area(points):
if type(points) not in (list, tuple) or not 3 <= len(points) <= 256:
raise ValueError("polygon.count")
for p in points:
if type(p) not in (list, tuple) or len(p) != 2 or any(type(v) is not int or abs(v) > 10**6 for v in p):
raise ValueError("polygon.coordinate")
return sum(a[0]*b[1]-a[1]*b[0] for a,b in zip(points, points[1:]+points[:1]))Koordinat kurallarını onları kullanan kodla ilişkilendirin
ShoalMetric, hesaplamaları bunları kullanan uygulamanın bağlamında tartışmak için bir Windows yapay zekâ kodlama çalışma alanıdır. Proje klasörünü seçin; koordinat kuralını, beklenen çıktıyı ve uygulamanın reddetmesi gereken durumları açıklayın. Bağlı asistandan değişiklik önermeden önce doğrulamayı ve tüketici kodu incelemesini isteyin. Böylece geometri görevinin anlamı tek bir formülde kalmaz, somut bir yazılım sınırı kazanır.
polygon.py ile ilgili bir görevde, nokta sırasını ters çevirmenin işaretli alan sonucunu neden değiştirdiği sorulabilir. Örnek bir çokgen getirin ve çağıran kodun yönelime, mutlak büyüklüğe veya başka bir gösterime mi ihtiyaç duyduğunu belirtin. Önerilen düzenlemeyi, köşelerin geliş sırası da dahil olmak üzere bu gereksinime göre inceleyin. Yararlı sonuç, uygulamanın kullandığı her yerde üzerinde anlaşılmış bir anlam taşıyan sonuç üreten koddur.
İncelemeden sonra basit bir şekil, ters sıra ve sözleşmenizin ele aldığı dejenere durumlarla proje kontrollerinizi çalıştırın. Hesaplamayı ve sonraki davranışı karşılaştırın, tutarsızlıkları görüşmeye geri getirin. ShoalMetric, gerektiğinde kimlik bilgileriyle OpenAI uyumlu veya Anthropic model bağlantılarını destekler. Sunulduğunda, sağlayıcı kurallarına tabi olarak kısıtlamasız bir model seçebilirsiniz; araçlar, bağlam kapasitesi ve yanıt kısıtlamaları yine yapılandırılan modele ve sunucuya bağlıdır. Beklenen geometrik davranışı doğrulamak size düşer.
Çalışma alanında netleştirilecek geometri varsayımları
Negatif alan sonucu hata sayılmalı mı?
Bu, çağıran kodun yönelimi korumak için işaretli bir nicelik kullanıp kullanmadığına bağlıdır. İşareti değiştirmeden veya mutlak büyüklüğü almadan önce gereken anlamı belirtin ve sonucu kullanan kod üzerindeki etkiyi kontrol edin.
Teste neden ters köşe sırası eklenmeli?
Yönelimin sözleşmenin parçası olup olmadığını ve uygulamanın bunu koruyup korumadığını ortaya çıkarır. Sonucu bağımsız olarak bilinen bir şekil kullanın; ters dizi için hem sayısal çıktıyı hem çağıran kodun davranışını inceleyin.
Örnek, mümkün olan her çokgeni doğrular mı?
Bir alan hesabından bunu çıkarmayın. Uygulamanız kesişim veya başka geometrik özellik kontrolleri gerektiriyorsa bunları ayrı belirtin ve hesabın bunları sağladığını varsaymak yerine ilgili uygulamayı inceleyin.
Koordinat sınırlarını nasıl seçmeliyim?
Uygulamanızın ve sayısal gösteriminizin kısıtlarını kullanın. Asistana sınırları bildirin, nasıl uygulandıklarını inceleyin ve sınırlara yakın değerleri test edin. Örnek koddaki sınırlar farklı bir veri ölçeği için doğruluk veya performans kanıtlamaz.
ShoalMetric · Güncellendi 2026-10-25