Georiënteerde veelhoekoppervlakte
Bereken tweemaal de georiënteerde oppervlakte van 3–256 gehele hoekpunten met coördinaatgroottes tot 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]))Controleer vóór het toepassen
Vergelijk het werkelijke gedrag met het verwachte resultaat. Onderzoek een mislukte controle voordat je verdergaat met wijzigingen.
Modellen
Stel een OpenAI-compatibel of Anthropic-endpoint in met de basis-URL en zo nodig een API-sleutel. Test de verbinding. Een lokale modelserver moet actief zijn; externe hulpmiddelen kunnen apart gegevens versturen.
Project
Test omgekeerde volgorde en collineariteit, behandel zelfkruisingen algebraïsch en weiger ongeldige coördinaten.
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]))Verbind coördinaatconventies met de code die ze gebruikt
ShoalMetric is een AI-programmeerwerkruimte voor Windows om berekeningen te bespreken in de context van de toepassing die ze gebruikt. Selecteer de projectmap en beschrijf de coördinaatconventie, verwachte uitvoer en gevallen die de toepassing moet afwijzen. Vraag de verbonden assistent validatie en gebruikende code te onderzoeken voordat hij wijzigingen voorstelt. Zo krijgt een geometrietaak een concrete softwaregrens en blijft de betekenis niet opgesloten in een losse formule.
Bij een taak rond polygon.py kun je vragen waarom het omkeren van de puntvolgorde het resultaat voor een oppervlakte met teken verandert. Geef een voorbeeldveelhoek en vermeld of de aanroepende code oriëntatie, grootte of een andere weergave nodig heeft. Beoordeel de voorgestelde wijziging aan de hand van die eis, inclusief de volgorde waarin hoekpunten binnenkomen. Het nuttige resultaat is code waarvan de uitkomst overal waar de toepassing die gebruikt een afgesproken betekenis heeft.
Voer na het onderzoek je projectcontroles uit met een eenvoudige vorm, omgekeerde volgorde en de ontaarde gevallen die je contract behandelt. Vergelijk de berekening en het verdere gedrag en bespreek afwijkingen opnieuw. ShoalMetric ondersteunt OpenAI-compatibele of Anthropic-modelverbindingen met inloggegevens waar nodig. Je kunt waar beschikbaar een onbeperkt model kiezen, onder voorbehoud van de regels van de aanbieder; tools, contextcapaciteit en antwoordbeperkingen blijven afhankelijk van het ingestelde model en de server. Het verwachte geometrische gedrag moet je zelf verifiëren.
Geometrische aannames om in de werkruimte vast te leggen
Moet een negatief oppervlakteresultaat als fout worden behandeld?
Dat hangt ervan af of de aanroepende code een grootheid met teken gebruikt om oriëntatie te behouden. Specificeer de vereiste betekenis voordat je het teken verandert of de absolute waarde neemt, en controleer daarna het effect op code die het resultaat gebruikt.
Waarom omgekeerde hoekpuntvolgorde in een test opnemen?
Die laat zien of oriëntatie onderdeel van het contract is en of de implementatie die behoudt. Gebruik een vorm met een onafhankelijk bekend resultaat en onderzoek zowel de numerieke uitvoer als het gedrag van de aanroepende code voor de omgekeerde reeks.
Valideert het voorbeeld elke mogelijke veelhoek?
Leid dat niet af uit een oppervlakteberekening. Als je toepassing controles op snijpunten of andere geometrische eigenschappen nodig heeft, vermeld die eisen dan afzonderlijk en onderzoek de relevante implementatie in plaats van aan te nemen dat de berekening die vaststelt.
Hoe kies ik coördinaatgrenzen?
Gebruik de beperkingen van je toepassing en numerieke representatie. Vertel de assistent die limieten, onderzoek hoe ze worden afgedwongen en test waarden in de buurt ervan. Grenzen in voorbeeldcode garanderen geen nauwkeurigheid of prestaties bij een andere dataschaal.
ShoalMetric · Bijgewerkt 2026-10-25