BBarySlate
Pracovní postupy

Pracovní postupy s kódem · Přesné barycentrické souřadnice

03
Produkt

Pracovní postupy

Spočítejte přesné barycentrické váhy pro tři celočíselné vrcholy a bod se souřadnicemi v absolutní hodnotě nejvýše 10000. Ověřte vrchol a vnější bod, odmítněte kolineární vrcholy a zkontrolujte rekonstrukci bodu.

01

Stáhněte aplikaci

Vyberte složku a před úpravou nechte asistenta přečíst příslušné soubory. Určete cíl i hranice úkolu.

02

Otevřete složku projektu

Zvolte kompatibilní endpoint. Dostupné nástroje a kvalita odpovědí závisí na nastaveném modelu a serveru.

03

Připojte a otestujte model

Kontrolujte změny a výstupy příkazů. Před přijetím výsledku spusťte kontroly projektu; vytvořený kód není automaticky otestovaný.

04

Zkontrolujte změny a spusťte testy

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.

Přesné barycentrické souřadnice

Pracovní postupy
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

Před použitím zkontrolujte. Kontrolujte změny a výstupy příkazů. Před přijetím výsledku spusťte kontroly projektu; vytvořený kód není automaticky otestovaný.

Pracovní prostředí s AI pro kód

Váš další nápad začíná zde.

Stáhnout pro Windows ↗