BBarySlate
Spațiu de programare cu AI

Coordonate baricentrice exacte

Calculează ponderi baricentrice exacte pentru trei vârfuri întregi și un punct întreg cu modulele coordonatelor până la 10000.

● ● ●BarySlate●
Fluxuri de lucru · Coordonate baricentrice exacte ×
from fractions import Fraction

def barycentric(vertices, point):
    vertices, point = tuple(tuple(v) for v in vertices), tuple(point)
    if len(vertices) != 3 or any(len(v) != 2 for v in vertices) or len(point) != 2:
        raise ValueError("triangle.shape")
    if any(type(c) is not int or abs(c) > 10000 for v in vertices + (point,) for c in v):
        raise ValueError("coordinate.range")
    (x0, y0), (x1, y1), (x2, y2) = vertices
    x, y = point
    den = (y1-y2)*(x0-x2) + (x2-x1)*(y0-y2)
    if den == 0:
        raise ValueError("triangle.degenerate")
    a = Fraction((y1-y2)*(x-x2) + (x2-x1)*(y-y2), den)
    b = Fraction((y2-y0)*(x-x2) + (x0-x2)*(y-y2), den)
    return a, b, 1-a-b
✳Calculează ponderi baricentrice exacte pentru trei vârfuri întregi și un punct întreg cu modulele coordonatelor până la 10000.
✓ ModificăriVerifică înainte de aplicare ↗
Ilustrarea spațiului de lucru
ProiectTestează un vârf și un punct exterior, respinge vârfuri coliniare și verifică reconstruirea punctului.
Verifică înainte de aplicareCompară comportamentul real cu rezultatul așteptat. Dacă o verificare eșuează, cercetează cauza înainte de alte modificări.
ModeleConfigurează 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.
Fluxuri de lucru

Coordonate baricentrice exacte

Fluxuri de lucru ↗
Fluxuri de lucru
from fractions import Fraction

def barycentric(vertices, point):
    vertices, point = tuple(tuple(v) for v in vertices), tuple(point)
    if len(vertices) != 3 or any(len(v) != 2 for v in vertices) or len(point) != 2:
        raise ValueError("triangle.shape")
    if any(type(c) is not int or abs(c) > 10000 for v in vertices + (point,) for c in v):
        raise ValueError("coordinate.range")
    (x0, y0), (x1, y1), (x2, y2) = vertices
    x, y = point
    den = (y1-y2)*(x0-x2) + (x2-x1)*(y0-y2)
    if den == 0:
        raise ValueError("triangle.degenerate")
    a = Fraction((y1-y2)*(x-x2) + (x2-x1)*(y-y2), den)
    b = Fraction((y2-y0)*(x-x2) + (x0-x2)*(y-y2), den)
    return a, b, 1-a-b
Spațiu de programare cu AI

Transformă o cerință geometrică în modificări de cod verificabile

BarySlate este un spațiu de lucru Windows pentru programare, în care discuți codul sursă legat de geometrie cu un model IA conectat de tine. Începe cu sistemul de coordonate și rezultatul necesar aplicației. O descriere precisă a acestor convenții menține utilitatea conversației când un rezultat plauzibil vizual poate avea totuși semnul, ordinea sau reprezentarea numerică greșită.

Exemplul coordonatelor baricentrice ale triunghiului oferă o sarcină specifică proiectului: examinarea ponderilor cu semn și respingerea unui triunghi degenerat. Cere modelului să examineze funcția împreună cu codul care folosește ponderile. Explică dacă apelantul are nevoie de fracții exacte sau de altă reprezentare înainte să soliciți o modificare care ar putea schimba interfața.

Examinează propunerea folosind vârfurile, un punct interior și unul exterior, cu rezultate așteptate stabilite independent. Include un caz degenerat și verifică traseul său prin tratarea erorilor. Rulează aceste cazuri cu instrumentele proiectului și examinează și comportamentul codului care folosește rezultatele; modificarea tratării punctelor exterioare poate afecta mai mult decât calculul în sine.

Un model de IA fără restricții poate fi selectat doar dacă este disponibil prin endpointul acceptat compatibil cu OpenAI sau Anthropic. Furnizează credențiale dacă sunt necesare și verifică suportul pentru context și instrumente. Restricțiile modelului selectat se aplică în continuare, iar BarySlate oferă modificărilor propuse un context concret de proiect în care le poți evalua.

Înainte de acceptarea unei propuneri de cod geometric

Ce ar trebui să precizez despre punctele din afara triunghiului?

Precizează dacă sunt așteptate ponderi cu semn și cum le folosește apelantul. Nu presupune că un punct exterior este nevalid doar pentru că o pondere este negativă. Include un caz de test cu un punct exterior, rezultatul dorit și comportamentul codului care îl folosește.

De ce să menționez fracțiile exacte în cerere?

Schimbarea tipului returnat poate modifica comparațiile, serializarea și calculele ulterioare. Dacă proiectul depinde de valori exacte, precizează explicit cerința. Examinează orice conversie propusă la valori în virgulă mobilă împreună cu apelanții care le-ar primi.

Ce cazuri ajută la izolarea unei greșeli în ordinea coordonatelor?

Începe cu fiecare vârf și ponderile sale așteptate, apoi cu un punct interior cu rezultat cunoscut. Precizează explicit ordinea vârfurilor în cazul de test. Aceste cazuri pot dezvălui ipoteze despre ordine ascunse de un singur triunghi randat.

Poate BarySlate confirma corectitudinea geometriei randate?

Folosește mediul de randare și verificările proiectului pentru a stabili acest lucru. Spațiul de lucru permite discutarea codului și propunerea de modificări. Compară cazurile numerice de test cu comportamentul vizibil, fără să consideri explicația modelului sau o singură imagine drept verificare completă.

Descarcă pentru Windows ↗

BarySlate · Actualizat 2026-10-25