Aria orientată a poligoanelor
Întoarce dublul ariei orientate pentru 3–256 vârfuri întregi cu coordonate de modul cel mult 1000000.
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]))Verifică înainte de aplicare
Compară comportamentul real cu rezultatul așteptat. Dacă o verificare eșuează, cercetează cauza înainte de alte modificări.
Modele
Configurează un endpoint compatibil OpenAI sau Anthropic cu URL-ul de bază și cheia API, dacă este necesară. Testează conexiunea. Serverul local trebuie să ruleze; instrumentele externe pot transmite date separat.
Proiect
Testează ordinea inversă și coliniaritatea, tratează algebric autointersecțiile și respinge coordonatele incorecte.
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]))Leagă convențiile coordonatelor de codul care le folosește
ShoalMetric este un spațiu de programare cu IA pentru Windows în care poți discuta calcule în contextul aplicației care le consumă. Selectează dosarul proiectului și descrie convenția coordonatelor, ieșirea așteptată și cazurile pe care aplicația trebuie să le respingă. Cere asistentului conectat să examineze validarea și codul consumator înainte de a sugera modificări. Astfel, sarcina geometrică primește o delimitare software concretă, iar sensul ei nu rămâne ascuns într-o formulă izolată.
O sarcină care implică polygon.py ar putea investiga de ce inversarea ordinii punctelor schimbă rezultatul ariei cu semn. Oferă un poligon exemplu și precizează dacă apelantul are nevoie de orientare, valoare absolută sau altă reprezentare. Analizează modificarea propusă în raport cu acea cerință, inclusiv ordinea în care sosesc vârfurile. Rezultatul util este un cod al cărui rezultat are un sens convenit oriunde îl folosește aplicația.
După analiză, rulează verificările proiectului cu o formă simplă, ordinea inversată și cazurile degenerate prevăzute de contract. Compară calculul și comportamentul ulterior, apoi readu neconcordanțele în conversație. ShoalMetric acceptă conexiuni la modele compatibile OpenAI sau Anthropic, cu acreditări când sunt necesare. Poți alege un model fără restricții unde este disponibil, sub rezerva regulilor furnizorului; instrumentele, capacitatea contextului și restricțiile răspunsurilor depind în continuare de modelul și serverul configurate. Verificarea comportamentului geometric așteptat îți revine.
Ipoteze geometrice de stabilit în spațiul de lucru
Un rezultat negativ al ariei trebuie tratat ca eroare?
Depinde dacă apelantul folosește o mărime cu semn pentru a păstra orientarea. Precizează sensul necesar înainte de a schimba semnul sau de a lua valoarea absolută, apoi verifică efectul asupra codului care consumă rezultatul.
De ce să includ ordinea inversată a vârfurilor într-un test?
Arată dacă orientarea face parte din contract și dacă implementarea o păstrează. Folosește o formă cu rezultat cunoscut independent, apoi examinează atât ieșirea numerică, cât și comportamentul apelantului pentru secvența inversată.
Exemplul validează orice poligon posibil?
Nu deduce asta dintr-un calcul al ariei. Dacă aplicația are nevoie de verificări pentru intersecții sau alte proprietăți geometrice, precizează separat aceste cerințe și examinează implementarea relevantă în loc să presupui că sunt stabilite prin calcul.
Cum aleg limitele coordonatelor?
Folosește constrângerile aplicației și ale reprezentării numerice. Comunică-i asistentului aceste limite, verifică modul în care sunt impuse și testează valori apropiate de ele. Limitele din codul exemplu nu stabilesc precizia sau performanța pentru o altă scară a datelor.
ShoalMetric · Actualizat 2026-10-25