Orientovaný obsah mnohoúhelníku
Vrať dvojnásobek orientovaného obsahu pro 3–256 celočíselných vrcholů se souřadnicemi do absolutní hodnoty 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]))Před použitím zkontrolujte
Porovnejte skutečné chování s očekávaným výsledkem. Pokud kontrola selže, před dalšími změnami zjistěte příčinu.
Modely
Nastavte endpoint kompatibilní s OpenAI nebo Anthropic pomocí základní URL a případného API klíče. Otestujte připojení. Lokální server modelu musí běžet; vzdálené nástroje mohou data odesílat samostatně.
Projekt
Otestuj obrácené pořadí a kolinearitu, samoprotínání vyhodnoť algebraicky a odmítni chybné souřadnice.
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]))Propojte souřadnicové konvence s kódem, který je používá
ShoalMetric je pracovní prostředí pro programování s AI ve Windows, ve kterém můžete probírat výpočty v kontextu aplikace, jež je používá. Vyberte složku projektu a popište souřadnicovou konvenci, očekávaný výstup a případy, které musí aplikace odmítnout. Než připojený asistent navrhne změny, požádejte ho o prověření validace a kódu využívajícího výsledky. Geometrická úloha tak dostane konkrétní softwarové vymezení a její význam nezůstane skrytý v izolovaném vzorci.
U úlohy týkající se polygon.py se můžete ptát, proč obrácení pořadí bodů mění výsledek orientovaného obsahu. Dodejte příklad mnohoúhelníku a určete, zda volající potřebuje orientaci, absolutní velikost, nebo jinou reprezentaci. Posuďte navrženou úpravu podle tohoto požadavku včetně pořadí, v němž vrcholy přicházejí. Užitečným výsledkem je kód, jehož výstup má dohodnutý význam všude, kde ho aplikace používá.
Po prozkoumání spusťte kontroly projektu s jednoduchým tvarem, obráceným pořadím a degenerovanými případy, které specifikace řeší. Porovnejte výpočet i navazující chování a nesrovnalosti vraťte do konverzace. ShoalMetric podporuje připojení k modelům kompatibilním s OpenAI nebo k Anthropic, podle potřeby s přihlašovacími údaji. Neomezený model můžete zvolit, je-li dostupný a dovolují-li to pravidla poskytovatele; nástroje, kapacita kontextu a omezení odpovědí stále závisejí na nastaveném modelu a serveru. Ověření očekávaného geometrického chování zůstává na vás.
Geometrické předpoklady k vyjasnění v pracovním prostředí
Má se záporný obsah považovat za chybu?
Záleží na tom, zda volající používá veličinu se znaménkem k zachování orientace. Než změníte znaménko nebo použijete absolutní hodnotu, určete požadovaný význam a ověřte dopad na kód využívající výsledek.
Proč do testu zahrnout obrácené pořadí vrcholů?
Odhalí, zda je orientace součástí specifikace a zda ji implementace zachovává. Použijte tvar s nezávisle známým výsledkem a u obrácené posloupnosti prověřte číselný výstup i chování volajícího.
Ověřuje příklad každý možný mnohoúhelník?
Ze samotného výpočtu obsahu to nevyvozujte. Pokud aplikace potřebuje kontrolovat průsečíky nebo jiné geometrické vlastnosti, určete tyto požadavky zvlášť a prověřte příslušnou implementaci místo předpokladu, že je výpočet zaručuje.
Jak mám zvolit meze souřadnic?
Vycházejte z omezení aplikace a číselné reprezentace. Sdělte asistentovi tyto meze, prozkoumejte jejich vynucování a otestujte hodnoty v jejich blízkosti. Meze ukázkového kódu nezaručují přesnost ani výkon pro jiný rozsah dat.
ShoalMetric · Aktualizováno 2026-10-25