SShoalMetric
Spațiu de programare cu AI

Aria orientată a poligoanelor

Întoarce dublul ariei orientate pentru 3–256 vârfuri întregi cu coordonate de modul cel mult 1000000.

● ● ●ShoalMetric●
Fluxuri de lucru · Aria orientată a poligoanelor ×
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]))
✳Întoarce dublul ariei orientate pentru 3–256 vârfuri întregi cu coordonate de modul cel mult 1000000.
✓ ModificăriVerifică înainte de aplicare ↗
Ilustrarea spațiului de lucru
  1. Verifică înainte de aplicare

    Compară comportamentul real cu rezultatul așteptat. Dacă o verificare eșuează, cercetează cauza înainte de alte modificări.

  2. 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.

  3. Proiect

    Testează ordinea inversă și coliniaritatea, tratează algebric autointersecțiile și respinge coordonatele incorecte.

Fluxuri de lucru

Aria orientată a poligoanelor

Fluxuri de lucru ↗
Fluxuri de lucru
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]))
Spațiu de programare cu AI

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.

Descarcă pentru Windows ↗

ShoalMetric · Actualizat 2026-10-25