BBarySlate
İş akışları

Kodlama iş akışları · Kesin barisentrik koordinatlar

03
Ürün

İş akışları

Koordinat büyüklükleri en fazla 10000 olan üç tamsayı köşe ve bir tamsayı nokta için kesin barisentrik ağırlıkları hesaplayın. Köşeyi ve dış noktayı sınayın; doğrudaş köşeleri reddedip ağırlıkların noktayı yeniden oluşturduğunu doğrulayın.

01

Uygulamayı indirin

Bir klasör seçin ve düzenlemeden önce ilgili dosyaları okumasını asistandan isteyin. Görevin hedefini ve sınırlarını belirleyin.

02

Proje klasörünü açın

Uyumlu bir endpoint seçin. Kullanılabilir araçlar ve yanıt kalitesi, yapılandırılan modele ve sunucuya bağlıdır.

03

Modeli bağlayıp test edin

Değişiklikleri ve komut çıktılarını inceleyin. Sonucu kabul etmeden önce proje kontrollerini çalıştırın; üretilen kod otomatik olarak test edilmiş değildir.

04

Değişiklikleri inceleyip testleri çalıştırın

Gerçek davranışı beklenen sonuçla karşılaştırın. Bir kontrol başarısız olursa yeni değişikliklerden önce nedenini araştırın.

Kesin barisentrik koordinatlar

İş akışları
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

Uygulamadan önce inceleyin. Değişiklikleri ve komut çıktılarını inceleyin. Sonucu kabul etmeden önce proje kontrollerini çalıştırın; üretilen kod otomatik olarak test edilmiş değildir.

Yapay zekâ ile kod çalışma alanı

Bir sonraki fikriniz burada başlar.

Windows için indir ↗